'2020/12'에 해당되는 글 99건

  1. 2020.12.04 openHPC 설치 part2?
  2. 2020.12.04 bash $$ 변수, 배열, 반복
  3. 2020.12.04 bash 배열
  4. 2020.12.04 find -mmin
  5. 2020.12.03 아.. 이놈의 인코딩..
  6. 2020.12.02 티비 스탠드 왔는데.. 4
  7. 2020.12.02 warewulf 유틸리티
  8. 2020.12.02 wwsh (warewulf shell)
  9. 2020.12.02 openHPC 설치 part 1? 2
  10. 2020.12.02 ipmi simulator
프로그램 사용/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 구차니
Linux2020. 12. 4. 10:28

10분 이내로 수정된 파일 찾기

-mmin -10

 

[링크 : http://bahndal.egloos.com/565007]

'Linux' 카테고리의 다른 글

bash $$ 변수, 배열, 반복  (0) 2020.12.04
bash 배열  (0) 2020.12.04
linux 스토리지 정보  (0) 2020.10.14
linux page cache  (0) 2020.01.13
dmesg 시간 환산하기  (0) 2020.01.07
Posted by 구차니
Programming/c# & winform2020. 12. 3. 13:57

byte[]를 string으로 바꾸어주는 함수들이 여러개가 있는데 자주 보이는 건 아래의 두개가 아닐까 생각된다.

하지만 둘 다 위험한 함수(?) 란 건 변하지 않는다.. ㅠㅠ

 

System.Text.Encoding.UTF8.GetString()

[링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.text.encoding.utf8?view=net-5.0]

 

System.Text.Encoding.ASCII.GetString()

ASCIIEncoding 는 오류 검색을 제공 하지 않습니다. 16 진수 0x7F 보다 큰 바이트는 유니코드 물음표 ("?")로 디코딩됩니다.

[링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.text.asciiencoding.getstring?view=net-5.0]

 

 

그러니까 char[]/byte[]를 함수들이 string으로 받는다고 변환해서 보내주면 개판을 친다는 의미

하다하다 안되서 혹시나 이상하게 보내오나 wireshark로 패킷을 보니 정상 -_-

 

아래 코드에 의해 byte[]를 string으로 변환하고 console 창으로 출력한 결과

ff d8 ff e0 00 10 4a 46 49 46 으로 시작하는 JPEG 헤더가

3f 3f 3f 3f 00 10 4a 46 49 46 으로 바뀌어 버렸다.

responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
Console.WriteLine("Received: {0}", responseData);

 

그러니까.. 바이너리 데이터는 꾿꾿이 byte[]로 주고 받아야 할 듯.. ㅠㅠ

'Programming > c# & winform' 카테고리의 다른 글

c# richtextbox 글씨 색상 입히기  (0) 2021.05.24
c# named argument  (0) 2021.01.06
c# vertical tab  (0) 2020.11.26
c# rest API client  (0) 2020.11.25
c# telnet, ssh client  (0) 2020.11.24
Posted by 구차니
개소리 왈왈/컴퓨터2020. 12. 2. 23:01

공장에서 잘못보내서 다시 보내주고 반송 처리 하겠다고

흐음.. 미안하다는 말이 있었나 없었나?

 

아무튼 예상했던것 보다 하루 늦게 도착했고

이상하게 도착하고

여전히 전화는 드럽게 안 받아서 본사전화해서 재촉해야 좀 오고

이상한 곳이야..

 

 

4k60p 안되는게 팩토리 모드 문제인가 싶어서 리모컨 없이 쓰려니 좀 힘들기도 하고

그냥 속 터져서 거금 만원에 배송비 들여서 일단 구매진행

모넥스, 카레나, 클라인즈, 아인츠, 시네eye, 모지, 제파, 디존아이

DLT 한곳에서 제조하고 8곳 업체로 동일하게 판매하는 듯하다.

[링크 : http://itempage3.auction.co.kr/DetailView.aspx?ItemNo=B645357255&frm3=V2]

Posted by 구차니
프로그램 사용/openHPC2020. 12. 2. 17:46

warewulf 답게 ww로 프로그램 이름이 시작한다.

# ww
wwbootstrap  wwinit       wwmkchroot   wwsh         wwvnfs
wwconfig     wwlivesync   wwnodescan   wwuseradd

 

초기화 명령으로 database랑 ssh_keys는 했는데 의외로 초기화 하는 항목이 많다?

# wwinit --help
/usr/bin/wwinit: illegal option -- -
/usr/bin/wwinit [options] [initialization(s)]

OPTIONS:
    -d        Debug output
    -v        Verbose output
    -h        Usage summary

INITIALIZATIONS:
   * ALL
   * AUTH
   * BOOTSTRAP
   * DATABASE
   * DATASTORE
   * MASTER
   * NFS
   * PROVISION
   * TESTING
   * TIME
   * VNFS
   * authfiles
   * bootstrap
   * chrony
   * database
   * dhcp
   * domain
   * hostfile
   * network
   * nfsd
   * ntp
   * ssh_keys
   * tftp
   * vnfs
   * wwsh

EXAMPLES:

 # wwinit ALL
 # wwinit TEST database

 

자동으로 새로운 컴퓨터 노드를 등록해주는 유틸리티

wwsh node를 통해서도 추가가 가능하다.

# wwnodescan
USAGE: /usr/bin/wwnodescan [options] nodes....
    SUMMARY:
        Scan for new systems making DHCP requests.

    GENERAL OPTIONS:
        -h, --help              Show the help/utilization summary
        -d, --debug             Display debugging information
        -v, --verbose           Be more verbose in output
        -f, --file <file>       Create Warewulf script instead of auto-import
        -l, --listen <iface>    Interface to listen on (tcpdump -D for list)
        -c, --tcpdump <cmd>     Specify the full path to the tcpdump command
        -T, --tshark <cmd>      Specify the full path to the tshark command (Only IB Mode)
        -x, --max [<cnt>]       Exit after <cnt> new nodes (0 for auto)

    MODES:
        -t, --test              Test mode; do not modify data store
        -r, --replace           Replace existing nodes (by name)
        -a, --autoconfig        Assign HW addresses to unassigned nodes
        -I, --infiniband        Use tshark to look for Client Identifier, compatible with Mellanox FlexBoot.

    SETTINGS:
        -n, --netdev <dev>      Network device for the new node(s)
        -i, --ipaddr <addr>     IP address for the new node(s)
        -m, --netmask <mask>    Netmask for the new node(s)
        -V, --vnfs <vnfs>       VNFS for the node(s)
        -b, --bootstrap <name>  Bootstrap for the node(s)
        -g, --groups <groups>   Groups for the node(s)

    NODES:
        You can scan for any number of nodes; this program will exit after all
        specified nodes have been found.  The IP address provided will be
        incremented for each node found, and nodes will be added in the order
        given on the command line.

    DEFAULTS:
        As with all object types, you can create a template node object called
        DEFAULT whose attributes will be used as the default values for all
        new nodes.  You can override some of these defaults using the options
        shown above.

    EXAMPLES:
        # wwnodescan --ipaddr 10.0.1.10 --netmask 255.255.0.0 --vnfs=sl6.vnfs
            --bootstrap=`uname -r` n0000 n0001

        # wwsh node new DEFAULT --groups=grp1,test
        # wwsh provision node DEFAULT --vnfs=sl6.vnfs --bootstrap=`uname -r`
        # wwnodescan --ipaddr 10.0.1.100 --netmask 255.255.0.0 n00[02-19]

 

VNFS 이미지를 만들때 시작 지점과 배포판을 지정할때 사용

# wwmkchroot
ERROR: Missing VNFS template name

/usr/bin/wwmkchroot [options] TEMPLATE_NAME PATH

OPTIONS:
    -d        Debug output
    -g        Disable install GPG checks
    -v        Verbose output
    -h        Show usage

TEMPLATE_NAME (select one of the following):
   * centos-6             A clone of Red Hat Enterprise Linux 6
   * centos-7             A clone of Red Hat Enterprise Linux 7
   * centos-8             Red Hat Enterprise Linux 8
   * debian7-32           A base 32 bit Debian wheezy chroot
   * debian7-64           A base 64 bit Debian wheezy chroot
   * debian-8             A base 64 bit Debian jessie chroot
   * golden-system        Build a local chroot from a golden system
   * opensuse-15.1        OpenSUSE LEAP 15.1
   * opensuse-15.2        OpenSUSE LEAP 15.2
   * opensuse-42.3        OpenSUSE LEAP 42.3
   * opensuse-tumbleweed  OpenSUSE Tumbleweed Rolling Release
   * sl-7                 Scientific Linux 7
   * sles-12              SUSE Linux Enterprise Server 12
   * sles-15              SUSE Linux Enterprise Server 15 Update 1
   * ubuntu-16.04         A base 64 bit Ubuntu xenial chroot
   * ubuntu-18.04         A base 64-bit Ubuntu cosmic chroot

PATH:
   This is the location where the VNFS will be created

EXAMPLES:

 # wwmkchroot rhel-generic /var/chroots/rhel
 # wwmkchroot debian8-64 /var/chroots/deb8

 

wwmkvnfs 로 만든 디렉토리를 VNFS 이미지로 생성하는 유틸리티

# wwvnfs
_FORTIFY_SOURCE requires compiling with optimization (-O) at /usr/lib64/perl5/features.ph line 207.
USAGE: /usr/bin/wwvnfs [options] (name)

OPTIONS:

   -c, --chroot      Path to the chroot to use for this VNFS image
   -r, --root        Alias for --chroot
   -h, --help        Usage and help summary
   -o, --output      Output the binary VNFS to a file instead of importing it
                     directly into Warewulf
   -e, --exclude     Exclude a file or directory from the VNFS image
       --excludefile Path to a file that contains a list of files and directories to
                     exclude from the VNFS image
       --hybridize   Hybridize a list of files or directories from the VNFS image
                     (requires --hybridpath to be set, or files are just excluded)
       --hybridizefile Path to a file that contains a list of files and directories to
                     be hybridized from the VNFS image
       --hybridpath  Path to use within the VNFS where the links will be pointed to in
                     the final image (this needs to be added to the VNFS fstab!)

NOTES:

   When wwvnfs is run for the first time on a VNFS, it will attempt to create a
   configuration file in the default warewulf config dir (/etc/warewulf/vnfs/) or in
   the users ~/.warewulf/vnfs directory. Once the configuration file has been written
   and updated, you can simply run 'wwvnfs [vnfs_name]' to rebuild the image. You can
   temporarily override any of these options via command line arguments.

EXAMPLES:

   # wwvnfs --chroot=/var/chroots/rhel-6
   # wwvnfs custom_name --chroot=/var/chroots/rhel-6 --hybridpath=/hybrid/vnfs_name
   # wwvnfs --chroot=/var/chroots/rhel-6 --output=rhel-6.vnfs
   # wwvnfs custom_name

 

 

openHPC 문서 상에는 없는 녀석들. 정체가 머냐?

# wwconfig
USAGE: /usr/bin/wwconfig [options] [paramaters]

   Options:
      -h, --help     Show this help summary
      -a, --all      Print all evnironment variables
      -s, --sh       Print output in Bourne shell format
      -e, --exp      Also print out export lines. For use with Bourne shell format.
      -c, --csh      Print output in C shell format

   Paramaters:

      PROGNAME       Program name
      VERSION        Program version
      GITVERSION     Git repository commit
      PREFIX         The compile-time prefix
      DATAROOTDIR    The compile-time data root directory
      DATADIR        The compile-time data directory
      LIBDIR         The compile-time lib directory
      LIBEXECDIR     The compile-time libexec directory
      PERLMODDIR     The compile-time Perl module directory
      STATEDIR       The compile-time local state directory
      SYSCONFDIR     The compile-time system configuration directory

 

# wwlivesync
USAGE: /usr/bin/wwlivesync (options) [targets]

SUMMARY:

     The live sync command will spawn rsync commands to update the running node
     operating system (VNFS) live. This command should only be used for minor VNFS
     updates, as large updates including library load could potentially break binary
     compatibility.


OPTIONS:

   -l, --lookup        Identify nodes by specified property (default: "name")
   -f, --files         Pass a list of files to sync instead of the entire VNFS
       --show          Just print what it would do instead of actually do it
       --logdir        Directory of per-node logs (/var/log/wwlivesync)
       --verbose       Increase verbosity level
       --quiet         Decrease verbosity level
       --debug         Print debugging messages
   -h, --help          Display this usage summary

TARGETS:

     The target(s) specify which node(s) will be affected by the chosen
     action(s).  By default, node(s) will be identified by their name(s).
     Use the --lookup option to specify another property (e.g., "hwaddr"
     or "groups").

     All targets can be bracket expanded as follows:

         n00[0-99]       All nodes from n0000 through n0099 (inclusive)
         n00[00,10-99]   n0000 and all nodes from n0010 through n0099


EXAMPLES:

   # wwlivesync n00[00-19]

 

# wwuseradd
Adding user to this master
Usage: useradd [options] LOGIN
       useradd -D
       useradd -D [options]

Options:
  -b, --base-dir BASE_DIR       base directory for the home directory of the
                                new account
  -c, --comment COMMENT         GECOS field of the new account
  -d, --home-dir HOME_DIR       home directory of the new account
  -D, --defaults                print or change default useradd configuration
  -e, --expiredate EXPIRE_DATE  expiration date of the new account
  -f, --inactive INACTIVE       password inactivity period of the new account
  -g, --gid GROUP               name or ID of the primary group of the new
                                account
  -G, --groups GROUPS           list of supplementary groups of the new
                                account
  -h, --help                    display this help message and exit
  -k, --skel SKEL_DIR           use this alternative skeleton directory
  -K, --key KEY=VALUE           override /etc/login.defs defaults
  -l, --no-log-init             do not add the user to the lastlog and
                                faillog databases
  -m, --create-home             create the user's home directory
  -M, --no-create-home          do not create the user's home directory
  -N, --no-user-group           do not create a group with the same name as
                                the user
  -o, --non-unique              allow to create users with duplicate
                                (non-unique) UID
  -p, --password PASSWORD       encrypted password of the new account
  -r, --system                  create a system account
  -R, --root CHROOT_DIR         directory to chroot into
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -s, --shell SHELL             login shell of the new account
  -u, --uid UID                 user ID of the new account
  -U, --user-group              create a group with the same name as the user
  -Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping

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

openHPC LBNL NHC  (0) 2020.12.07
openHPC 설치 part2?  (0) 2020.12.04
wwsh (warewulf shell)  (0) 2020.12.02
openHPC 설치 part 1?  (2) 2020.12.02
ipmi simulator  (0) 2020.12.02
Posted by 구차니
프로그램 사용/openHPC2020. 12. 2. 17:24

 

# wwsh --help
wwsh [wwsh options] [command] [object] [command options]
------------------------------------------------------------------------------
WWSH OPTIONS:
     --nodhcp       -- Do not update dhcpd.conf file.
  -d|--debug        -- Enable Debug Output
     --help         -- Print this help
  -v|--verbose      -- Enable Verbose Output
  -q|--quiet        -- Enable Quiet Mode
  -y|--yes|--noask  -- Assume 'Yes' to all questions


WWSH COMMANDS:
  help              -- Print command (module) help

# wwsh help
Warewulf command line shell interface

Welcome to the Warewulf shell interface. This application allows you
to interact with the Warewulf backend database and modules via a
single interface.

  bootstrap        Manage your bootstrap images
  dhcp             Manage DHCP service and configuration
  events           Control how events are handled
  exit             Exit/leave the Warewulf shell
  file             Manage files within the Warewulf data store
  ipmi             Node IPMI configuration
  node             Node manipulation commands
  object           Generically manipulate all Warewulf data store entries
  output           Set the output verbosity level
  provision        Node provision manipulation commands
  pxe              Manage PXE configuration
  quit             Exit/leave the Warewulf shell
  ssh              Spawn parallel ssh connections to nodes.
  vnfs             Manage your VNFS images

 

# wwsh help file
USAGE:
     file <command> [options] [targets]

SUMMARY:
     The file command is used for manipulating file objects.  It allows you to
     import, export, create, and modify files within the Warewulf data store.
     File objects may be used to supply files to nodes at provision time,
     dynamically create files or scripts based on Warewulf data and more.

COMMANDS:
     import             Import a file into a file object
     export             Export file object(s)
     edit               Edit the file in the data store directly
     new                Create a new file in the data store
     set                Set file attributes/metadata
     show               Show the contents of a file
     list               List a summary of imported file(s)
     print              Print all file attributes
     (re)sync           Sync the data of a file object with its source(s)
     delete             Remove a node configuration from the data store
     help               Show usage information

OPTIONS:
     -l, --lookup       Identify files by specified property (default: "name")
     -p, --program      What external program should be used (edit/show)
     -D, --path         Set destination (i.e., output) path for this file
     -o, --origin       Set origin (i.e., input) path for this file
     -m, --mode         Set permission attribute for this file
     -u, --uid          Set the UID for this file
     -g, --gid          Set the GID for this file
     -n, --name         Set the reference name for this file (not path!)
         --interpreter  Set the interpreter name to parse this file
         --overwrite    Overwrite the metadata in the file object on sync() to match the file at the origin path

NOTE:  Use "UNDEF" to erase the current contents of a given field.

EXAMPLES:
     Warewulf> file import /path/to/file/to/import --name=hosts-file
     Warewulf> file import /path/to/file/to/import/with/given-name
     Warewulf> file edit given-name
     Warewulf> file set given-name --origin=UNDEF --mode=0700
     Warewulf> file set hosts-file --path=/etc/hosts --mode=0644 --uid=0
     Warewulf> file list
     Warewulf> file delete name123 given-name

 

# wwsh help ssh
USAGE:
     ssh [nodes/targets] [command]

SUMMARY:
     Run ssh connections to node(s) in parallel by either node names, group
     or any other known lookup.

TARGETS:
     The target(s) specify which node(s) will be affected by the chosen
     action(s).  By default, node(s) will be identified by their name(s).
     Use the --lookup option to specify another property (e.g., "hwaddr"
     or "groups").

     All targets can be bracket expanded as follows:

         n00[0-99]       All nodes from n0000 through n0099 (inclusive)
         n00[00,10-99]   n0000 and all nodes from n0010 through n0099

OPTIONS:

     -l, --lookup        Identify nodes by specified property (default: "name")
     -a, --allnodes      Send command to all configured nodes

EXAMPLES:

     Warewulf> ssh n00[00-49] hostname
     Warewulf> ssh -l groups compute,interactive hostname


[root@localhost warewulf]# wwsh help node
USAGE:
     node <command> [options] [targets]

SUMMARY:
     The node command is used for viewing and manipulating node objects.

COMMANDS:
         new             Create a new node configuration
         set             Modify an existing node configuration
         list            List a summary of nodes
         print           Print the node configuration
         delete          Remove a node configuration from the data store
         clone           Clone a node configuration to another node
         help            Show usage information

TARGETS:
     The target(s) specify which node(s) will be affected by the chosen
     action(s).  By default, node(s) will be identified by their name(s).
     Use the --lookup option to specify another property (e.g., "hwaddr"
     or "groups").

     All targets can be bracket expanded as follows:

         n00[0-99]       All nodes from n0000 through n0099 (inclusive)
         n00[00,10-99]   n0000 and all nodes from n0010 through n0099

OPTIONS:
     -l, --lookup        Identify nodes by specified property (default: "name")
     -1                  With list command, output node name only
     -g, --groups        Specify all groups to which this node belongs
         --groupadd      Add node to specified group(s)
         --groupdel      Remove node from specified group(s)
     -D, --netdev        Specify network device to add or modify (defaults: eth0)
         --netdel        Remove specified netdev from node
         --netrename     Rename a given network interface
     -I, --ipaddr        Set IP address of given netdev
     -M, --netmask       Set subnet mask of given netdev
     -N, --network       Set network address of netdev
     -G, --gateway       Set gateway of given netdev
     -H, --hwaddr        Set hardware/MAC address
     -b, --bonddevs      Set bonding slave devices
     -B, --bondmode      Set bonding mode
     -f, --fqdn          Set FQDN of given netdev
     -m, --mtu           Set MTU of given netdev
     -p, --hwprefix      Specify a prefix for hardware/MAC address of a given netdev
     -c, --cluster       Specify cluster name for this node
         --domain        Specify domain name for this node
     -n, --name          Specify new name for this node
     -a, --arch          Specify architecture for this node (defaults: x86_64)
     -e, --enabled       Set whether the node is enabled (defaults: True)

EXAMPLES:
     Warewulf> node new n0000 --netdev=eth0 --hwaddr=xx:xx:xx:xx:xx:xx
     Warewulf> node set n0000 -D eth0 -I 10.0.0.10 -G 10.0.0.1
     Warewulf> node set n0000 --netdev=eth0 --netmask=255.255.255.0
     Warewulf> node set --groupadd=mygroup,hello,bye --cluster=mycluster n0000
     Warewulf> node set --groupdel=bye --set=vnfs=sl6.vnfs
     Warewulf> node list xx:xx:xx:xx:xx:xx --lookup=hwaddr
     Warewulf> node print --lookup=groups mygroup hello group123
     Warewulf> node clone n0000 new0000
     Warewulf> node set --enabled=false n0000
     Warewulf> node set --arch=x86_64 n0000

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

openHPC 설치 part2?  (0) 2020.12.04
warewulf 유틸리티  (0) 2020.12.02
openHPC 설치 part 1?  (2) 2020.12.02
ipmi simulator  (0) 2020.12.02
IPoIB - IP over InfiniBand , OFED, PSM  (0) 2020.12.02
Posted by 구차니
프로그램 사용/openHPC2020. 12. 2. 16:01

제약어가 많아져서 무지 귀찮네 -_-

 

 

1. Centos 8.2 설치
2. 환경설정
[sms]# systemctl disable firewalld
[sms]# systemctl stop firewalld

3. 타임서버 관련 설정
[sms]# yum install chrony
[sms]# systemctl enable chronyd.service
[sms]# echo "server ${ntp_server}" >> /etc/chrony.conf
[sms]# echo "allow all" >> /etc/chrony.conf
[sms]# systemctl restart chronyd

3. 프로비저닝 패키지 설치
[sms]# yum install http://repos.openhpc.community/OpenHPC/2/CentOS_8/x86_64/ohpc-release-2-1.el8.x86_64.rpm
[sms]# yum install dnf-plugins-core
[sms]# yum config-manager --set-enabled PowerTools
[sms]# yum -y install ohpc-base
[sms]# yum -y install ohpc-warewulf

4. 리소스 매니저 설치
[sms]# yum -y install ohpc-slurm-server
[sms]# cp /etc/slurm/slurm.conf.ohpc /etc/slurm/slurm.conf
[sms]# vi /etc/slurm/slurm.conf
ControlMachine=linux0
[sms]# perl -pi -e "s/device = eth1/device = ${sms_eth_internal}/" /etc/warewulf/provision.conf
[sms]# ip link set dev ${sms_eth_internal} up
[sms]# ip address add ${sms_ip}/${internal_netmask} broadcast + dev ${sms_eth_internal}
[sms]# systemctl enable httpd.service
[sms]# systemctl restart httpd
[sms]# systemctl enable dhcpd.service
[sms]# systemctl enable tftp
[sms]# systemctl restart tftp

5. 프로비저닝 이미지 제작(compute node를 위한 slurm client 설치)
[sms]# export CHROOT=/opt/ohpc/admin/images/centos8.2
[sms]# wwmkchroot -v centos-8 $CHROOT
[sms]# dnf -y --installroot $CHROOT install epel-release
[sms]# cp -p /etc/yum.repos.d/OpenHPC*.repo $CHROOT/etc/yum.repos.d

[sms]# yum -y --installroot=$CHROOT install ohpc-base-compute
[sms]# cp -p /etc/resolv.conf $CHROOT/etc/resolv.conf

[sms]# cp /etc/passwd /etc/group $CHROOT/etc
[sms]# yum -y --installroot=$CHROOT install ohpc-slurm-client
[sms]# chroot $CHROOT systemctl enable munge
+
[sms]# chroot $CHROOT systemctl enable slurmd

[sms]# echo SLURMD_OPTIONS="--conf-server ${sms_ip}" > $CHROOT/etc/sysconfig/slurmd
[sms]# yum -y --installroot=$CHROOT install chrony
[sms]# echo "server ${sms_ip}" >> $CHROOT/etc/chrony.conf
[sms]# yum -y --installroot=$CHROOT install kernel-`uname -r`
[sms]# yum -y --installroot=$CHROOT install lmod-ohpc

6. customize system configuration
[sms]# wwinit database
[sms]# wwinit ssh_keys

[sms]# echo "/home *(rw,no_subtree_check,fsid=10,no_root_squash)" >> /etc/exports
[sms]# echo "/opt/ohpc/pub *(ro,no_subtree_check,fsid=11)" >> /etc/exports
[sms]# exportfs -a
[sms]# systemctl restart nfs-server
[sms]# systemctl enable nfs-server

[sms]# echo "${sms_ip}:/home /home nfs nfsvers=3,nodev,nosuid 0 0" >> $CHROOT/etc/fstab
[sms]# echo "${sms_ip}:/opt/ohpc/pub /opt/ohpc/pub nfs nfsvers=3,nodev 0 0" >> $CHROOT/etc/fstab

[sms]# perl -pi -e 's/# End of file/\* soft memlock unlimited\n$&/s' /etc/security/limits.conf
[sms]# perl -pi -e 's/# End of file/\* hard memlock unlimited\n$&/s' /etc/security/limits.conf
[sms]# perl -pi -e 's/# End of file/\* hard memlock unlimited\n$&/s' $CHROOT/etc/security/limits.conf
[sms]# perl -pi -e 's/# End of file/\* soft memlock unlimited\n$&/s' $CHROOT/etc/security/limits.conf
[sms]# echo "account required pam_slurm.so" >> $CHROOT/etc/pam.d/sshd

7. warewulf 설정 (import files)
[sms]# wwsh file import /etc/passwd
[sms]# wwsh file import /etc/group
[sms]# wwsh file import /etc/shadow
[sms]# wwsh file import /etc/munge/munge.key

8. finalizing provisioing configuration
[sms]# wwbootstrap `uname -r`

9. Assemble VNFS(Virtual Node File System) image
[sms]# wwvnfs --chroot $CHROOT

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

warewulf 유틸리티  (0) 2020.12.02
wwsh (warewulf shell)  (0) 2020.12.02
ipmi simulator  (0) 2020.12.02
IPoIB - IP over InfiniBand , OFED, PSM  (0) 2020.12.02
openHPC warewulf + slurm  (0) 2020.12.02
Posted by 구차니
프로그램 사용/openHPC2020. 12. 2. 15:46

openHPC에서 ipmi가 필수인진 모르겠지만

혹시나 모르니 검색중..

 

[링크 : https://stackoverflow.com/questions/30502528/is-there-any-ipmi-simulator]

[링크 : https://github.com/rmxymh/infra-ecosphere]

[링크 : http://openipmi.sourceforge.net/]

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

wwsh (warewulf shell)  (0) 2020.12.02
openHPC 설치 part 1?  (2) 2020.12.02
IPoIB - IP over InfiniBand , OFED, PSM  (0) 2020.12.02
openHPC warewulf + slurm  (0) 2020.12.02
warewulf  (0) 2020.11.26
Posted by 구차니