Re: rados_clone_range for different pgs

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

 



We use ceph to store huge files stripped into small (4mb) objects.
Due to the fact that files can be changed unpredictably (data
insertion/modification/deletion in any part of a file), we have to
copy parts of the objects and it is done via the client.
I see the following ways to solve this problem:
 - implement a client that is launched on the same host as the source
osd, that will handle the copy process
 - add functionality to the osd, so it can do copy to other osds

Which way best suits with the ceph ideology?

2013/8/2 Sage Weil <sage@xxxxxxxxxxx>:
> Hi Oleg,
>
> On Fri, 2 Aug 2013, Oleg Krasnianskiy wrote:
>> Hi
>>
>> I have asked this question in ceph-users, but did not get any
>> response, so I'll test my luck again, but with ceph-devel =)
>
> Sorry about that!
>
>> Is there any way to copy part of one object into another one if they
>> reside in different pgs?
>> There is rados_clone_range, but it requires both objects to be inside one pg.
>
> There is no way currently.  The clone_range can only (reliably) work on an
> OSD if it is stored with the same locator key; otherwise you have a ~R/N
> chance of that happening (where N is the number of OSDs, R is the number
> of replicas), which isn't worth optimizing for.  If the objects aren't
> stored together, you need to read and then write the data; this avoids
> adding additional complexity to the OSD for minimal gain.
>
> Do you have a use-case in mind where this functionality is important?
>
> sage
>
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux