Re: ceph rbd object write is atomic?

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

 



If you can guarantee that your write will be wholly contained within an object (and within a stripe), you should be able to consider the writes to be atomic between two clients since the OSD will process the two writes in sequence (all ops are execute in order for a given placement group).

-- 

Jason Dillaman 


----- Original Message ----- 

> From: "min fang" <louisfang2013@xxxxxxxxx>
> To: "Jason Dillaman" <dillaman@xxxxxxxxxx>
> Cc: "ceph-users" <ceph-users@xxxxxxxxxxxxxx>
> Sent: Wednesday, April 6, 2016 9:37:06 AM
> Subject: Re:  ceph rbd object write is atomic?

> Thanks Jason, yes, I also do not think they can guarantee atomic in extent
> level. But for a stripe unit in a object, can the atomic write be
> guaranteed? thanks.

> 2016-04-06 19:53 GMT+08:00 Jason Dillaman < dillaman@xxxxxxxxxx > :

> > It's possible for a write to span one or more blocks -- it just depends on
> > the write address/size and the RBD image layout (object size, "fancy"
> > striping, etc). Regardless, however, RBD cannot provide any ordering
> > guarantees when two clients are writing to the same image at the same
> > extent. To safely use two or more clients concurrently on the same image
> > you
> > need a clustering filesystem on top of RBD (e.g. GFS2) or the application
> > needs to provide its own coordination to avoid concurrent writes to the
> > same
> > image extents.
> 

> > --
> 

> > Jason Dillaman
> 

> > ----- Original Message -----
> 

> > > From: "min fang" < louisfang2013@xxxxxxxxx >
> 
> > > To: "ceph-users" < ceph-users@xxxxxxxxxxxxxx >
> 
> > > Sent: Tuesday, April 5, 2016 10:11:10 PM
> 
> > > Subject:  ceph rbd object write is atomic?
> 

> > > Hi, as my understanding, ceph rbd image will be divided into multiple
> > > objects
> 
> > > based on LBA address.
> 

> > > My question here is:
> 

> > > if two clients write to the same LBA address, such as client A write
> > > "aaaa"
> 
> > > to LBA 0x123456, client B write "bbbb" to the same LBA.
> 

> > > LBA address and data will only be in an object, not cross two objects.
> 

> > > Will ceph guarantee object data must be "aaaa" or "bbbb"? "aabb", "bbaa"
> > > will
> 
> > > not happen even in a stripe data layout model?
> 

> > > thanks.
> 

> > > _______________________________________________
> 
> > > ceph-users mailing list
> 
> > > ceph-users@xxxxxxxxxxxxxx
> 
> > > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
> 
_______________________________________________
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