Re: Change device class in EC profile

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

 



Hi Eugen,

thanks for that comment. I did save the command line I used to create the EC profile. To force an update, I would just re-execute the same line with the device class set to SSD this time.

I would also expect that the pool only continues using k, m and algorithmic settings, which must not be changed ever. Device class and crush root should be safe to change as they are only relevant at pool creation. Sounds like what you write confirms this hypothesis.

Best regards and thanks,

=================
Frank Schilder
AIT Risø Campus
Bygning 109, rum S14

________________________________________
From: Eugen Block <eblock@xxxxxx>
Sent: 24 October 2019 14:32:36
To: ceph-users@xxxxxxx
Subject:  Re: Change device class in EC profile

Hi Frank,

just a short note on changing EC profiles. If you try to change only a
single value you'll end up with a mess. See this example (Nautilus):

---snip---
# Created new profile
mon1:~ # ceph osd erasure-code-profile get ec-k2m4
crush-device-class=
crush-failure-domain=host
crush-root=default
jerasure-per-chunk-alignment=false
k=2
m=4
plugin=jerasure
technique=reed_sol_van
w=8

# overwrite device-class
mon1:~ # ceph osd erasure-code-profile set ec-k2m4
crush-device-class=ssd --force

# k and m have changed to default
mon1:~ # ceph osd erasure-code-profile get ec-k2m4
crush-device-class=ssd
crush-failure-domain=host
crush-root=default
jerasure-per-chunk-alignment=false
k=2
m=1
plugin=jerasure
technique=reed_sol_van
w=8
---snip---


If you really want to change the profile you should set all values of
that profile again (similar to the auth caps changes). But even if you
can change an existing EC profile it won't have an impact on existing
pools. Also the docs [1] say it can't be modified for an existing pool:

> Choosing the right profile is important because it cannot be
> modified after the pool is created: a new pool with a different
> profile needs to be created and all objects from the previous pool
> moved to the new.


But since you already moved the pool to different devices cleaning up
the profile should be ok, I guess. Newly created pools with the
modified profile should honor the new configuration, I just replayed
that in a small test environment and it worked there. But I haven't
done this in a production environment so there might be other issues
I'm not aware of.

Regards,
Eugen

[1]
https://docs.ceph.com/docs/master/rados/operations/erasure-code/#erasure-code-profiles

Zitat von Frank Schilder <frans@xxxxxx>:

> I recently moved an EC pool from HDD to SSD by changing the device
> class in the crush rule. I would like to complete this operation by
> cleaning up a dirty trail. The EC profile attached to this pool is
> called sr-ec-6-2-hdd and it is easy enough to rename that to
> sr-ec-6-2-ssd. However, the profile itself contains the device class
> as well:
>
> crush-device-class=hdd
> [...]
>
> I can already see the confusion this will cause in the future. Is
> this situation one of the few instances where using the --force
> option is warranted to change the device class of a profile, as in:
>
> osd erasure-code-profile set sr-ec-6-2-ssd crush-device-class=ssd --force
>
> If not, how can I change the device class of the profile?
>
> Many thanks and best regards,
>
> =================
> Frank Schilder
> AIT Risø Campus
> Bygning 109, rum S14
> _______________________________________________
> 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
_______________________________________________
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