1

We currently are running our XenServer virtual machines off of an over extended Drobo unit and wanted to migrate a particular 600+GB VM off of the Drobo onto a newer Drobo, so I attached a storage repository on the new Drobo and used the XenServer "Move" feature. I checked back a few hours later to find an "error - connection was reset". Now both of the two disks have incomplete data and will not work. Is there any way to recover this data via a block level sync of some sort?

1

Something similar happened to me while moving vms.

What I did is the following:

  1. Try to copy the VM (not move) (doesn't matter if it doesn't start up)

  2. If the copy is successful try starting the VM. If I doesn't work, try detaching and re attaching the virtual drive.

If still doesn't work, you should see if you have snapshots of the VMs.

What did work for me was attaching the vdi to a VM created from one snapshot.

Before trying to move/copy again make sure your network is working properly, you can try moving big files manually between the servers (using sftp or rsync). Sometimes with big files problems appear. Most of the time are defective cables or switches.

I hope you manage to recover your vms!

| improve this answer | |
  • Thank you for the response, this we did try, however doing this sort of thing through the XenCenter gui tends to not work so well we have found in hindsight. Ended up being a stuck VDI, I will post a more in depth solution. – Riley Dec 2 '14 at 16:18
2

Wrote this for our internal wiki after researching for quite a while:

Signs that this is a problem:

Clicking on drive properties will show that it is attached to the control domain VMs won’t boot when this drive is attached. First we want to see if any tasks involving this VDI are being run, we do not want to do anything to it while tasks are being run. In order to do this:

SSH or console view into pool master xe task-list look for anything involving that name. (you can | grep “UUID or name”) If this doesn’t return anything, then we want to unplug and destroy the VBD to the dom0. The VBD is the connection between the VDI and the VM or control domain. Destroying it will not damage data.

SSH or console to Pool master list_domains xe vdi-list find the disk in question copy the UUID of this disk find the vbd UUID by running “vbd-list vdi-uuid=” There will be a VBD for the control domain and for whatever VM it’s attached to. Copy the UUID of the VBD for the control domain Unplug the VBD: xe vbd-unplug uuid= Destroy the VBD: xe vbd-destroy uuid=

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.