'잡동사니'에 해당되는 글 13156건

  1. 2020.12.07 wwmkchroot
  2. 2020.12.07 openHPC x86_64와 aarch64 문서 차이
  3. 2020.12.07 nagios
  4. 2020.12.07 openHPC LBNL NHC
  5. 2020.12.06 앵무새 보러 갔는데
  6. 2020.12.05 지치는 토요일
  7. 2020.12.04 pdsh
  8. 2020.12.04 openHPC 설치 part2?
  9. 2020.12.04 bash $$ 변수, 배열, 반복
  10. 2020.12.04 bash 배열
프로그램 사용/openHPC2020. 12. 7. 17:10

warewulf 유틸리티인데 스크립트였네?

# cat /usr/bin/wwmkchroot
#!/bin/bash
#
#
# Copyright (c) 2001-2003 Gregory M. Kurtzer
#
# Copyright (c) 2003-2011, The Regents of the University of California,
# through Lawrence Berkeley National Laboratory (subject to receipt of any
# required approvals from the U.S. Dept. of Energy).  All rights reserved.
#
# $Id: wwmkchroot 913 2012-04-19 00:33:31Z gmk $

prefix="/usr"
exec_prefix="/usr"
libexecdir="/usr/libexec"


usage() {
    echo "$0 [options] TEMPLATE_NAME PATH"
    echo
    echo "OPTIONS:"
    echo "    -d        Debug output"
    echo "    -g        Disable install GPG checks"
    echo "    -v        Verbose output"
    echo "    -h        Show usage"
    echo
    echo "TEMPLATE_NAME (select one of the following):"
    for i in $libexecdir/warewulf/wwmkchroot/*.tmpl; do
        NAME=`basename $i | sed -e 's/\.tmpl$//'`
        DESC=`grep '^#DESC: ' $i | sed -e 's/#DESC: //'`
        printf "   * %-20s %s\n" "$NAME" "$DESC"
    done
    echo
    echo "PATH:"
    echo "   This is the location where the VNFS will be created"
    echo
    echo "EXAMPLES:"
    echo
    echo " # wwmkchroot rhel-generic /var/chroots/rhel"
    echo " # wwmkchroot debian8-64 /var/chroots/deb8"
    echo
}

unset VERBOSE
unset DEBUG
unset NOGPGCHECK
DEVNULL="/dev/null"

### Argument processing
while getopts ":dhvg" opt; do
    case $opt in
        d)
            VERBOSE=1
            DEBUG=1
            DEVNULL="/dev/stdout"
            set -x
        ;;
        v)
            VERBOSE=1
        ;;
       \?)
            printf "ERROR: $OPTARG not recognized.\n\n" 1>&2
            usage
            exit 1
        ;;
        h)
            usage
            exit 0
        ;;
        g)
            NOGPGCHECK=1
        ;;
    esac
done

shift $((OPTIND-1))

export VNFSTEMPLATE=$1
shift
export CHROOTDIR=$1
shift

if [ -z "$VNFSTEMPLATE" ]; then
    printf "ERROR: Missing VNFS template name\n\n"
    usage
    exit 1
fi

#### Check for template directory
if ! [ -d "$libexecdir/warewulf/wwmkchroot" ]; then
    echo "ERROR: Template directory ($libexecdir/warewulf/wwmkchroot) does not exist!"
    exit 1
fi

pushd $libexecdir/warewulf/wwmkchroot >$DEVNULL

#### Load functions
test -n "$VERBOSE" && printf "\n==== Loading general template functions\n"
if [ -f "./functions" ]; then
    . "./functions"
else
    echo "ERROR: Can not find $libexecdir/warewulf/wwmkchroot/functions"
    exit 1
fi

#### Load OS templates
test -n "$VERBOSE" && printf "\n==== Loading template\n"
if [ -f "$VNFSTEMPLATE.tmpl" ]; then
    test -n "$VERBOSE" && echo "Using $libexecdir/warewulf/wwmkchroot/$VNFSTEMPLATE.tmpl"
    . "$VNFSTEMPLATE.tmpl"
else
    echo "ERROR: Can not find $libexecdir/warewulf/wwmkchroot/$VNFSTEMPLATE.tmpl"
    exit 1
fi

popd >$DEVNULL

if [ -z "$CHROOTDIR" ]; then
    echo "ERROR: You must define the directory to build the chroot"
    usage
    exit 1
fi

#### Running template functions
test -n "$VERBOSE" && printf "\n==== Starting chroot build\n"
for function in $FUNCTIONS; do
    test -n "$VERBOSE" && echo "== Running: $function"
    $function || exit 1
done

 

실행하다 보면 /usr/libexec/warewulf/wwmkchroot/*.tmpl을 건드리는데

# cat centos-8.tmpl
#DESC: Red Hat Enterprise Linux 8

# The general RHEL include has all of the necessary functions, but requires
# some basic variables specific to each chroot type to be defined.

# Use DNF as the package manager
PKG_MGR=dnf
EXTRA_ARGS="--releasever=8"
PLATFORMID="platform:el8"

# Uncomment to disable GPG checks on added repos
# REPO_NOGPGCHECK=1

. include-rhel

# Define the location of the YUM repository
if [ -z "$YUM_MIRROR" ]; then
    if [ -z "$YUM_MIRROR_BASE" ]; then
        YUM_MIRROR_BASE="http://mirror.centos.org/centos-8"
    fi
    YUM_MIRROR="${YUM_MIRROR_BASE}/8/BaseOS/\$basearch/os","${YUM_MIRROR_BASE}/8/AppStream/\$basearch/os","${YUM_MIRROR_BASE}/8/PowerTools/\$basearch/os"
fi

# Install only what is necessary/specific for this distribution
PKGLIST="basesystem bash chkconfig coreutils e2fsprogs ethtool
    filesystem findutils gawk grep initscripts iproute iputils
    net-tools nfs-utils pam psmisc rsync sed setup
    shadow-utils rsyslog tzdata util-linux words
    zlib tar less gzip which util-linux openssh-clients
    openssh-server dhclient pciutils vim-minimal shadow-utils
    strace cronie crontabs cpio wget redhat-release hostname grub2-common glibc-langpack-en"

 

그 경로를 하나씩 내려가다 보니 아래와 같이 BaseOS 다음에 platform architecutre 구분이 들어가게 된다.

mirror.centos.org/centos-8/8/BaseOS/

mirror.centos.org/centos-8/8/BaseOS/aarch64/

mirror.centos.org/centos-8/8/BaseOS/x86_64/

 

해당 부분에 대해서는

$basearch 변수를 사용하는데 그걸 바꾸어서 적용하면 임의로 크로스 플랫폼(?)으로 적용이 가능할 지도 모르겠다.

 

And also need to change $YUM_MIRROR to the local repository.

Corresponds to wwmkchroot written in "3.6 Define compute image for provisioning" of each Usage.

[root@aarch64 /]# export YUM_MIRROR=""/repos/centos-<version>.<release>/BaseOS", "/repos/centos-<version>.<release>/AppStream", "/repos/centos-<version>.<release>-aarch64/PowerTools""
[root@aarch64 /]# wwmkchroot -d centos-<version> $CHROOT

[링크 : https://github.com/NaohiroTamura/cross-sms-aarch64.sh/blob/master/README.md]

 

 

'프로그램 사용 > openHPC' 카테고리의 다른 글

centos kernel update  (0) 2020.12.08
centos kernel이 사라졌다 -ㅁ-  (0) 2020.12.08
openHPC x86_64와 aarch64 문서 차이  (0) 2020.12.07
nagios  (0) 2020.12.07
openHPC LBNL NHC  (0) 2020.12.07
Posted by 구차니
프로그램 사용/openHPC2020. 12. 7. 14:48

나머지는 uname -r로

# uname -r
4.18.0-193.el8.x86_64

커널 버전과 아키텍쳐를 받아와서 티가 안나는데

초기 설치하는 패키지가 다르다.

 

[sms]# yum install http://repos.openhpc.community/OpenHPC/2/CentOS_8/x86_64/ohpc-release-2-1.el8.x86_64.rpm

[sms]# yum install http://repos.openhpc.community/OpenHPC/2/CentOS_8/aarch64/ohpc-release-2-1.el8.aarch64.rpm

 

혹시나 해서 x86 linux에 aarch64 패키지를 설치해 보았지만 역시나 에러가 발생한다.

dose not have a compatible architecture

문서 자체가 arm64 코어 기반 하드웨어가 node master여야 하는 듯..

# yum install http://repos.openhpc.community/OpenHPC/2/CentOS_8/aarch64/ohpc-release-2-1.el8.aarch64.rpm
CentOS-8 - AppStream                            2.7 kB/s | 4.3 kB     00:01
CentOS-8 - Base                                 3.7 kB/s | 3.9 kB     00:01
CentOS-8 - Extras                               1.2 kB/s | 1.5 kB     00:01
OpenHPC-2 - Base                                2.0 kB/s | 1.5 kB     00:00
OpenHPC-2 - Updates                             3.4 kB/s | 2.9 kB     00:00
Extra Packages for Enterprise Linux Modular 8 - 3.4 kB/s | 8.5 kB     00:02
Extra Packages for Enterprise Linux 8 - x86_64  2.6 kB/s | 4.8 kB     00:01
Extra Packages for Enterprise Linux 8 - x86_64  1.3 MB/s | 8.5 MB     00:06
ohpc-release-2-1.el8.aarch64.rpm                 13 kB/s |  10 kB     00:00
Error:
 Problem: conflicting requests
  - package ohpc-release-2-1.el8.aarch64 does not have a compatible architecture
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

 

 

+

cross 나오는것 봐서는 x86-64에서 aarch64의 VNFS를 만들도록 하는 내용 같긴한데..

[링크 : https://github.com/NaohiroTamura/cross-sms-aarch64.sh/blob/master/README.md]

'프로그램 사용 > openHPC' 카테고리의 다른 글

centos kernel이 사라졌다 -ㅁ-  (0) 2020.12.08
wwmkchroot  (0) 2020.12.07
nagios  (0) 2020.12.07
openHPC LBNL NHC  (0) 2020.12.07
openHPC 설치 part2?  (0) 2020.12.04
Posted by 구차니
프로그램 사용/openHPC2020. 12. 7. 12:22

라이선스는 GPL

네트워크 모니터링에서 시작한것 같긴한데

결국에는 모든 장치에 대한 모니터링 까지 제공하는 듯?

currently it provides:

Monitoring of network services (SMTP, POP3, HTTP, NNTP, ICMP, SNMP, FTP, SSH)
Monitoring of host resources (processor load, disk usage, system logs) on a majority of network operating systems, including Microsoft Windows, using monitoring agents.
Monitoring of any hardware (like probes for temperature, alarms, etc.) which have the ability to send collected data via a network to specifically written plugins
Monitoring via remotely run scripts via Nagios Remote Plugin Executor
Remote monitoring supported through SSH or SSL encrypted tunnels.
A simple plugin design that allows users to easily develop their own service checks depending on needs, by using their tools of choice (shell scripts, C++, Perl, Ruby, Python, PHP, C#, etc.)
Available data graphing plugins
Parallelized service checks
Flat-text formatted configuration files (integrates with many config editors)
The ability to define network host using 'parent' hosts, allowing the detection of and distinction between hosts that are down or unreachable
Contact notifications when service or host problems occur and get resolved (via e-mail, pager, SMS, or any user-defined method through plugin system)
The ability to define event handlers to be run during service or host events for proactive problem resolution
Automatic log file rotation
Support for implementing redundant monitoring hosts
Support for implementing performance data graphing
Support for database backend (such as NDOUtils)
Push notifications[6]
A web-interface for viewing current network status, notifications, problem history, log files, etc.

[링크 : https://www.nagios.org/]

[링크 : https://en.wikipedia.org/wiki/Nagios]

 

[링크 : https://logz.io/blog/prometheus-vs-nagios-metrics/]

 

nagios enterprise 사 버전이라고 해야하려나?

nagios XI 등은 구매가 가능한데 비용은 안나오고 양식을 채워넣으라고만 하니 알수가 없다. 

github 버전도 라이선스 있어야 하는지 좀 더 조사가 필요하다

[링크 : https://www.metricfire.com/blog/prometheus-vs-nagios/]

[링크 : https://github.com/NagiosEnterprises]

 

nagios core는 무료

GUI를 얹은게 nagios XI(유료)

 

NRDP - Nagios Remote Data Processor

NCPA - Nagios Cross Platform Agent

[링크 : http://blog.naver.com/ki630808/221837041442]

'프로그램 사용 > openHPC' 카테고리의 다른 글

wwmkchroot  (0) 2020.12.07
openHPC x86_64와 aarch64 문서 차이  (0) 2020.12.07
openHPC LBNL NHC  (0) 2020.12.07
openHPC 설치 part2?  (0) 2020.12.04
warewulf 유틸리티  (0) 2020.12.02
Posted by 구차니
프로그램 사용/openHPC2020. 12. 7. 12:13

LBNL - Lawrence Berkeley National Laboratory

NHC - Node Health Check

[링크 : https://github.com/mej/nhc

'프로그램 사용 > openHPC' 카테고리의 다른 글

openHPC x86_64와 aarch64 문서 차이  (0) 2020.12.07
nagios  (0) 2020.12.07
openHPC 설치 part2?  (0) 2020.12.04
warewulf 유틸리티  (0) 2020.12.02
wwsh (warewulf shell)  (0) 2020.12.02
Posted by 구차니

철이 지나서 번식을 안해서 애들이 없다고

있어도 이제 막 2주 지난 애들이라 이유식 먹어서 3주 뒤에나 와보라고 하네

 

예전에 6월에 갔을때가 딱 번식철이었다는데

어떤 사전 정보도 없이 가서 딱 맞을 때 데려왔던 딸기가

정말 우리에게 올 인연이었는데 이렇게 놓쳤다는게 정말 다시 한번 더 마음이 아프게 한다..

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

950명 확진자..  (0) 2020.12.12
정신없이 바쁘구만  (0) 2020.12.12
지치는 토요일  (0) 2020.12.05
냄비 두개  (0) 2020.10.24
귀찮아!!!  (0) 2020.10.18
Posted by 구차니

언제나 피곤하다..

운동이 부족한걸까?

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

정신없이 바쁘구만  (0) 2020.12.12
앵무새 보러 갔는데  (0) 2020.12.06
냄비 두개  (0) 2020.10.24
귀찮아!!!  (0) 2020.10.18
평온한.. 하루?  (0) 2020.10.16
Posted by 구차니
Linux2020. 12. 4. 16:12

복수개의 target에 ssh로 접속해서 동일한 명령어로 실행하는 유틸리티

 

Some examples of usage follow:

Run command on foo01,foo02,...,foo05
    pdsh -w foo[01-05] command

Run command on foo7,foo9,foo10
pdsh -w foo[7,9-10] command
Run command on foo0,foo4,foo5
pdsh -w foo[0-5] -x foo[1-3] command

A suffix on the hostname is also supported:
Run command on foo0-eth0,foo1-eth0,foo2-eth0,foo3-eth0
   pdsh -w foo[0-3]-eth0 command

 

[링크 : https://linux.die.net/man/1/pdsh]

[링크 : https://qastack.kr/server/2533/linux-running-the-same-command-on-many-machines-at-once]

'Linux' 카테고리의 다른 글

linux command line에서 mp3 재생하기  (0) 2020.12.08
shuf  (0) 2020.12.08
bash $$ 변수, 배열, 반복  (0) 2020.12.04
bash 배열  (0) 2020.12.04
find -mmin  (0) 2020.12.04
Posted by 구차니
프로그램 사용/openHPC2020. 12. 4. 15:26

virtualbox에서 DHCP 사용 끄고

master node 설정에서 BOOTPROTO=none 으로 해서 static ip로 설정하도록 설정(아래 내용 참고)

[링크 : https://linuxconfig.org/rhel-8-configure-static-ip-address]

# cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
export CHROOT=/opt/ohpc/admin/images/centos8.2
export eth_provision=enp0s3
export num_computes=2
export c_ip=("10.0.2.4" "10.0.2.5")
export c_mac=("08:00:27:4b:df:4f" "08:00:27:f9:ca:3f")
export c_name=("openhpc-1" "openhpc-2")
export compute_regex=openhpc-*

export ntp_server=10.0.2.15
export sms_name=master
export sms_ip=10.0.2.15
export sms_eth_internal=enp0s3
export internal_netmask=255.0.0.0

 

Finalizing provisioning configuration

[sms]# wwbootstrap `uname -r`
// /srv 내의 내용이 변경됨
[sms]# wwvnfs --chroot $CHROOT
[sms]# echo "GATEWAYDEV=${eth_provision}" > /tmp/network.$$
[sms]# wwsh -y file import /tmp/network.$$ --name network
[sms]# wwsh -y file set network --path /etc/sysconfig/network --mode=0644 --uid=0
[sms]# for ((i=0; i<$num_computes; i++)) ; do
wwsh -y node new ${c_name[i]} --ipaddr=${c_ip[i]} --hwaddr=${c_mac[i]} -D ${eth_provision}
done
[sms]# wwsh provision set --postnetdown=1 "${compute_regex}"
// 아래 항목이 실행되지 않으면 로그인 계정이 정상적으로 되지 않음
[sms]# wwsh -y provision set "${compute_regex}" --vnfs=centos8.2 --bootstrap=`uname -r` \ --files=dynamic_hosts,passwd,group,shadow,munge.key,network
[sms]# systemctl restart dhcpd
[sms]# wwsh pxe update

 

클라이언트 노드들을 켤 준비를 해준다.

 

전원 on! 하니 오오오

PXE 부팅하는거 첨 보는 느낌인데?!?!? 아무튼 부팅은 성공!

하지만 root 로그인이 안되서 멀 잘못했네 멘붕중 ㅠㅠ

 

/ 는 tmpfs도 되어있어서 아마.. 램디스크 처럼 날아갈 것 같고

이전에 설정되었던 fstab에 의해서 붙긴한데 이제 멀 더 해야 하려나..

# df -h
Filesystem               Size  Used Avail Use% Mounted on
tmpfs                    490M  474M   16M  97% /
devtmpfs                 465M     0  465M   0% /dev
tmpfs                    490M     0  490M   0% /dev/shm
tmpfs                    490M  6.5M  484M   2% /run
tmpfs                    490M     0  490M   0% /sys/fs/cgroup
10.0.2.15:/opt/ohpc/pub  8.0G  3.7G  4.4G  46% /opt/ohpc/pub
10.0.2.15:/home          8.0G  3.7G  4.4G  46% /home
tmpfs                     98M     0   98M   0% /run/user/0

 

 

---

wwsh node new 이후에 node list로 확인

# wwsh node list 
NAME                GROUPS              IPADDR              HWADDR 
================================================================================ 
openhpc-1           UNDEF               10.0.2.4            08:00:27:4b:df:4f 
openhpc-2           UNDEF               10.0.2.5            08:00:27:f9:ca:3f 

# wwsh bootstrap list 
BOOTSTRAP NAME            SIZE (M)      ARCH 
4.18.0-193.el8.x86_64     42.6          x86_64 

 

postnetdown이 멀까...

# wwsh provision set --postnetdown=1 "${compute_regex}" 
Are you sure you want to make the following changes to 2 node(s): 

     SET: POSTNETDOWN          = 1 

Yes/No> y

 

'프로그램 사용 > openHPC' 카테고리의 다른 글

nagios  (0) 2020.12.07
openHPC LBNL NHC  (0) 2020.12.07
warewulf 유틸리티  (0) 2020.12.02
wwsh (warewulf shell)  (0) 2020.12.02
openHPC 설치 part 1?  (2) 2020.12.02
Posted by 구차니
Linux2020. 12. 4. 14:28

 

 

특수 매개 변수(Special Parameters)
문자 설명
$$ 현재 스크립트의 PID
$? 최근에 실행된 명령어, 함수, 스크립트 자식의 종료 상태
$! 최근에 실행한 백그라운드(비동기) 명령의 PID
$- 현재 옵션 플래그
$_ 지난 명령의 마지막 인자로 설정된 특수 변수

[링크 : https://blog.gaerae.com/2015/01/bash-hello-world.html]

 

배열

배열은 콤마가 아니라 공백으로 내용이 구분되어야 한다. 콤마를 넣으면 하나의 값이 들어있는 배열로 인식한다. 주의!!

배열명= ("내용1" "내용2")

[링크 : http://blog.redjini.com/282]

 

for 루프

변수의 제어문에서 존재하지 않는 변수를 사용할 경우 0으로 인식되는게 아니라 에러가 발생하니 주의!!

[링크 : https://skylit.tistory.com/321]

'Linux' 카테고리의 다른 글

shuf  (0) 2020.12.08
pdsh  (0) 2020.12.04
bash 배열  (0) 2020.12.04
find -mmin  (0) 2020.12.04
linux 스토리지 정보  (0) 2020.10.14
Posted by 구차니
Linux2020. 12. 4. 12:44

변수명=("내용", "내용", ...)

으로 선언하는데 접근은

${변수명[index]} 로 해야 한다.

 

 

# 빈 배열
EMPTY_LIST=()

PLANETS=( "EARTH" "MARS" "VINUS" )
# ${PLANETS[0]} == "EARTH"
# ${PLANETS[1]} == "MARS"
# ${PLANETS[2]} == "VINUS"

PLACES[0]="HERE"
PLACES[1]="THERE"
PLACES[2]="WHERE"

NAMES=()
NAMES+=("ME")    # ${NAMES[0]} == "ME"
NAMES+=("YOU")   # ${NAMES[1]} == "YOU"
NAMES+=("THEM")  # ${NAMES[2]} == "THEM"

[링크 : https://blog.leocat.kr/notes/2018/02/18/shell-declare-list]

'Linux' 카테고리의 다른 글

pdsh  (0) 2020.12.04
bash $$ 변수, 배열, 반복  (0) 2020.12.04
find -mmin  (0) 2020.12.04
linux 스토리지 정보  (0) 2020.10.14
linux page cache  (0) 2020.01.13
Posted by 구차니