Assumption: There are VBD based Xen DomU virtual machines stored under /home/xen/vm-f11-sample/. There are two files under vm-f11-sample: vm0-f11.run (The configuration file) and vmdisk0 (The virtual disk). Now we want to duplicate the virtual machine vm0 stored under vm-f11-sample to vm-10.0.0.213 which is stored under vm-10.0.0.213. And vm-10.0.0.213’s ip will be 10.0.0.213. The steps to duplicate this virtual machine:
1) Duplicate the virtual disk and configuration files
# cp -rv vm-f11-sample vm-10.0.0.213
For security reason, the owner of the virtual machine’s files is root. So we need to copy these files as root. The destination directory is vm-10.0.0.213. And here we should make sure that vm0 is **powered off**. If vm0 is power on before this step, we need to shut it down first.
2) Change the file names and the configuration file
# cd vm-10.0.0.213 # mv vm0-f11.run vm.run # vim vm.run
This is the content of vm.run:
name="10.0.0.213" memory=1024 disk = ['file:/home/xen/vm-10.0.0.213/vmdisk0,xvda,w' ] vif = [ 'bridge=eth0' ] bootloader = "/usr/bin/pygrub" vcpus=2 on_reboot = 'restart' on_crash = 'restart'
The name and disk entry are changed.
3) Start the new virtual machine and configure the new virtual machine
# xm create /home/xen/vm-10.0.0.213/vm.run # xm console 10.0.0.213
After logging in vm-10.0.0.213, we can edit the network configuration file:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
Change the IPADDR to 10.0.0.213. Then restart eth0:
# ifdown eth0 # ifup eth0
Make sure this interface doesn’t have
# xm reset 10.0.0.213
The new virtual machine vm-10.0.0.213 is running now.