Richard Parmiter

Virtualisation blog and Knowledge Base

  • You are here: 
  • Home
  • Citrix XenServer

Move VM from Hyper-V to XenServer

Posted on January 7th, 2011

There is a way to move a virtual machine from Hyper-V to XenServer without the need for XenConvert.

On Hyper-V do the following:

  • Power off the VM
  • Backup or migrate to a CIFS share
  • The backup or CIFS share will include the VHD files for the hard disks (one VHD per virtual hard disk)

On XenServer do the following:

  • Create a new VM with the correct configuration (CPUs, RAM, NICs etc) and correct number of Hard Drives.
  • Modify the name of the virtual disks: storage tab, select disk, properties, change name to be something unique (for example TEST or VM-C-Drive or VM-D-Drive). Do this for each disk.
  • Use the cli determine the SR uuid and vm disks uuid
  • > xe sr-list (note the uuid of the correct storage repository)
  • > xe vdi-list name-label=VM-C-Drive (or however named above) – (Note the UUID of each disk)

Copy the VHD files to the XenServer storage volume

  • Using WinSCP or similar copy to the following location (using the sr uuid determined above)
  • /var/run/sr-mount/{SR-UUID}/


  • The VHD files have the filename of the uuid of the virual disk as determined above.
  • Rename 0r delete the first hard disk assigned to this VM (the filename with the uuid of the VM-C-Drive disk)
  • Rename the Hyper-V disk 1 to the same filename {Disk1-uuid}.vhd
  • Repeat the process for each disk

Now you can power on the VM and it will boot from the hard disks copied from Hyper-V.

This seems like a lot of steps but it is pretty quick to do and means that XenConvert is not required (as was not possible in my case). The VM will configure the new devices during the first boot, reboot and then be ready to use.

Tags: , , , , , ,
Filed under Citrix XenServer | 2 Comments »

use xe.exe to start/shutdown vm’s on XenServer

Posted on July 27th, 2010

I wanted to stress test a Citrix XenServer 5.6 computer to see how it copes with a number of simultaneou startup and shutdown requests.

I also wanted to see the IOPS passed to back end storage where the virtual machine hard drives are stored.

Rather than manually selecting the machine in XenCenter and shutting down or starting I wrote a script to perform the same action which made it a little quicker and easier when performing this task many times.

I wanted to perform the actions on a specific list of vm’s listed in a text file

List of VM’s – vm.txt




Remember they are case sensitive and the same name you see in XenCenter. It can also be acheived with UUID’s of the VM’s but this is less friendly, so the names were used.

Startup VM’s

This is a simply dos batch script

set XenServer=[server name or IP]
set XenUser=[username]
set XenUserPwd=[password]

for /F %%1 in (vm.txt) do (
start “start %%1” “c:\program files (x86)\Citrix\XenCenter\xe.exe” -s %XenServer% -u %XenUser% -pw %XenUserPwd% vm-start name-label=%%1

I have used the start command to open a seperate dos box for each VM so they are done in parallel. Without this the command waits for each VM to start before starting the next one. Running them all in parallel is *much* better for a stress test of a boot storm simulation!

Shutdown VM’s

set XenServer=[server name or IP]
set XenUser=[username]
set XenUserPwd=[password]

for /F %%1 in (vm.txt) do (
start “shutdown %%1” “c:\program files (x86)\Citrix\XenCenter\xe.exe” -s %XenServer% -u %XenUser% -pw %XenUserPwd% vm-shutdown name-label=%%1

I will no doubt be working on some updates to these scripts in the near future and will share them soon.

Tags: , , , , , ,
Filed under Citrix XenServer, Scripts/Reg | 1 Comment »

XenServer – Management NIC bonding problem

Posted on November 26th, 2009

Have noticed this rather annoying bug with XenServer 5.5


If a pool of servers is created, and NIC 0+1 is bonded with the management interface running on this bonded network.

All configuration steps were done from XenCenter


A new XenServer is added to the pool, the NICs are un-bonded before adding it to the pool (but the same problem exists even if they are bonded)

The new XenServer is added to the pool and it picks up the pool network configuration however the Bond0+1network shows as unknown rather than connected.


Remove the Bond0+1 network from the pool (which obviously affects all servers)

Create the bond 0+1 again

Now this bond shows as connected on all XenServers.

how annoying.

Tags: , , , , , , , ,
Filed under Citrix XenServer | No Comments »

Comparison of XenServer 5.0 Versions

Posted on November 21st, 2008

Compare Citrix XenServer Editions

Express Edition Standard Edition Enterprise Edition Platinum Edition
Native 64-bit Xen hypervisor
Windows and Linux guests
XenCenter unified virtualization management console
XenAPI management and control scripting interface
Multi-server management
Resource pools
XenMotion live migration
Shared Fibre Channel, iSCSI and NFS storage
Configurable VLAN support
Resource QoS controls
Physical and virtual server provisioning
Administrative model Single server Multiple servers Multiple servers
and pools
Multiple servers
and pools
Physical memory 1 GB – 4 GB 1 GB – 128 GB 1 GB – 128 GB 1 GB – 128 GB
Processor sockets 2 2 Unlimited * Unlimited *
Virtual machines running concurrently 4 Unlimited * Unlimited * Unlimited *
Memory maximum per virtual machine 4 GB 32 GB 32 GB 32 GB

* No limit imposed by license — consult product documentation for tested limits of current release.

Tags: , , ,
Filed under Citrix XenServer | No Comments »