In Oracle OpenStack for Oracle Solaris, VM instances are kernel or non-global zones, which are scalable high density virtual environments of Oracle Solaris.
For more information about zone live migration, see Creating and Using Oracle Solaris Kernel Zones about migrating kernel zones. This book is in your Oracle Solaris version's library in Operating Systems Documentation. Refer also to the zoneadm(1M) and solaris-kz(5)man pages.
For node migration to succeed, you must ensure that the SSH key of each compute node is added to the authorized keys file of each node. Thus, the nodes share identical files of authorized keys, as illustrated in the following figure:
Prepare for VM instance migration by completing the following steps:
On each node, create an SSH key.
# su - nova -c "ssh-keygen -N '' -f /var/user/nova/.ssh/id_rsa -t rsa"
Bring all the key files from the different nodes into a common location in one of the nodes.
Combine all the keys into the authorized_keys file.
For example:
# cat nova(1)/id_rsa.pub nova(n)/id_rsa.pub >> /var/user/nova/.ssh/authorized_keys
where nova(1) through nova(n) represent the SSH keys of the participating nodes.
Distribute the authorized_keys file to the /var/user/nova/.ssh directories of all the other participating nodes.
As an option, specify the cipher to use during migration on the live_migration_cipher parameter in the /etc/nova/nova.conf file of each compute node.
However, if you prefer the process to automatically select a suitable cipher, leave the parameter unset.
To migrate an instance, use the following syntax after setting the global shell variables:
To perform a live migration of a running server to a different machine, use the following syntax after setting the global shell variables:
# nova live-migration server [host]
where server can either be the server's name or ID, and the optional host is the name of the destination server.
If the node of the current instance fails, or if the Nova service itself becomes disabled for a period of time, you can move the instance and rebuild it on another node by using the nova evacuate command. Thus, you are able to recover the node.
Note that you can only evacuate kernel zones. Evacuation is supported in configurations where root devices are on shared storage.
To perform a live migration of all of the VM instances from one host to another, use the following syntax after setting the global shell variables.
# nova host-evacuate-live [--target-host target] server