About Image Pushes: push versus sqpush
Explains why some image roots must be pushed to the boot node and discusses the relative mertis of using image push versus image sqpush.
Netroot, diags, and PE image roots must be staged to the boot node before booting the XC system during a fresh install or software update. This staging is necessary because these image roots are projected from the boot node to tier2 nodes, and from tier2 nodes to the rest of system according to the tiers set up in Cray Scalable Services.
| image push | image sqpush | |
|---|---|---|
| what is pushed | transfers image root as a file system (tree) | transfers image root as a single SquashFS file |
| how it is pushed | copies the image root; if changes made to image root, copies only the changed files/directories (rsync) | copies the SquashFS file; if changes made to image root, copies entire new SquashFS file to replace the existing one |
| how it is accessed after push | entire file system is projected by DVS, resulting in many metadata operations and slower access | single SquashFS file is projected by DVS, resulting in many fewer metadata operations and quicker access |
| what space is needed on boot node | consumes space equal to size of image root file system | compressed file consumes less space |
Which command should sites use?
Cray recommends using the image sqpush command in most cases. It is better for large deployments because the dramatically reduced number of metadata operations reduces overall boot times and enables faster file system access. In the case of SMW-managed eLogin, there is no choice. The image sqpush command MUST be used to push eLogin images to eLogin nodes.
The image push command is still an option for development situations, where an image is modified and transferred repeatedly to test the modifications, and the ability to transfer only what has changed provides more rapid turnaround.