> With the caveat that the "ceph osd crush set-device-class" command only works 
> on existing OSD's which already have a default assigned class so you cannot 
> plan/create your classes before > adding some OSD's first.

> The "ceph osd crush class create" command could be run without any OSD's 
> configured.





That is not true. "ceph osd crush set-device-class" will fail if the input OSD 
has already been assigned a class. Instead you should do "ceph osd crush 
rm-device-class" before proceeding.


Generally you don't have to pre-create an empty class and associate some 
specific OSDs with that class through  "ceph osd crush set-device-class" later, 
as the command will automatically create it if it does not exist.


Also you can simply disable the "auto-class" feature by setting 
"osd_class_update_on_start" to false, and then newly created OSDs will be bound 
to no class(e.g., hdd/ssd).


Otherwise you have to do "ceph osd crush rm-device-class" before you can safely 
reset OSDs' class to any freeform as you wish.


 















原始邮件




发件人: <caspars...@supernas.eu>;
收件人: <ceph-users@lists.ceph.com>;
日 期 :2017年11月03日 17:41
主 题 :Re: [ceph-users] Luminous LTS: `ceph osd crush class create` isgone?










2017-11-03 7:59 GMT+01:00 Brad Hubbard <bhubb...@redhat.com>:




On Fri, Nov 3, 2017 at 4:04 PM, Linh Vu <v...@unimelb.edu.au> wrote:
 > Hi all,
 >
 >
 > Back in Luminous Dev and RC, I was able to do this:
 >
 >
 > `ceph osd crush class create myclass`
 
 This was removed as part of https://github.com/ceph/ceph/pull/16388
 
 It looks like the set-device-class command is the replacement or equivalent..
 
 $ ceph osd crush class ls
 [
     "ssd"
 ]
 
 $ ceph osd crush set-device-class myclass 0 1
 
 $ ceph osd crush class ls
 [
     "ssd",
     "myclass"
 ]
 

With the caveat that the "ceph osd crush set-device-class" command only works 
on existing OSD's which already have a default assigned class so you cannot 
plan/create your classes before adding some OSD's first.
The "ceph osd crush class create" command could be run without any OSD's 
configured.
 Kind regards,
Caspar

 >
 >
 > so I could utilise the new CRUSH device classes feature as described here:
 > http://ceph.com/community/new-luminous-crush-device-classes/
 >
 >
 >
 > and in use here:
 > http://blog-fromsomedude.rhcloud.com/2017/05/16/Luminous-series-CRUSH-devices-class/
 >
 >
 > Now I'm on Luminous LTS 12.2.1 and my custom device classes are still seen
 > in:
 >
 >
 > `ceph osd crush class ls`
 >
 >
 > `ceph osd tree` and so on. The cluster is working fine and healthy.
 >
 >
 > However, when I run `ceph osd crush class create myclass2` now, it tells me
 > the command doesn't exist anymore.
 >
 >
 > Are we not meant to create custom device classes anymore?
 >
 >
 > Regards,
 >
 > Linh
 >
 >
 > _______________________________________________
 > ceph-users mailing list
 > ceph-users@lists.ceph.com
 > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
 >
 
 
 
 --
 Cheers,
 Brad
 _______________________________________________
 ceph-users mailing list
 ceph-users@lists.ceph.com
 http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to