Open main menu

OpenVZ Virtuozzo Containers Wiki β

Changes

Migration from one HN to another

1,873 bytes added, 08:11, 27 May 2012
Summary
I just wanted to get the content out there. Could someone pretty this thing up?{{wikify}}
The vzmigrate script is used to migrate a Virutal Environment [[container]] from one [[Hardware Node ]] to another.
You first have to setup SSH to permit the old HN to be able to login to the new HN without a password prompt. Run the following on the old HN.== Summary ==
OLD SERVER:<codepre>[root@OpenVZ ~]# ssh-keygen -t rsa[root@OpenVZ ~]# cd .ssh/[root@OpenVZ .ssh]# scp id_rsa.pub root@10.1.5.6:./id_rsa.pub</pre>NEW SERVER:<pre>[root@Char ~]# cd .ssh/[root@Char .ssh]# touch authorized_keys2[root@Char .ssh]# chmod 600 authorized_keys2[root@Char .ssh]# cat ../id_rsa.pub >> authorized_keys2[root@Char .ssh]# rm ../id_rsa.pubrm: remove regular file `../id_rsa.pub'? y</pre>OLD SERVER: (test if we can ssh without password)<pre>[root@OpenVZ .ssh]# ssh -2 -v root@10.1.5.6[root@Char ~]# exit[root@OpenVZ .ssh]# vzmigrate 10.1.5.6 101</pre>Above example migrate VM 101 to 10.1.5.6. You can read detail explanation below: == Setting up SSH keys == You first have to setup SSH to permit the old HN to be able to login to the new HN without a password prompt. Run the following on the old HN. <pre>[root@OpenVZ ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Warning: Permanently added '10.1.5.6' (RSA) to the list of known hosts.
root@10.1.5.6's password:
id_rsa.pub 100% 231 0.2KB/s 00:00</codepre>
Run the following on the new HN.
<codepre>[root@Char ~]# cd .ssh/
[root@Char .ssh]# touch authorized_keys2
[root@Char .ssh]# chmod 600 authorized_keys2
[root@Char .ssh]# cat ../id_rsa.pub >> authorized_keys2
[root@Char .ssh]# rm ../id_rsa.pub
rm: remove regular file `../id_rsa.pub'? y</codepre>
Run the following on the old HN.
<codepre>[root@OpenVZ .ssh]# ssh -2 -v root@10.1.5.6
OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Entering interactive session.
Last login: Thu Aug 9 16:41:30 2007 from 10.1.5.20
[root@Char ~]# exit</pre> == Prerequisites == Make sure:* you have at least one good backup of the virtual machine you intend to migrate* rsync is installed on the target host* In general you cannot migrate from bigger kernel versions to smaller ones* By default, after the migration process is completed, the Container private area and configuration file are '''deleted''' on the old HN. However, if you wish the Container private area on the Source Node to not be removed after the successful Container migration, you can override the default <code>vzmigrate</code>behavior by using the <code>–r no</code> switch. == vzmigrate usage ==
Now that the vzmigrate script will function, a little bit on vzmigrate.
<codepre>This program is used for VE container migration to another node
Usage:
vzmigrate [-r yes|no] [--ssh=<options>] [--keep-dst] [--online] [-v]
destination_address <VEIDCTID>
Options:
-r, --remove-area yes|no
Whether to remove VE container on source HN for successfully migrated VEcontainer.
--ssh=<ssh options>
Additional options that will be passed to ssh while establishing
passed, DO NOT pass destination hostname.
--keep-dst
Do not clean synced destination VE container private area in case of some error. It makes sense to use this option on big VE container migration to avoid syncing VE container private area again in case some error (on VE container stop for example) occurs during first migration attempt.
--online
Perform online (zero-downtime) migration: during the migration the
VE container hangs for a while and after the migration it continues working
as though nothing has happened.
-v
Verbose mode. Causes vzmigrate to print debugging messages about
its progress (including some time statistics).</codepre>
=== Example ===Here is an example of migrating VE container 101 from the current HN to one at 10.1.5.6:
<codepre>[root@OpenVZ .ssh]# vzmigrate 10.1.5.6 101
OPT:10.1.5.6
Starting migration of VE container 101 on 10.1.5.6
Preparing remote node
Initializing remote quota
Syncing 2nd level quota
Turning quota off
Cleanup</codepre== Migrate all running containers == Here's a simple shell script that will migrate each container one after another. Just pass the destination host node as the single argument to the script. Feel free to add the -v flag to the vzmigrate flags if you'd like to see it execute with the verbose option:  for CT in $(vzlist -H -o veid); do vzmigrate --remove-area no --keep-dst $1 $CT; done  == Additional Information == You can also use this guide to migrate from OpenVZ to Proxmox VE. If you use Proxmox VE, you may also want to read how to [http://pve.proxmox.com/wiki/Backup_-_Restore_-_Live_Migration Backup-Restore] a virtual machine, be it OpenVZ or KVM.  [[Category:HOWTO]]
6
edits