Xen Live Migration Of An LVM-Based Virtual Machine With iSCSI On Debian Lenny - Page 3
5 Creating Virtual MachinesWe will use xen-tools to create virtual machines. xen-tools make it very easy to create virtual machines - please read this tutorial to learn more: http://www.howtoforge.com/xen_tools_xen_shell_argo. Now we edit /etc/xen-tools/xen-tools.conf. This file contains the default values that are used by the xen-create-image script unless you specify other values on the command line. I changed the following values and left the rest untouched: server1/server2: vi /etc/xen-tools/xen-tools.conf
Make sure that you uncomment the lvm line and fill in the name of the volume group on the shared storage (vg_xen). At the same time make sure that the dir line is commented out! dist specifies the distribution to be installed in the virtual machines (Debian Lenny) (there's a comment in the file that explains what distributions are currently supported). The passwd = 1 line makes that you can specify a root password when you create a new guest domain. In the mirror line specify a Debian mirror close to you. Make sure you specify a gateway, netmask, and broadcast address. If you don't, and you don't specify a gateway and netmask on the command line when using xen-create-image, your guest domains won't have networking even if you specified an IP address! It is very important that you add the line serial_device = hvc0 because otherwise your virtual machines might not boot properly! Now let's create our first guest domain, vm1.example.com, with the IP address 192.168.0.103: server1: xen-create-image --hostname=vm1.example.com --size=4Gb --swap=256Mb --ip=192.168.0.103 --memory=128Mb --arch=amd64 --role=udev server1:~# xen-create-image --hostname=vm1.example.com --size=4Gb --swap=256Mb --ip=192.168.0.103 --memory=128Mb --arch=amd64 --role=udev As you see, the command has created two new logical volumes in the vg_xen volume group, /dev/vg_xen/vm1.example.com-disk and /dev/vg_xen/vm1.example.com-swap. There should now be a configuration file for the vm1.example.com Xen guest in the /etc/xen directory, vm1.example.com.cfg. Because we want to migrate the Xen guest from server1 to server2 later on, we must copy that configuration file to server2: scp /etc/xen/vm1.example.com.cfg root@server2.example.com:/etc/xen/ Now we can start vm1.example.com: xm create /etc/xen/vm1.example.com.cfg
5.1 Moving Existing Virtual Machines To The vg_xen Volume GroupIf you want to do live migration for existing virtual machines that are not stored on the iSCSI shared storage, you must move them to the vg_xen volume group first. You can do this with dd, no matter if the guests are image- or LVM-based. This tutorial should give you the idea how to do this: Xen: How to Convert An Image-Based Guest To An LVM-Based Guest
6 Live Migration Of vm1.example.com From server1 To server2To check if the live migration is really done "live", i.e. without interruption of the guest, you can log into vm1.example.com (e.g. with SSH) and ping another server: vm1.example.com: ping google.com This will ping google.com until you press CTRL + C. The pinging should continue even during the live migration. server1: xm list should show that vm1.example.com is currently running on server1: server1:~# xm list Before we migrate the virtual machine to server2, we must make sure that /dev/vg_xen/vm1.example.com-disk and /dev/vg_xen/vm1.example.com-swap are available on server2: server2: lvdisplay server2:/etc/xen# lvdisplay As you see, the command shows NOT available for both volumes, so we must make them available: lvscan Now they should be available: lvdisplay server2:/etc/xen# lvdisplay xm list should not list vm1.example.com yet on server2: server2:~# xm list Now we can start the live migration: server1: xm migrate --live vm1.example.com server2.example.com During the migration, the pings on vm1.example.com should continue which means that the guest is running even during the migration process. Afterwards, take a look at xm list server1:~# xm list As you see, vm1.example.com isn't listed anymore on server1. Let's check on server2: server2: xm list server2:~# xm list If everything went well, vm1.example.com should now be running on server2.
7 Links
|



Recent comments
1 day 13 hours ago
1 day 22 hours ago
2 days 1 hour ago
2 days 2 hours ago
2 days 3 hours ago
2 days 5 hours ago
2 days 6 hours ago
2 days 8 hours ago
3 days 7 min ago
3 days 57 min ago