Centos – Error KVM-based VM migration

centoskvm-virtualizationmigration

  • Virtualization environment: KVM
  • Source host: CentOS 5.9/64
  • Target host: CentOS 6.4/64

As proof of concept before migrating a production machine, I created a small VM & put a minimal Linux install on it. This machine works well, as accessed from the virt-manager.
Its 80 GB virtual disk is file-based.

Now I want to migrate it to the target server. WHile the VM is up & running, the Migrate option in virt-manager on the source host is enabled so I click on it. The following error pops up:

Unable to migrate guest:
 Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/migrate.py", line 449, in _async_migrate
    vm.migrate(dstconn, migrate_uri, rate, live, secure)
  File "/usr/share/virt-manager/virtManager/domain.py", line 1445, in migrate
    self.vm.migrate(destconn.vmm, flags, newname, interface, rate)
  File "/usr/lib64/python2.4/site-packages/libvirt.py", line 518, in migrate
    if ret is None:raise libvirtError('virDomainMigrate() failed', dom=self)
libvirtError: cannot open file '/export/kvm/v_holmestest/vholmes': No such file or directory

I am positive that the "vholmes" file is there, and has (all its path) read/execute permissions for world:

[root@centos5server /export/kvm/v_holmestest]$ l
total 8200020
      4 drwxr-xr-x 2 root root       4096 Sep 30 17:51 .
      4 drwxr-xr-x 3 root root       4096 Sep 30 17:49 ..
8200012 -rwxr-xr-x 1 root root 8388608000 Sep 30 17:52 vholmes

What can be going on here ?

Thanks

Best Answer

It requires the VM image file can be accessed from both source and target hosts. see KVM migration

So you should make sure it can access /export/kvm/v_holmestest/vholmes from target host as well. If it is a shared volume that is mounted on both source and target hosts, you must make sure it's mounted on the same path.