[libvirt] Live migration fails with "Migration without shared storage is unsafe" when using netapp storage on CentOS 7 and Libvirt 4.5.0

Marko Todorić marko.todoric at oriontelekom.rs
Tue Jun 25 15:16:44 UTC 2019


Hello everyone,

We've been using libvirt version 0.10.2 for a long time (on CentOS 6 OS) 
and now we have started creating new KVM cluster all based on CentOS 7 
OS and libvirt version 4.5.0 (that came with CentOS repo).

TLDR Version:
- When we try to migrate using "virsh migrate test --live 
qemu+ssh://kvm_aquila-02/system" we get an error "error: Unsafe 
migration: Migration without shared storage is unsafe".
- When we try to migrate using same method but adding "--unsafe" 
migration works.
- When we try to migrate a VPS that is using QCOW image on a shared GFS2 
image, mapped on both servers, migration is successful.
We have two servers in a cluster so far, they are connected to NetApp 
storage and all luns that VPS server should be using are mapped to both 
servers.

Long version with background:

We have plenty CentOS 6 Servers which work perfectly fine with libvirt 
version up to 0.10.2. All connected also to a NetApp storage and all 
luns are mapped to all servers. LUN's (disks) are visible under 
/dev/mapper directory. When we create VPS, we point to raw disk to the 
same location, /dev/mapper. For example, VPS "test" would use 
"/dev/mapper/test" for disk with "cache=none" in xml file. If we issue 
"virsh migrate test --live qemu+ssh://kvm_server-0X/system", it will 
successfully migrate VPS to another hypervisor without errors, because 
disk already exists there.
We also have a LUN mapped to each hypervisor and GFS2 established in a 
cluster between hypervisors where we keep qcow images. We can also 
migrate those machines without issues.

On new CentOS 7 hypervisors, we have pretty much the exact same setup. 
NetApp storage connected to servers. All VPS LUN's mapped to all 
hypervisors. Clustered GFS2 volume.
When we define VPS with approximately same XML, it will NOT migrate it 
and will issue out an error stated above. "--unsafe" parameter seems to 
work fine. BUT.

We want to setup a proper libvirt/kvm cluster with pcs. I've defined a 
pcs resource for each VPS and live migration also doesn't work if i try 
"pcs resource move" command. It will not migrate it "live" as it should, 
and as it does with QCOW images, probably because of the same reason - 
because it's unable to perform live migrate via libvirt without 
"unsafe". If there would be any trick to add "--unsafe" parameter to pcs 
i would do it, but I'm not aware of it.

Still, seems like a bug that libvirt would not realize that netapp 
storage is present in this configuration. Is this maybe corrected in 
later versions of libvirt? Unfortunately, 4.5.0 is latest in CentOS repo 
but i would try to compile it if needed.

Any help would be greatly appreciated and if more info is needed i will 
be more than happy to provide.


Thanks in advance,

Marko Todoric





More information about the libvir-list mailing list