Re: rbd exclusive-lock feature not exclusive?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It's exclusive in that only a single client can write to an image at a
time, but it's not exclusive in that it prevents other clients from
cooperatively requesting the exclusive lock when they have an
outstanding write request. This cooperative lock transition was always
a stop-gap design to handle QEMU live-migrations. The original
intention of the feature was to prevent corruption of the object map,
fast-diff, journaling, etc features that were designed to assume only
a single client is concurrently writing to an image.

Hopefully once QEMU 2.10+ deeply integrates VM image locking, we can
connect the new hooks to the existing librbd APIs which will disable
this behavior. Note that the rbd-nbd daemon supports an optional
"--exclusive" argument which disables the cooperative lock exchange
and adding this support to krbd is also in-progress.

On Thu, Apr 6, 2017 at 6:16 PM, Matthias Ferdinand <mf+ml.ceph@xxxxxxxxx> wrote:
> Hello,
>
> I am building my first cluster on Ubuntu 16.04 with jewel 10.2.6, to
> host rbd images for qemu (also on Ubuntu 16.04). I've been lurking on
> this list for some time, thanks to all you regular posters for so many
> valuable insights!
>
> Tried to test the exclusive-lock rbd feature. It does not seem to
> prevent concurrent access (FS corruption) to the same rbd volume. Do I
> misinterpret its name? Do I need to configure some virsh parameters?
>
> http://lists.ceph.com/pipermail/ceph-users-ceph.com/2015-September/004857.html
> hints at live migration use case, where concurrent write access is a
> requirement. We might want to use that later, but for the moment we
> would prefer the FS to be protected against concurrent writes.
>
>     root@ceph00:~# rbd info t3-x
>     rbd image 't3-x':
>             size 16384 MB in 4096 objects
>             order 22 (4096 kB objects)
>             block_name_prefix: rbd_data.3218d238e1f29
>             format: 2
>             features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
>             flags:
>
> After starting the VM on the first host, a lock is registered:
>
>     root@ceph00:~# rbd lock ls t3-x
>     There is 1 exclusive lock on this image.
>     Locker        ID                   Address
>     client.205200 auto 139973185508448 192.168.xx.240:0/4012132689
>
> Starting the same VM on another host while the first one is running, the
> registered rbd lock above stays in place, but still the second client
> can happily write to the same rbd and ruin the FS (no actual harm, just
> testing).
>
> --
> Matthias Ferdinand
> _______________________________________________
> ceph-users mailing list
> ceph-users@xxxxxxxxxxxxxx
> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com



-- 
Jason
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com



[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux