Capturing and Importing Images#

You can modify the files on a booted compute node and use the scyld-modimg --capture command to capture those changes into the image. You can capture the node into an existing image or into a new image. First, confirm that the node being captured is idle to reduce the chance of capturing an image in some intermediate state, then run the capture command. For example, to capture node n0, run the following command:

scyld-modimg --capture n0 --set-name NewImage

This process may take several minutes. During that time the scyld-pack-node tool is executed on the compute node via the scyld-nodectl exec mechanism. The result is streamed back to the scyld-modimg command that then uploads it to the head node, potentially replacing an existing NewImage contents. The scyld-pack-node tool captures all files on the node's / mount, but does not walk other mounted file systems to ensure that any shared storage is not accidentally captured.

You also need to create a boot config for this captured image. For example:

scyld-add-boot-config --image NewImg --boot-config NewBoot

Manual work is likely required to generalize the captured image as the process may capture details specific to the compute node. Due to this hazard, future ICE ClusterWare™ releases may expand what files are excluded during image capture.

RHEL 7 clones use a version of RPM too old to properly interpret RHEL 9 packages, so if you are trying to create an image, you may want to kickstart a diskful node and then use scyld-modimg --capture to create the image. You must comment out or delete the node-specific lines in /etc/fstab created during the kickstarted installation.