How to save a disk image from one node of a Testbed
Once you have the image prepared the way you want it. On the node run:
ssh email@example.com firstname.lastname@example.org: ./prepare.sh
This will remove udev rules (to prevent renaming of interfaces) and dump log files to lower the size of the image. It also shutdown the node.
Once the node has been shutdown, to save the existing disk image on node (1,1) of the 'sb1' testbed, use the command:
omf save -n node1-1.sb1.orbit-lab.org # will save the current disk image on node [1,1] of the 'sb1' testbed
The output of this image saving process will look like the following:
INFO NodeHandler: OMF Experiment Controller 5.4 (git c005675) INFO NodeHandler: Slice ID: pxe_slice INFO NodeHandler: Experiment ID: pxe_slice-2013-02-06t14.14.46-05.00 INFO NodeHandler: Message authentication is disabled INFO Experiment: load system:exp:stdlib INFO property.resetDelay: resetDelay = 230 (Fixnum) INFO property.resetTries: resetTries = 1 (Fixnum) INFO Experiment: load system:exp:eventlib INFO Experiment: load system:exp:saveNode INFO property.node: node = "node1-1.sb1.orbit-lab.org" (String) INFO property.pxe: pxe = "1.1.6" (String) INFO property.domain: domain = "grid.orbit-lab.org" (String) INFO property.started: started = "false" (String) INFO property.image: image = nil (NilClass) INFO property.resize: resize = nil (NilClass) WARN exp: Saving only works for ext2/ext3 partitions and MBR (msdos) partition tables. Saving any other filesystem or partition table type will produce a 0 byte image. INFO Topology: Loading topology 'node1-1.sb1.orbit-lab.org'. INFO Experiment: Resetting resources INFO stdlib: Waiting for nodes (Up/Down/Total): 0/1/1 - (still down: node1-1.sb1.orbit-lab.org) [0 sec.] . . . INFO stdlib: Waiting for nodes (Up/Down/Total): 0/1/1 - (still down: node1-1.sb1.orbit-lab.org) [80 sec.] INFO ALL_UP: Event triggered. Starting the associated tasks. INFO node1-1.sb1.orbit-lab.org: INFO node1-1.sb1.orbit-lab.org: - Saving image of '/dev/sda' on node 'node1-1.sb1.orbit-lab.org' INFO node1-1.sb1.orbit-lab.org: to the file 'bob-node-node1-1.sb1.orbit-lab.org-2013-02-06-14-16-23.ndz' on host '10.10.0.42' INFO node1-1.sb1.orbit-lab.org: INFO property.started: started = "true" (String) INFO exp: INFO exp: - Saving process started at: Wed Feb 06 14:16:27 -0500 2013 INFO exp: (this may take a while depending on the size of your image) INFO Experiment: DONE! INFO ExecApp: Application 'commServer' finished INFO run: Experiment sb1_2008_07_20_23_38_04 finished after 9:19 done.
At the end of the saving process, you will have disk image file with the name: "bob-node-node1-1.sb1.orbit-lab.org-2013-02-06-14-16-23.ndz" in the directory "/export/omf/omf-images" on the machine with the host name "frisbee". These information are all provided in the output displayed above.
You can then:
- install this disk image on a set of nodes, using the instructions described in this tutorial. In this example, to install the newly created disk image on node (1,2):
omf load -t node1-2.sb1.orbit-lab.org -i bob-node-node1-1.sb1.orbit-lab.org-2013-02-06-14-16-23.ndz # will install the disk image on node [1,2] of the 'sb1' testbed
- only for the purpose of making a backup of your image: log into the "repository" machine, and copy your image to your backup storage.
The above disk image saving process is implemented as a special orbit experiment. As such, its execution will results in a log file as with any other orbit experiment. This log file should look like this.
Each image created by the above saving process is a full hard-disk image, which can have arbitrary large file size (>200Mo or even more). As storage on the "frisbee" machine is limited, please be considerate in the number of images you save/use, and move any unused images to your own archival storage.
The generic omf command used above is the access point to control various ORBIT functions, such as the saving of a disk image from a node, with the sub-command "save". To see a list of all the available omf commands, you should type "omf help".
Finally, the complete available option/commands for the save function are given by "omf help save":
omf save --help Save a disk image from a given node into an archive file Usage: omf save -n NODE [-h] [-c AGGREGATE] With: -h, --help print this help message -n, --node NODE a valid description of a single node (MANDATORY) (no default here, you have to enter a node!) -r, --resize SIZE Resizes the first partition to SIZE GB or to maximum size if SIZE=0 or leave x percent of free space if SIZE=x% Some Examples: omf save -n node5-3.grid.orbit-lab.org omf save -n node1-1.sb2.orbit-lab.org