Moving a SmartMachine between Compute Nodes

Moving a SmartMachine between Compute Nodes

This page shows you how you can migrate one SmartMachine from one compute node to another. This is a manual procedure, and there are some limitations:

  • Your head node software must be Imbe (11 June 2011) or later.
    The source and destination compute nodes must be in the same subnet.
  • You must be able to log in to the global zone of the source compute node.
  • You must be able to access the destination compute node from the source compute node using SSH.

In this example, we’re migrating the zone named z1 from the source compute node. Both nodes are in the Admin subnet. The destination compute node’s IP address is, and its UUID is 564d2a09-3821-893f-ab2a-9fb225325c53. The MAPI zone has IP address

On the source compute node
Log in to the destination compute node to confirm that you can perform remote operations on it. You only need to do the step once per destination node.

ssh root@

You should see a prompt similar to the following:

The authenticity of host ' (' can't be established.
RSA key fingerprint is 05:84:39:47:2a:c2:c4:9e:42:dd:2c:4e:3a:5b:3f:53.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '' (RSA) to the list of known hosts.

Enter the root password to confirm that you can access the node, then logout.

Halt the zone you want to move and create its ZFS snapshot.

zoneadm -z z1 halt
zfs snapshot zones/z1@migration

Send the zone’s file system to the destination. Whenever possible use the Admin network for sending the snapshot. Second best is the External network. The public network is last.

zfs send zones/z1@migration | ssh root@ zfs recv -d zones

You will be prompted for the root password on

Destroy the snapshot on the source compute node.

zfs destroy zones/z1@migration

Copy the zone definition to the destination.

scp /etc/zones/z1.xml root@

You will be prompted for the root password on

Disable the zone from running again on the source compute node.

zonecfg -z z1 set autoboot=false

Once the zone has been confirmed to be running properly
on the destination, you can remove the zone from the source.

zoneadm -z z1 uninstall -F
zonecfg -z z1 delete -F

Do not leave both the old zone and the new zone running at the same time.
On the destination compute node
Get rid of the ZFS snapshot.

zfs destroy zones/z1@migration

Make zone z1 known to the system.

zonecfg -z z1 create -X
zoneadm -z z1 attach -F

Boot the zone.

zoneadm -z z1 boot

Check that the migration went well. Make sure that svcs and the network are working.

zlogin z1
netstat -rn
svcs -xv

Update MAPI with zone’s new server
Finally, you need to let MAPI know that you’ve moved the zone from one compute node to another.

headnode# sdc-mapi /zones/z1/mark_as_migrated \
         -X POST \
         -d 'server_uuid=564d2a09-3821-893f-ab2a-9fb225325c53'Unix