If you already have a Rocks cluster, you may choose to upgrade the existing frontend. Below describes the procedure (as well as an explanation of some of the internals).
Prep your compute nodes for PXE installation.
While the cluster is on-line and before you upgrade the frontend, first prep the compute nodes for a PXE installation. If your compute nodes support PXE installs, then execute the following commands to ensure the compute nodes will PXE the next time they boot:
# ssh-agent $SHELL # ssh-add # cluster-fork 'touch /boot/grub/pxe-install' # cluster-fork '/boot/kickstart/cluster-kickstart --start' # cluster-fork '/sbin/chkconfig --del rocks-grub' |
Now you can shutdown your compute nodes. After the frontend upgrade is complete, you'll run insert-ethers and then turn on your compute nodes one at a time. This is similar to the first time you brought up your cluster, but this time you don't have to initially boot each compute node with the CD or manually force a PXE boot by interacting with each compute node's BIOS screens. This procedure should allow you to upgrade your cluster faster than when you initially installed it.
If your compute nodes don't support PXE, then you will have to use the CD to upgrade your compute nodes after the frontend upgrade is completed.
Insert the Rocks installation CD into your frontend machine and reboot the frontend machine.
When you see the "boot:" prompt, type:
frontend upgrade |
At this point, the installation follows the same steps as a normal frontend installation (See the section: Install Frontend) -- with one exception:
You must manually configure your partitions. Additionally, you must reformat your / partition and your /boot partition (if it exists). |
We have added code to the Red Hat installer to support upgrading a frontend. Early in the upgrade process (before the root partition is reformatted), our code mounts the existing root partition and extracts the following files:
/etc/passwd /etc/shadow /etc/gshadow /etc/group /etc/auto.home /etc/fstab /etc/exports |
After all the packages have been installed, our code then merges the contents of the old files with the new files that are now in the root partition. If there is an common entry in both the old and new files, the entry from the new file is put in the resulting merged file and the old entry is discarded.
All non-root partitions will be preserved and remounted when the frontend completes its upgrade. For example, a standard Rocks frontend has a root partition and a partition named /export. The root partition will be reformatted, while the /export will remain intact and will be automatically remounted once the frontend completes its upgrade.