[libvirt-users] Sanlock gives up lock when VM is paused

Daniel P. Berrange berrange at redhat.com
Thu Jan 31 18:40:07 UTC 2013


On Thu, Jan 31, 2013 at 10:35:17AM -0800, Michael Rodrigues wrote:
> Hi Daniel,
> 
> I thought migration might be the reason, but I'm still not seeing
> the behavior you describe with regards to pausing. I saw the
> following behavior:
> 
> 1. Created VM on node 1
> 2. Started VM on node 1
> 3. Migrated VM to node 2, node 1 is now shutdown, node 2 is running
> 4. I paused node 2
> 5. I started node 1, no error
> 6. Paused node 1
> 7. Unpaused node 2, no err
> 
> I thought maybe the original VM had to be paused first, so I tried
> that as well:
> 
> 1. Created VM on node 1
> 2. Started VM on node 1
> 3. Migrated to node 2, node 1 is now shutdown, node 2 is running
> 4. I shutdown node 2 instead of pausing
> 5. I started node 1
> 6. I paused node 1
> 7. Started node 2
> 8. Paused node 2
> 9. Started node 1

Hmm, that isn't supposed to be possible. When you paused node 1
in step 6, it was supposed to record the lease version number.
When you resume in step 9, the version number should mis-match
due to step 7, and thus sandlock ought to have caused an error
at step 9. If that didn't happen, then I believe we have a bug

> 
> So sanlock is preventing both from running concurrently, but it
> seems to contradict your statement:
> "Even if you now pause the VM on node 2, and try to resume node 1,
> sanlock will still prevent node 1 from running again. It tracks a
> lock "version" number. The key is that once the original VM is
> paused, if any other VM runs on that disk, the orignal VM is never
> allowed to be unpaused again."

Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvirt-users mailing list