User Tools

Site Tools


cluster:154

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
cluster:154 [2017/03/07 18:47]
hmeij07 [OpenHPC]
cluster:154 [2017/03/08 20:27]
hmeij07 [Deploy]
Line 94: Line 94:
 </code> </code>
  
-  * Configure ''ib0'' and ''IPoIB'' if needed, consult  [[cluster:145|Infiniband]]+  * Configure ''ib0'' and ''IPoIB'' if needed, consult  [[cluster:145|Infiniband]], also consult the PDF file.
  
 ==== Configure ==== ==== Configure ====
  
 +  * Warewulf (do yourself a favor and check changes in file to avoid typos)
  
 +<code>
 + 
 +perl -pi -e "s/device = eth1/device = enp8s0/" /etc/warewulf/provision.conf
 +
 +perl -pi -e "s/^\s+disable\s+= yes/ disable = no /" /etc/xinetd.d/tftp
 +   
 +perl -pi -e "s/cgi-bin>\$/cgi-bin>\n Require all granted/" /etc/httpd/conf.d/warewulf-httpd.conf
 +perl -pi -e "s/Allow from all/Require all granted/" /etc/httpd/conf.d/warewulf-httpd.conf
 +
 +  
 +# -ni not -pi
 +perl -ni -e "print unless /^\s+Order allow,deny/" /etc/httpd/conf.d/warewulf-httpd.conf
 +
 +# restart/enable services
 +systemctl restart xinetd
 +systemctl enable mariadb.service
 +systemctl restart mariadb
 +systemctl enable httpd.service
 +systemctl restart httpd
 +
 +
 +</code>
 +
 +  * Now let get ready to provision a node. First we need to build a CHROOT environment.
 +
 +<code>
 +
 +# defined repo
 +less /usr/libexec/warewulf/wwmkchroot/centos-7.tmpl
 +
 +# admin area
 +ls -R /opt/ohpc/admin/
 +
 +# use another disk for images
 +mkdir /data
 +mkfs.xfs -f /dev/sdb1
 +mount /data
 +mkdir -p /data/ohpc/images/centos7.2
 +
 +# this yields an error as 7.2.1511 is already deprecated
 +wwmkchroot centos-7 /data/ohpc/images/centos7.2
 +"This directory (and version of CentOS) is deprecated.  For normal users,
 +you should use /7/ and not /7.2.1511/ in your path."
 +# so we follow their advise and edit the repo destination s/7.2.1511/7/
 +vi /usr/libexec/warewulf/wwmkchroot/centos-7.tmpl
 +
 +# try again
 +wwmkchroot centos-7 /data/ohpc/images/centos7.2
 +# ls /data/ohpc/images/centos7.2/
 +bin  boot  dev  etc  fastboot  home  lib  lib64  media  mnt  opt  
 +proc  root  run  sbin  srv  sys  tmp  usr  var
 +# du -hs /data/ohpc/images/centos7.2/
 +490M    /data/ohpc/images/centos7.2/
 +
 +</code>
 +
 +  * Next customize the CHROOT environment
 +
 +<code>
 +
 +cp -p /etc/resolv.conf /data/ohpc/images/centos7.2/etc/
 +yum -y --installroot=/data/ohpc/images/centos7.2 groupinstall ohpc-slurm-client
 +yum -y --installroot=/data/ohpc/images/centos7.2 install kernel
 +yum -y --installroot=/data/ohpc/images/centos7.2 install ntp
 +yum -y --installroot=/data/ohpc/images/centos7.2 install lmod-ohpc
 +# pass on infiniband
 +
 +# if it does not exist on **master** issue command ''wwinit ssh''
 +cat ~/.ssh/cluster.pub
 +cat ~/.ssh/cluster.pub >> /data/ohpc/images/centos7.2/root/.ssh/authorized_keys
 +
 +echo "192.168.1.249:/home /home nfs nfsvers=3,rsize=1024,wsize=1024,cto 0 0 " \
 +      >> /data/ohpc/images/centos7.2/etc/fstab
 +echo "192.168.1.249:/opt/ohpc/pub /opt/ohpc/pub nfs nfsvers=3 0 0 " \
 +      >> /data/ohpc/images/centos7.2/etc/fstab
 +
 +chroot /data/ohpc/images/centos7.2 systemctl enable ntpd
 +echo "server 192.168.1.249" >> /data/ohpc/images/centos7.2/etc/ntp.conf
 +
 +# finally on **master** issue
 +perl -pi -e "s/ControlMachine=\S+/ControlMachine=ohpc0-test/" /etc/slurm/slurm.conf
 +echo "/home *(rw,no_subtree_check,fsid=10,no_root_squash)" >> /etc/exports
 +echo "/opt/ohpc/pub *(ro,no_subtree_check,fsid=11)" >> /etc/exports
 +exportfs -ra
 +systemctl restart nfs
 +systemctl enable nfs-server
 +
 +</code>
 +
 +==== Deploy ====
 +
 +  * Next we PXE boot the compute node for imaging (after building bootstrp image and VNFS)
 +
 +<code>
 +
 +# Both are loaded in database
 +echo "drivers += updates/kernel" >> /etc/warewulf/bootstrap.conf
 +wwbootstrap `uname -r`
 +# Bootstrap image '3.10.0-327.el7.x86_64' is ready
 +wwvnfs -y --chroot /data/ohpc/images/centos7.2
 +# VNFS 'centos7.2' has been imported
 +# Wrote a new configuration file at: /etc/warewulf/vnfs/centos7.2.conf
 +
 +wwsh -y file import /tmp/network.12501 --name network
 +wwsh -y file set network --path /etc/sysconfig/network --mode=0644 --uid=0 
 +wwsh -y node new ohpc0 --ipaddr=192.168.1.248 --hwaddr=00:15:C5:EF:08:61 -D enp8s0
 +
 +wwsh -y file import /etc/passwd
 +wwsh -y file import /etc/group
 +wwsh -y file import /etc/shadow
 +wwsh -y file import /etc/slurm/slurm.conf
 +wwsh -y file import /etc/munge/munge.key
 +wwsh -y provision set ohpc0 --vnfs=centos7.2 --bootstrap=`uname -r` \
 +     --files=dynamic_hosts,passwd,group,shadow,slurm.conf,munge.key,network
 +systemctl restart dhcpd
 +wwsh pxe update
 +
 +</code>
 +
 +  * Note: the next part is optional but I recommend it. Warewulf by defaults deploys ''stateless'' (in memory) but I'd rather deploy ''statefull'' in which VNFS is written to disk. The advantage is that if the node crashed, it will reboot without the help of the **master**, and Linux typically survives crashes. Actually I like the ''golden image'' even better, customize a node, then create the image. More details at [[cluster:144|Warewulf Golden Image]]
  
  
 \\ \\
 **[[cluster:0|Back]]** **[[cluster:0|Back]]**
cluster/154.txt ยท Last modified: 2018/08/17 12:48 by hmeij07