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