> 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.
原始邮件
发件人: <casparsmit@xxxxxxxxxxx>;
收件人: <ceph-users@xxxxxxxxxxxxxx>;
日 期 :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 <bhubbard@xxxxxxxxxx>:
On Fri, Nov 3, 2017 at 4:04 PM, Linh Vu <vul@xxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx
> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph. com
>
--
Cheers,
Brad
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph. com
_______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com