Re: Change device class in EC profile

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

 



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




[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