This article is being updated. Please be aware the content herein, not limited to version numbers and slight syntax changes, may not match the output from the most recent versions of Bright. This notation will be removed when the content has been updated.
In certain situations it may be desirable to install a Bright head node by booting it off of a PXE server. There are a few preparation steps required in order to allow a Bright ISO to be deployed over the network. There is also a requirement for a machine on the network which is capable of serving TFTP and NFS. It is assumed that a PXE infrastructure (with DHCP server pointing to a TFTP server is already set up).
Preparation
Make the kernel and initrd from the DVD ISO available through your TFTP server:
mkdir -p /mnt/iso
mount -o loop bright8.0-centos7u2.iso /mnt/iso
cp /mnt/iso/boot/rootfs.cgz /tftpboot/bright8-centos7u2-rootfs.cgz
cp /mnt/iso/boot/kernel /tftpboot/bright8-centos7u2-kernel
Make the Linux base distribution and packages tree available through NFS:
mkdir -p /vol/bright/base-distributions
cp /mnt/iso/data/*.tar.gz /vol/bright/base-distributions
cp -r /mnt/iso/data/packages/* /vol/bright/rpm-store
# OR alternatively replace previous command with:
# mount --bind /mnt/iso/data/packages /vol/bright/rpm-store
Export the NFS volume to your network:
# Add the following line (with network replaced) to /etc/exports:
/vol/bright 10.2.0.0/16(ro,nohide,all_squash,async)
# Reload NFS server configuration:
exportfs -a
Configure the PXE environment with a label such as the following. Make sure to replace relevant details appropriately (e.g. the IP address to the NFS server).
LABEL bright
KERNEL bright8-centos7u2-kernel
IPAPPEND 3
APPEND vga=normal root=/dev/ram0 rw nokeymap xlogin nfsinstall=10.2.1.32 initrd=bright8-centos7u2-rootfs.cgz
Setting up remote installation
The installation manual (Bright Cluster Manager 8.1+) explains how to carry out an installation, mostly remotely, using SSH or VNC, when the installation is done via a DVD or USB image. A similar, mostly remote, installation can also be carried out using SSH or VNC when the installation is done from a PXE server. There are two ways to prepare for a remote session
- Clicking “Remote Installation” in the graphical installer after the GUI installer has been chosen from the PXE boot menu.
or - Adding a kernel parameter called “netconf” from the PXE boot menu.
Parameter “netconf” follows this pattern: <Interface>:<IP assignment mode>,<IP address>,<Gateway>,<Netmask>:<Password>Examples for static and DHCP assignments:
- netconf=eth1:dhcp:secret
- netconf=eth0:static,10.141.161.253,10.141.255.254,255.255.0.0:secret
With this parameter added, your APPEND line will look like:
APPEND vga=normal root=/dev/ram0 rw nokeymap xlogin nfsinstall=10.2.1.32 initrd=bright8-centos7u2-rootfs.cgz netconf=eth0:static,10.141.161.253,10.141.255.254,255.255.0.0:br347h0fw1ld
If the kernel parameter and netconf parameter settings in the PXE boot menu are correct, then the SSH and VNC servers are launched after entering the settings.
Connecting via a client remotely, and how to continue installation on connection from remote
Using SSH:
Login to the head node using ‘root’ user. If you have a build-config.xml already prepared, then you can run the unattended text-mode installer: “/cm/cm-master-install –config /path/to/config/build-config.xml”. You can also run non-X/fallback interactive Ncurses installer by running “cm-installer-nonx”.
Using VNC:
Connect from a remote machine to the head node using the same password as SSH. Your VNC client should support TLS connections to be able to connect. The ssvnc client works when used with the -ssl option. The VNC connection then displays, on the remote machine, the GUI installer that is running on the head node. The GUI can then be managed from the remote machine.
In case of an error with the netconf parameter settings, the remote Installation page of the GUI installer indicates the reason for the error. E.g. “Password cannot be empty”
If you experience problems with VNC, then you can check /var/log/x0vncserver.log on the server.
Performing the installation the non-remote way
- Boot the head node off the network using the correct interface. On a head node with a connection to the internal cluster network, and the external site network, the correct interface will be the external site network.
- Depending on configuration of PXE environment, make sure that the correct PXE label is loaded
- Wait until the graphical installer screen shows up. This may take a while because transferring a ~350MB initrd over TFTP can be a bit slow, especially on congested networks.
- Go through the installation screens until the NFS Parameters screen. At this screen, double check that all parameters are filled correctly. When in doubt, it is possible to press Alt-Ctrl-F2 and login as root to double-check that the NFS parameters are correct. On networks where the DHCP server takes a while to respond, it may be necessary to perform a second try after an initial DHCP failure.
- In the Network Interfaces screen, make sure to assign the correct NIC for the head node to the internal and the external network. By default the first NIC is for the internal network and the second NIC is for the external network.