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