wiki:Documentation/Short/SaveImage

Version 18 (modified by ssugrim, 12 years ago) ( diff )

How to save an existing disk image from one node of a Testbed

Getting Started

  1. Login into reserved domain

    Login into reserved domain

    During your approved time slot, you will be able to ssh into the console of the respective domain. A console is a dedicated machine that allows access to all resources in that domain.

    For example, to access the sandbox1:

    yourhost>ssh username@console.sb1.orbit-lab.org
    
    Using username "username".
    Authenticating with public key "xxxxxxxxx"
    Welcome to Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-36-generic x86_64)
    
     * Documentation:  https://help.ubuntu.com/
    
      System information as of Mon Jan 28 20:25:50 EST 2013
    
      System load:  0.0               Processes:           93
      Usage of /:   2.7% of 69.43GB   Users logged in:     0
      Memory usage: 6%                IP address for eth0: 10.50.18.10
      Swap usage:   0%                IP address for eth1: 10.18.0.10
    
      Graph this data and manage this system at https://landscape.canonical.com/
    
    9 packages can be updated.
    0 updates are security updates.
    
    |-----------------------------------------------------------------|
    |                 *** For authorized use only ***                 |
    | This system is for the use of authorized users only.  All users |
    | are expected to comply with the "Acceptable Use Policy" availa- |
    | ble at http://www.orbit-lab.org/AUP.html                        |
    | Individuals using this computer system, are subject to having   |
    | all of their activities on this system monitored and recorded   |
    | by system personnel.                                            |
    |                                                                 |
    | Anyone using this system expressly consents to such monitoring  |
    | and is advised that if such monitoring reveals possible         |
    | evidence of criminal activity, system personnel may provide the |
    | evidence of such monitoring to law enforcement officials.       |
    |                                                                 |
    | Email question, comments or problems to help@orbit-lab.org      |
    |-----------------------------------------------------------------|
    
    username@console.sb1:~$ 
    
  2. Check the status

    omf stat

    This omf command is used to display the power status of the node/domain.

    Usage: omf stat

    username@consoles.outdoor:omf stat
    Returns the status of the nodes in a testbed
    Usage:
          omf-5.4 stat [-h] [-s] [-t TOPOLOGY] [-c AGGREGATE]
     
          With: 
          -h, --help                print this help message
          -s, --summary             print a summary of the node status for the testbed
          -c, --config AGGREGATE    use testbed AGGREGATE
          -t, --topology TOPOLOGY   a valid topology file or description (defaults to 'system:topo:all')
     
          Some Examples: 
                        omf-5.4 stat
                        omf-5.4 stat -s
                        omf-5.4 stat -t omf.nicta.node1,omf.nicta.node2 -c sb1
                        omf-5.4 stat -t system:topo:all -c grid
    

    Individual nodes are identified in the output of stat command by their fully qualified domain name (FQDN). This establishes their "coordinates" and the "domain" to which they belong. Nodes in different domains typically can NOT see each other. Node can be in 1 of 3 states:

    POWEROFF Node is Available for use but turned off
    POWERON Node is Available and is on
    NOT REGISTERED Node is not Available for use

    Example: omf stat on the outdoor domain

    user@console.outdoor:~# omf stat -t all
    
     INFO NodeHandler: OMF Experiment Controller 5.4 (git 6d34264)
     INFO NodeHandler: Slice ID: default_slice (default)
     INFO NodeHandler: Experiment ID: default_slice-2012-10-14t14.42.15-04.00
     INFO NodeHandler: Message authentication is disabled
     INFO Experiment: load system:exp:stdlib
     INFO property.resetDelay: value = 210 (Fixnum)
     INFO property.resetTries: value = 1 (Fixnum)
     INFO Experiment: load system:exp:eventlib
     INFO Experiment: load system:exp:stat
     INFO Topology: Loading topology ''.
     INFO property.nodes: value = "system:topo:all" (String)
     INFO property.summary: value = false (FalseClass)
     INFO Topology: Loading topology 'system:topo:all'.
     Talking to the CMC service, please wait
    -----------------------------------------------
     Domain: outdoor.orbit-lab.org
     Node: node3-6.outdoor.orbit-lab.org   	 State: NOT REGISTERED
     Node: node3-3.outdoor.orbit-lab.org   	 State: POWEROFF
     Node: node2-10.outdoor.orbit-lab.org    State: POWEROFF
     Node: node1-10.outdoor.orbit-lab.org    State: POWEROFF
     Node: node1-8.outdoor.orbit-lab.org   	 State: POWERON
     Node: node1-6.outdoor.orbit-lab.org   	 State: POWERON
     Node: node3-2.outdoor.orbit-lab.org   	 State: POWEROFF
     Node: node3-1.outdoor.orbit-lab.org   	 State: POWEROFF
     Node: node1-3.outdoor.orbit-lab.org   	 State: POWERON
     Node: node3-5.outdoor.orbit-lab.org   	 State: POWEROFF
     Node: node2-5.outdoor.orbit-lab.org   	 State: NOT REGISTERED
     Node: node1-2.outdoor.orbit-lab.org   	 State: POWERON
    -----------------------------------------------
     INFO Experiment: Switching ON resources which are OFF
     INFO EXPERIMENT_DONE: Event triggered. Starting the associated tasks.
     INFO NodeHandler: 
     INFO NodeHandler: Shutting down experiment, please wait...
     INFO NodeHandler: 
     INFO run: Experiment default_slice-2012-10-14t14.42.15-04.00 finished after 0:6
    

Saving the image

Once you have the image prepared the way you want it. On the node run:

ssh root@node1-1.sb1.orbit-lab.org
root@node1-1.sb1.orbit-lab.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.


Learning More

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
                          (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 omf.nicta.node1
                    omf save -n omf.nicta.node3 -c grid
 

 

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.