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
reboot
# 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
fi
# 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
iprange 10.54.60.0
node 52:54:00:a6:f3:3c
node 40:8d:5C:fa:EA:C3
EOF
# 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