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/16 15:23] hmeij |
cluster:139 [2018/08/01 19:24] hmeij07 [Warewulf Stateless] |
||
---|---|---|---|
Line 2: | Line 2: | ||
**[[cluster: | **[[cluster: | ||
- | ===== Warewulf | + | ===== Warewulf |
* [[http:// | * [[http:// | ||
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: / | ||
* answer is here https:// | * answer is here https:// | ||
+ | * quoting | ||
+ | |||
+ | < | ||
+ | What it appears you'll need to do initially is build out a chroot | ||
+ | directory. For example, for a Scientific Linux 6.x install, you'd do: | ||
+ | |||
+ | # wwmkchroot sl-6 / | ||
+ | to store them at -- run wwmkchroot -h for the help) | ||
+ | |||
+ | That will give the base chroot for the VNFS at / | ||
+ | You'll then set the environment variable CHROOTDIR when you execute | ||
+ | wwinit. | ||
+ | |||
+ | # CHROOTDIR=/ | ||
+ | |||
+ | I know when you use the ' | ||
+ | chroot based upon the host OS. But none of the other wwinit scripts, | ||
+ | by default, create one; So you will need to build the chroot and | ||
+ | specify where the directory is. Then when the VNFS part of wwinit is | ||
+ | ran, it will build the VNFS and import it into the datastore at that | ||
+ | time, setting the one specified as the default VNFS in the | ||
+ | configuration. | ||
+ | </ | ||
So we start by making the chroot directories, | So we start by making the chroot directories, | ||
Line 195: | Line 218: | ||
vi etc/ | vi etc/ | ||
# chkconfig: 35 58 74 | # chkconfig: 35 58 74 | ||
+ | |||
+ | # then make the following links in etc/ | ||
vi etc/ | vi etc/ | ||
Line 208: | Line 233: | ||
</ | </ | ||
+ | |||
+ | 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. | ||
+ | |||
+ | < | ||
+ | |||
+ | # make sure it boots across network, alter BIOS settings | ||
+ | |||
+ | 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 b6 --fileadd passwd, | ||
+ | wwsh provision set b6 --fileadd hosts, | ||
+ | wwsh provision set b6 --fileadd network.ww, | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | [[cluster: | ||
Useful links | Useful links |