Open main menu

OpenVZ Virtuozzo Containers Wiki β

Editing Migration from one HN to another

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
{{wikify}}
+
I just wanted to get the content out there.  Could someone pretty this thing up?
  
The vzmigrate script is used to migrate a [[container]] from one [[Hardware Node]] to another.
+
The vzmigrate script is used to migrate a Virutal Environment from one Hardware Node to another.
  
== Summary ==
+
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.
 
 
OLD SERVER:
 
<pre>
 
[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.pub
 
rm: 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
 
<pre>[root@OpenVZ ~]# ssh-keygen -t rsa
Line 116: Line 89:
 
Last login: Thu Aug  9 16:41:30 2007 from 10.1.5.20
 
Last login: Thu Aug  9 16:41:30 2007 from 10.1.5.20
 
[root@Char ~]# exit</pre>
 
[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.
 
Now that the vzmigrate script will function, a little bit on vzmigrate.
  
<pre>This program is used for container migration to another node
+
<pre>This program is used for VE migration to another node
 
Usage:
 
Usage:
 
vzmigrate [-r yes|no] [--ssh=<options>] [--keep-dst] [--online] [-v]
 
vzmigrate [-r yes|no] [--ssh=<options>] [--keep-dst] [--online] [-v]
         destination_address <CTID>
+
         destination_address <VEID>
 
Options:
 
Options:
 
-r, --remove-area yes|no
 
-r, --remove-area yes|no
         Whether to remove container on source HN for successfully migrated container.
+
         Whether to remove VE on source HN for successfully migrated VE.
 
--ssh=<ssh options>
 
--ssh=<ssh options>
 
         Additional options that will be passed to ssh while establishing
 
         Additional options that will be passed to ssh while establishing
Line 141: Line 104:
 
         passed, DO NOT pass destination hostname.
 
         passed, DO NOT pass destination hostname.
 
--keep-dst
 
--keep-dst
         Do not clean synced destination container private area in case of some
+
         Do not clean synced destination VE private area in case of some
         error. It makes sense to use this option on big container migration to
+
         error. It makes sense to use this option on big VE migration to
         avoid syncing container private area again in case some error
+
         avoid syncing VE private area again in case some error
         (on container stop for example) occurs during first migration attempt.
+
         (on VE stop for example) occurs during first migration attempt.
 
--online
 
--online
 
         Perform online (zero-downtime) migration: during the migration the
 
         Perform online (zero-downtime) migration: during the migration the
         container hangs for a while and after the migration it continues working
+
         VE hangs for a while and after the migration it continues working
 
         as though nothing has happened.
 
         as though nothing has happened.
 
-v
 
-v
Line 153: Line 116:
 
         its progress (including some time statistics).</pre>
 
         its progress (including some time statistics).</pre>
  
=== Example ===
+
Here is an example of migrating VE 101 from the current HN to one at 10.1.5.6:
Here is an example of migrating container 101 from the current HN to one at 10.1.5.6:
 
  
 
<pre>[root@OpenVZ .ssh]# vzmigrate 10.1.5.6 101
 
<pre>[root@OpenVZ .ssh]# vzmigrate 10.1.5.6 101
 
OPT:10.1.5.6
 
OPT:10.1.5.6
Starting migration of container 101 on 10.1.5.6
+
Starting migration of VE 101 on 10.1.5.6
 
Preparing remote node
 
Preparing remote node
 
Initializing remote quota
 
Initializing remote quota
Line 165: Line 127:
 
Turning quota off
 
Turning quota off
 
Cleanup</pre>
 
Cleanup</pre>
 
== 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]]
 
[[Category:HOWTO]]

Please note that all contributions to OpenVZ Virtuozzo Containers Wiki may be edited, altered, or removed by other contributors. If you don't want your writing to be edited mercilessly, then don't submit it here.
If you are going to add external links to an article, read the External links policy first!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Templates used on this page: