Just wanted to share some success I had moving some Xen guests from one server to another. Problem Recap We had Xen host on a single core 32-bit CentOS 5.4 installation on an AMD Athlon 2.1 GhZ system that was giving hard drive errors and needed to move the LVM-backed Xen images to another server. The replacement server was a quad-core AMD Phenom system running 64-bit CentOS 5.4. Our original plan was to use LVM snapshots so that we wouldn't need a maintenance window. This worked fine in test, but we decided to bring down the Xen guests after all. After shutting down the systems we backed up the LVMs. To show the backing LV: lvdisplay /dev/rootvg/xm_c32_001>From this, we grabbed the "Current LE" field and LV Size. We used LVSize to create a temporary mount point. We used the "Current LE" parameter to create an identically sized LV on the replacement server . On the failing server: dd if=/dev/rootvg/xm_c32_001 of=/mnt/backup/xm_c32_001.out We gzip'ed the resulting .out file and saved it as a backup. +++Footnote BTW, there are many recommendations to do the following on the virtual machine: dd if=/dev/zero bs=1024 count=xxxx of=/partition.out rm partition.out By creating the large empty file on each partition *in the guest istance* (/var, /, /home, etc.), it will improve the image compression. Space was not much of a concern and we were worried about blowing out a production system, so we opted not to do this. +++Footnote Once the backing LVM was created, we created the LV on the replacement server: lvcreate -l xxx -n xm_c32_001 rootvg Then used dd to recreate the file: dd if=xm_c32_001.out of=/dev/rootvg/xm_c32_001 Next, we copied the /etc/xen/xm_c32_001 configuration file to the replacement server. We generated a new UUID using the "uuidgen" utility. We also created a new MAC address. Finally, we started the instance: xm create xm_c32_001 Everything came up, but no network. From the root console we logged in then edited the /etc/sysconfig/network-scripts/ifcfg-eth0. Xen had apparently renamed the script and put in a DHCP configuration. We just renamed the backup file and commented out the MAC address line and restarted networking, *and* ifdown eth0 then ifup eth0. It took a few seconds for the network to properly discover the new MAC address. Once that was done, everything worked beautifully.
henry ritzlmayr
2010-Mar-02 07:10 UTC
[CentOS] Success moving Xen LVMs from 32 to 64bit host
> Next, we copied the /etc/xen/xm_c32_001 configuration file to the > replacement server. We generated a new UUID using the "uuidgen" > utility. We also created a new MAC address. Finally, we started the > instance:Since you moved your virtual machine, you wouldn?t have to create a new UUID and no new MAC address. This is only required if you copy a virtual machine and if you want both up at the same time.> xm create xm_c32_001 > > Everything came up, but no network. From the root console we logged > in then edited the /etc/sysconfig/network-scripts/ifcfg-eth0. Xen had > apparently renamed the script and put in a DHCP configuration. We just > renamed the backup file and commented out the MAC address line and > restarted networking, *and* ifdown eth0 then ifup eth0.This is because you changed the MAC address. If you would have left it at the original value, the network would have started right away with the old config. Henry
Pasi Kärkkäinen
2010-Mar-02 09:14 UTC
[CentOS] Success moving Xen LVMs from 32 to 64bit host
On Mon, Mar 01, 2010 at 02:47:23PM -0500, Kwan Lowe wrote:> Just wanted to share some success I had moving some Xen guests from > one server to another. > > Problem Recap > We had Xen host on a single core 32-bit CentOS 5.4 installation on an > AMD Athlon 2.1 GhZ system that was giving hard drive errors and needed > to move the LVM-backed Xen images to another server. The replacement > server was a quad-core AMD Phenom system running 64-bit CentOS 5.4. > > Our original plan was to use LVM snapshots so that we wouldn't need a > maintenance window. This worked fine in test, but we decided to bring > down the Xen guests after all. After shutting down the systems we > backed up the LVMs. > > To show the backing LV: > lvdisplay /dev/rootvg/xm_c32_001 > > >From this, we grabbed the "Current LE" field and LV Size. We used LV > Size to create a temporary mount point. We used the "Current LE" > parameter to create an identically sized LV on the replacement server > . > > On the failing server: > dd if=/dev/rootvg/xm_c32_001 of=/mnt/backup/xm_c32_001.out > > We gzip'ed the resulting .out file and saved it as a backup. > > +++Footnote > BTW, there are many recommendations to do the following on the virtual machine: > dd if=/dev/zero bs=1024 count=xxxx of=/partition.out > rm partition.out > > By creating the large empty file on each partition *in the guest > istance* (/var, /, /home, etc.), it will improve the image > compression. Space was not much of a concern and we were worried > about blowing out a production system, so we opted not to do this. > +++Footnote > > Once the backing LVM was created, we created the LV on the replacement server: > lvcreate -l xxx -n xm_c32_001 rootvg > > > Then used dd to recreate the file: > dd if=xm_c32_001.out of=/dev/rootvg/xm_c32_001 > > Next, we copied the /etc/xen/xm_c32_001 configuration file to the > replacement server. We generated a new UUID using the "uuidgen" > utility. We also created a new MAC address.^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^> Finally, we started the > instance: > > xm create xm_c32_001 > > Everything came up, but no network. From the root console we logged > in then edited the /etc/sysconfig/network-scripts/ifcfg-eth0. Xen had > apparently renamed the script and put in a DHCP configuration. >It's not Xen renaming the script :) You changed the MAC address, so the centos network init scripts will rename the ifcfg file, and generate new default one (with dhcp). rhel/centos ifcfg-eth* are based on MAC addresses. -- Pasi> We just > renamed the backup file and commented out the MAC address line and > restarted networking, *and* ifdown eth0 then ifup eth0. > > It took a few seconds for the network to properly discover the new MAC > address. Once that was done, everything worked beautifully. > _______________________________________________ > CentOS mailing list > CentOS at centos.org > http://lists.centos.org/mailman/listinfo/centos
Ted Kaczmarek
2010-Mar-03 04:07 UTC
[CentOS] Success moving Xen LVMs from 32 to 64bit host
The network should not have been an issue, are you sure you used the same vm config on both hosts? That means the mac address would stay the same, and their should not be any L2 related issues, that are related to vm anyway. Ted On Mar 1, 2010, at 2:47 PM, Kwan Lowe wrote:> Just wanted to share some success I had moving some Xen guests from > one server to another. > > Problem Recap > We had Xen host on a single core 32-bit CentOS 5.4 installation on an > AMD Athlon 2.1 GhZ system that was giving hard drive errors and needed > to move the LVM-backed Xen images to another server. The replacement > server was a quad-core AMD Phenom system running 64-bit CentOS 5.4. > > Our original plan was to use LVM snapshots so that we wouldn't need a > maintenance window. This worked fine in test, but we decided to bring > down the Xen guests after all. After shutting down the systems we > backed up the LVMs. > > To show the backing LV: > lvdisplay /dev/rootvg/xm_c32_001 > >> From this, we grabbed the "Current LE" field and LV Size. We used LV > Size to create a temporary mount point. We used the "Current LE" > parameter to create an identically sized LV on the replacement server > . > > On the failing server: > dd if=/dev/rootvg/xm_c32_001 of=/mnt/backup/xm_c32_001.out > > We gzip'ed the resulting .out file and saved it as a backup. > > +++Footnote > BTW, there are many recommendations to do the following on the virtual machine: > dd if=/dev/zero bs=1024 count=xxxx of=/partition.out > rm partition.out > > By creating the large empty file on each partition *in the guest > istance* (/var, /, /home, etc.), it will improve the image > compression. Space was not much of a concern and we were worried > about blowing out a production system, so we opted not to do this. > +++Footnote > > Once the backing LVM was created, we created the LV on the replacement server: > lvcreate -l xxx -n xm_c32_001 rootvg > > > Then used dd to recreate the file: > dd if=xm_c32_001.out of=/dev/rootvg/xm_c32_001 > > Next, we copied the /etc/xen/xm_c32_001 configuration file to the > replacement server. We generated a new UUID using the "uuidgen" > utility. We also created a new MAC address. Finally, we started the > instance: > > xm create xm_c32_001 > > Everything came up, but no network. From the root console we logged > in then edited the /etc/sysconfig/network-scripts/ifcfg-eth0. Xen had > apparently renamed the script and put in a DHCP configuration. We just > renamed the backup file and commented out the MAC address line and > restarted networking, *and* ifdown eth0 then ifup eth0. > > It took a few seconds for the network to properly discover the new MAC > address. Once that was done, everything worked beautifully. > _______________________________________________ > CentOS mailing list > CentOS at centos.org > http://lists.centos.org/mailman/listinfo/centos