Re: EC pool migrations

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

 



If you successfully get every object into the cache tier and then flush it to the new pool, you've copied every object in your cluster twice.  And as you mentioned, you can't guarantee that the flush will do what you need.  I don't have much experience with RGW, but would it work to write a loop through your objects (rados ls) to access them and copy them directly to the new pool using RGW?  Of course this will be problematic to getting everything if the cluster is allowed to receive writes during the copy, but if you can ensure that it would be read only during this time then it should work.


David Turner | Cloud Operations Engineer | StorageCraft Technology Corporation
380 Data Drive Suite 300 | Draper | Utah | 84020
Office: 801.871.2760 | Mobile: 385.224.2943


If you are not the intended recipient of this message or received it erroneously, please notify the sender and delete it, together with any attachments, and be advised that any dissemination or copying of this message is prohibited.


________________________________________
From: ceph-users [ceph-users-bounces@xxxxxxxxxxxxxx] on behalf of Blair Bethwaite [blair.bethwaite@xxxxxxxxx]
Sent: Tuesday, February 07, 2017 8:32 AM
To: ceph-users@xxxxxxxxxxxxxx
Subject: Re: EC pool migrations

On 7 February 2017 at 23:50, Blair Bethwaite <blair.bethwaite@xxxxxxxxx> wrote:
> 1) insert a large enough temporary replicated pool as a cache tier
> 2) somehow force promotion of every object into the cache (don't see
> any way to do that other than actually read them - but at least some
> creative scripting could do that in parallel)
> 3) once #objects in cache = #objects in old backing pool
> then stop radosgw services
> 4) remove overlay and tier remove
> 6) now we should have identical or newer data in the temporary
> replicated pool and no caching relationship
> then add the temporary replicated pool as a tier (--force-nonempty) to
> the new EC pool
> 7) finally cache-flush-evict-all and remove the temporary replicated pool

That all seemed to work right up to the final step. flushing/evicting
of course doesn't guarantee the contents of the cache get written to
the backing pool. This must be because it's properties in the cache
that decide whether to forward anything down to the backing pool and
as these objects haven't been changed the cache just throws them
away... Is there a way around this?

--
Cheers,
~Blairo
_______________________________________________
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]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux