This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
cluster:139 [2015/04/08 18:11] hmeij |
cluster:139 [2015/07/31 17:54] hmeij |
||
---|---|---|---|
Line 59: | Line 59: | ||
</ | </ | ||
- | Next comes a piece of mystery. When executing | + | Next comes a piece of mystery. When executing |
* Lethal error thrown by module: / | * Lethal error thrown by module: / | ||
Line 122: | Line 122: | ||
</ | </ | ||
+ | Next restart some warewulf services. I had to edit the / | ||
+ | |||
+ | < | ||
+ | |||
+ | [root@petaltail ~]# wwsh dhcp update | ||
+ | Rebuilding the DHCP configuration | ||
+ | Done. | ||
+ | |||
+ | [root@petaltail ~]# wwsh pxe update | ||
+ | No nodes found | ||
+ | |||
+ | [root@petaltail ~]# wwsh | ||
+ | Warewulf> | ||
+ | Warewulf> | ||
+ | Are you sure you want to make the following changes to 1 node(s): | ||
+ | |||
+ | SET: BOOTSTRAP | ||
+ | SET: VNFS = centos-6 | ||
+ | |||
+ | Yes/No> y | ||
+ | Warewulf> | ||
+ | |||
+ | </ | ||
+ | |||
+ | Booting the node we observe the eth0 MAC address being picked up by DHCPd followed by the tftpboot process. | ||
+ | |||
+ | < | ||
+ | |||
+ | [root@petaltail ~]# wwsh file import /etc/passwd | ||
+ | |||
+ | [root@petaltail ~]# wwsh file list | ||
+ | dynamic_hosts | ||
+ | group : -rw-r--r-- 1 root root 6247 /etc/group | ||
+ | passwd | ||
+ | shadow | ||
+ | |||
+ | [root@petaltail ~]# wwsh provision set b[0-51] --fileadd passwd | ||
+ | |||
+ | [root@petaltail ~]# wwsh provision print | ||
+ | #### b51.cluster ############################################################## | ||
+ | b51.cluster: | ||
+ | b51.cluster: | ||
+ | b51.cluster: | ||
+ | b51.cluster: | ||
+ | b51.cluster: | ||
+ | b51.cluster: | ||
+ | b51.cluster: | ||
+ | b51.cluster: | ||
+ | b51.cluster: | ||
+ | b51.cluster: | ||
+ | ... | ||
+ | |||
+ | </ | ||
+ | |||
+ | Next build a hybrid VNFS, this is the way to add packages to the nodes. | ||
+ | |||
+ | < | ||
+ | |||
+ | cd / | ||
+ | mkdir vnfs | ||
+ | |||
+ | vi etc/fstab (inside of chroot area, edit) | ||
+ | 192.168.1.217:/ | ||
+ | |||
+ | wwvnfs --chroot / | ||
+ | Overwrite original: y | ||
+ | |||
+ | # reboot node, observe mount, then add NTP to chgroot | ||
+ | |||
+ | yum --tolerant --installroot / | ||
+ | |||
+ | vi etc/ | ||
+ | # chkconfig: 35 58 74 | ||
+ | |||
+ | # then make the following links in etc/ | ||
+ | |||
+ | vi etc/ | ||
+ | restrict default ignore | ||
+ | restrict 127.0.0.0 | ||
+ | server 192.168.1.217 | ||
+ | restrict 192.168.1.217 nomodify | ||
+ | |||
+ | wwvnfs --chroot / | ||
+ | VNFS ' | ||
+ | |||
+ | # reboot node | ||
+ | |||
+ | </ | ||
+ | |||
+ | Then build the node up: | ||
+ | |||
+ | * use yum to install the openlava 2.2.1 RPM (pulls in tcl) | ||
+ | * copy the openlava config files into the centos-6 are | ||
+ | * use yum to install postfix | ||
+ | * add links in rc3.d and rc5.d | ||
+ | * remove sendmail links | ||
+ | * yum install perl | ||
+ | * yum install munge | ||
+ | * build RPMs from tar ball | ||
+ | * rebuild the VNFS and reboot | ||
+ | |||
+ | Sometimes you can edit the files in the chroot directly, sometimes you must modify the installtoot directly. | ||
+ | |||
+ | < | ||
+ | |||
+ | [root@petaltail ~]# cd / | ||
+ | [root@petaltail chroots]# chroot centos-6 | ||
+ | [root@petaltail /]# pwd | ||
+ | / <--- inside of installroot | ||
+ | [root@petaltail /]# mkdir / | ||
+ | [root@petaltail /]# chown munge:munge / | ||
+ | [root@petaltail /]# mkdir / | ||
+ | [root@petaltail /]# chown slurm:munge / | ||
+ | chown: invalid user: `slurm: | ||
+ | |||
+ | # since the passwd|shadow|group files come from database you need to create the relevant lines | ||
+ | |||
+ | [root@petaltail /]# chown slurm:munge / | ||
+ | [root@petaltail /]# exit | ||
+ | exit | ||
+ | [root@petaltail chroots]# ls | ||
+ | centos-6 | ||
+ | |||
+ | # outside edit commenting out rc.local directives making these dirs etc | ||
+ | [root@petaltail chroots]# vi centos-6/ | ||
+ | |||
+ | # and don't forget | ||
+ | [root@petaltail chroots]# wwvnfs --chroot / | ||
+ | |||
+ | # reboot node | ||
+ | </ | ||
+ | |||
+ | |||
+ | To build short hostnames you can create a template inside of the chroot environment. | ||
+ | |||
+ | < | ||
+ | |||
+ | #--- build file CHROOT/ | ||
+ | | ||
+ | | ||
+ | #--- end | ||
+ | |||
+ | # add that file (using wwsh provision) to the nodes. | ||
+ | |||
+ | [root@]# wwsh file import / | ||
+ | | ||
+ | |||
+ | [root@]# wwsh provision set n[00-15] --fileadd=network.ww | ||
+ | |||
+ | </ | ||
+ | |||
+ | Second interface: create a template inside of the chroot environment. | ||
+ | |||
+ | < | ||
+ | |||
+ | wwsh node set b49 --netdev=eth1 \ | ||
+ | --hwaddr=00: | ||
+ | --netmask=255.255.0.0 | ||
+ | |||
+ | #--- build file CHROOT/ | ||
+ | DEVICE=eth1 | ||
+ | BOOTPROTO=static | ||
+ | ONBOOT=yes | ||
+ | HWADDR=%{NETDEVS:: | ||
+ | IPADDR=%{NETDEVS:: | ||
+ | NETMASK=%{NETDEVS:: | ||
+ | NETWORK=%{NETDEVS:: | ||
+ | #--- end | ||
+ | |||
+ | # add that file (using wwsh provision) to the nodes. | ||
+ | |||
+ | [root@]# wwsh file import / | ||
+ | | ||
+ | |||
+ | [root@]# wwsh provision set n[00-15] --fileadd=ifcfg-eth1.ww | ||
+ | |||
+ | </ | ||
+ | |||
+ | Now, lets put it all together which can form the basis for a script. | ||
+ | |||
+ | < | ||
+ | |||
+ | wwsh node new b6 --netdev=eth0 \ | ||
+ | --hwaddr=00: | ||
+ | --netmask=255.255.0.0 | ||
+ | --groups=wwnodes | ||
+ | |||
+ | wwsh node set b6 --netdev=eth1 \ | ||
+ | --hwaddr=00: | ||
+ | --netmask=255.255.0.0 | ||
+ | |||
+ | wwsh provision set --lookup groups wwnodes --vnfs=centos-6 --bootstrap=2.6.32-504.8.1.el6.x86_64 | ||
+ | |||
+ | wwsh provision set b6 --fileadd passwd, | ||
+ | wwsh provision set b6 --fileadd hosts, | ||
+ | wwsh provision set b6 --fileadd network.ww, | ||
+ | |||
+ | |||
+ | </ | ||
+ | Useful links | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * http:// | ||
\\ | \\ | ||
**[[cluster: | **[[cluster: |