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).
While the cluster is on-line and before you upgrade the frontend, first backup the compute nodes, and network information from the cluster database. The following two commands are new to Rocks 4.0 and will backup the required information onto the /export partition on the frontend, which will in turn be preserved during the upgrade process. If you skip this step you will need to rediscover all of your compute nodes from scratch, using the same procedure you followed for initial installation. Please note, this procedure will change in the next release of Rocks to further simplify this process.
# insert-ethers --dump > /export/insert-ethers.sh # add-extra-nic --dump > /export/add-extra-nic.sh # tar -cf /export/ssh.tar /root/.ssh |
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). |
Once the frontend installation is complete login as root and restore your cluster database node and network information.
# sh /export/insert-ethers.sh # sh /export/add-extra-nic.sh # tar -xf /export/ssh.tar # insert-ethers --update # rm /export/insert-ethers.sh /export/add-extra-nic.sh /export/ssh.tar |
The last step is to force a re-installation of all of your compute nodes. The following will force a PXE (network install) reboot of all your compute nodes to the release installed on the upgraded frontend machine.
# ssh-agent $SHELL # ssh-add # cluster-fork /boot/kickstart/cluster-kickstart-pxe |
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.