Scyld ClusterWare Migration GuideΒΆ

You cannot use the ClusterWare scyld-install tool to simplistically update a ClusterWare 7 master node into a ClusterWare 11 or 12 head node. Too many software pieces and configuration specifics have changed.

The most straightforward conversion is to perform a ClusterWare scyld-install --install on a non-ClusterWare virtual machine (VM) or a non-ClusterWare bare metal node. Installing ClusterWare on a new VM or bare metal server is described in Installation and Upgrade of Scyld ClusterWare. If the CW6 or CW7 master node executes on a VM, then it can physically co-exist with a new CW11 or CW12 VM, although the older master node should be turned off to avoid conflicts with compute node ownership. If the CW6 or CW7 master node executes on a bare metal server, then reformat the server prior to performing the scyld-install --install in order to remove all traces of the older ClusterWare.

Alternatively, you can perform the following steps to update a CW7 master node (but not a CW6, which requires a fresh VM or bare metal server) to ClusterWare 11 or 12 with a combination of manual steps followed by using scyld-install to perform a fresh install of ClusterWare 11 or 12, which begins by silently removing the remaining vestiges of the older CW7:

# Executing as user root on the CW7 master node:

systemctl disable clusterware
systemctl enable NetworkManager

# Remove various packages that the cw11/cw12 clusterware.spec doesn't remove.
rpm -qa | egrep "openmpi|mpich|mvapich" | sudo xargs rpm -e
rpm -qa | egrep "singularity|pvm-gui|slurm|munge|torque" | sudo xargs rpm -e

# ssh back into the CW7 which will become a CW11 or CW12 head node:
ssh <cw11-head-node>

# Remove the CW7 yum repo file:
rm -f /etc/yum.repos.d/clusterware.repo

# Update the base distribution:
yum clean all
yum update

# If the CW7 master node was recently updated, then this yum update will not
# have updated the CW7 kernel, and the node will still be executing that CW7
# kernel. This is functionally acceptable, since the CW7-customized changes
# to the kernel are disabled, though you may wish to manually replace the CW7
# kernel with the vanilla same-version kernel, or perhaps change the grub
# file to boot the vanilla kernel if it exists in /boot.

# Add this head node's IP address to the /etc/hosts file:
SELF_IP=$(ip addr | grep ^"    inet " | grep -v 127 | sed 's/^    inet //' | awk -F / '{print $1}')
if ! grep -q ${SELF_IP} /etc/hosts; then
    echo -e "${SELF_IP}\t$(hostname)" >>/etc/hosts

# Optionally create a cw11 administrator, e.g., "admin1".
# Add that administrator to /etc/sudoers:
#    admin1 ALL=(root)      NOPASSWD: ALL

Then you can experiment with instructions in the Quickstart Guide or follow the more elaborate instructions in Installation and Upgrade of Scyld ClusterWare.

For example:

su - admin1

# Create a cluster config file, e.g.,
cat <<-EOF >/tmp/cluster-conf
interface eth0
node 52:54:00:a6:f3:3c
node 40:8d:5C:fa:EA:C3

# Download the appropriate clusterware.repo, then install it locally:
sudo cp downloaded.clusterware.repo /etc/yum.repos.d/clusterware.repo

# Install the clusterware-installer package:
sudo yum install clusterware-installer

# Execute a fresh install of ClusterWare:
scyld-install --config /tmp/cluster-conf

Or you can download the ClusterWare installer script, download a ClusterWare ISO, then install using the ISO, which creates and installs its own clusterware.repo file. For example,

# Download a CW12 ISO that matches the base distribution major number,
#  e.g., on a RHEL8-clone server,
scyld-install --config /tmp/cluster-conf --iso clusterware-12.0.0-g0000.el8.x86_64.iso