Thanks all for the great advices and inputs.

Regarding Mykola's suggestion to use Read-Only snapshots, what is the
overhead of creating these snapshots? I assume these are copy-on-write
snapshots, so there's no extra space consumed except for the metadata?

Thanks,
Shridhar


On Fri, 18 Jan 2019 at 04:10, Ilya Dryomov <idryo...@gmail.com> wrote:

> On Fri, Jan 18, 2019 at 11:25 AM Mykola Golub <to.my.troc...@gmail.com>
> wrote:
> >
> > On Thu, Jan 17, 2019 at 10:27:20AM -0800, Void Star Nill wrote:
> > > Hi,
> > >
> > > We am trying to use Ceph in our products to address some of the use
> cases.
> > > We think Ceph block device for us. One of the use cases is that we
> have a
> > > number of jobs running in containers that need to have Read-Only
> access to
> > > shared data. The data is written once and is consumed multiple times. I
> > > have read through some of the similar discussions and the
> recommendations
> > > on using CephFS for these situations, but in our case Block device
> makes
> > > more sense as it fits well with other use cases and restrictions we
> have
> > > around this use case.
> > >
> > > The following scenario seems to work as expected when we tried on a
> test
> > > cluster, but we wanted to get an expert opinion to see if there would
> be
> > > any issues in production. The usage scenario is as follows:
> > >
> > > - A block device is created with "--image-shared" options:
> > >
> > > rbd create mypool/foo --size 4G --image-shared
> >
> > "--image-shared" just means that the created image will have
> > "exclusive-lock" feature and all other features that depend on it
> > disabled. It is useful for scenarios when one wants simulteous write
> > access to the image (e.g. when using a shared-disk cluster fs like
> > ocfs2) and does not want a performance penalty due to "exlusive-lock"
> > being pinged-ponged between writers.
> >
> > For your scenario it is not necessary but is ok.
> >
> > > - The image is mapped to a host, formatted in ext4 format (or other
> file
> > > formats), mounted to a directory in read/write mode and data is
> written to
> > > it. Please note that the image will be mapped in exclusive write mode
> -- no
> > > other read/write mounts are allowed a this time.
> >
> > The map "exclusive" option works only for images with "exclusive-lock"
> > feature enabled and prevent in this case automatic exclusive lock
> > transitions (ping-pong mentioned above) from one writer to
> > another. And in this case it will not prevent from mapping and
> > mounting it ro and probably even rw (I am not familiar enough with
> > kernel rbd implementation to be sure here), though in the last case
> > the write will fail.
>
> With -o exclusive, in addition to preventing automatic lock
> transitions, the kernel will attempt to acquire the lock at map time
> (i.e. before allowing any I/O) and return an error from "rbd map" in
> case the lock cannot be acquired.
>
> However, the fact the image is mapped -o exclusive on one host doesn't
> mean that it can't be mapped without -o exclusive on another host.  If
> you then try to write though the non-exclusive mapping, the write will
> block until the exclusive mapping goes away resulting a hung tasks in
> uninterruptible sleep state -- a much less pleasant failure mode.
>
> So make sure that all writers use -o exclusive.
>
> Thanks,
>
>                 Ilya
>
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to