Re: Moving all s3 objects from an ec pool to a replicated pool using storage classes.

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

 



On Tue, Jan 25, 2022 at 11:59 AM Frédéric Nass
<frederic.nass@xxxxxxxxxxxxxxxx> wrote:
>
>
> Le 25/01/2022 à 14:48, Casey Bodley a écrit :
> > On Tue, Jan 25, 2022 at 4:49 AM Frédéric Nass
> > <frederic.nass@xxxxxxxxxxxxxxxx> wrote:
> >> Hello,
> >>
> >> I've just heard about storage classes and imagined how we could use them
> >> to migrate all S3 objects within a placement pool from an ec pool to a
> >> replicated pool (or vice-versa) for data resiliency reasons, not to save
> >> space.
> >>
> >> It looks possible since ;
> >>
> >> 1. data pools are associated to storage classes in a placement pool
> >> 2. bucket lifecycle policies can take care of moving data from a storage
> >> class to another
> >> 3. we can set a user's default_storage_class to have all new objects
> >> written by this user reach the new storage class / data pool.
> >> 4. after all objects have been transitioned to the new storage class, we
> >> can delete the old storage class, rename the new storage class to
> >> STANDARD so that it's been used by default and unset any user's
> >> default_storage_class setting.
> > i don't think renaming the storage class will work the way you're
> > hoping. this storage class string is stored in each object and used to
> > locate its data, so renaming it could render the transitioned objects
> > unreadable
>
> Hello Casey,
>
> Thanks for pointing that out.
>
> Do you believe this scenario would work if stopped at step 3.? (keeping
> default_storage_class set on users's profiles and not renaming the new
> storage class to STANDARD. Could we delete the STANDARD storage class
> btw since we would not use it anymore?).
>
> If there is no way to define the default storage class of a placement
> pool without naming it STANDARD could we imaging transitioning all
> objects again by:
>
> 4. deleting the storage class named STANDARD
> 5. creating a new one named STANDARD (using a ceph pool of the same data
> placement scheme than the one used by the temporary storage class
> created above)

instead of deleting/recreating STANDARD, you could probably just
modify it's data pool. only do this once you're certain that there are
no more objects in the old data pool. you might need to wait for
garbage collection to clean up the tail objects there too (or force it
with 'radosgw-admin gc process --include-all')

> 6. transitioning all objects again to the new STANDARD storage class.
> Then delete the temporary storage class.

i think this step 6 would run into the
https://tracker.ceph.com/issues/50974 that Konstantin shared - if the
two storage classes have the same pool name, the transition doesn't
actually take effect. you might consider leaving this 'temporary'
storage class around, but pointing the defaults back at STANDARD

>
> ?
>
> Best regards,
>
> Frédéric.
>
> >
> >> Would that work?
> >>
> >> Anyone tried this with success yet?
> >>
> >> Best regards,
> >>
> >> Frédéric.
> >>
> >> --
> >> Cordialement,
> >>
> >> Frédéric Nass
> >> Direction du Numérique
> >> Sous-direction Infrastructures et Services
> >>
> >> Tél : 03.72.74.11.35
> >>
> >> _______________________________________________
> >> ceph-users mailing list -- ceph-users@xxxxxxx
> >> To unsubscribe send an email to ceph-users-leave@xxxxxxx
>

_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx




[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