一、前言
使用分组可以更好的管理osd,将不同类型的磁盘,分到不同的组中,例如hhd类型的osd分配到hhd组,ssd类型的osd分配到ssd组,将io要求不高的分配到hhd组做存储,io要求高的分配到ssd组做存储
二、配置
查看分组规则
ceph osd crush class ls

创建分组
- ceph osd crush class create ssd
- ceph osd crush class ls

添加新增的ssd磁盘作为osd
- ceph orch device ls #节点添加磁盘后要先看ceph集群有无识别到新增的磁盘,不然没办法添加
- ceph orch daemon add osd ceph04:/dev/sde #识别到后添加为osd,这里添加3块ssd磁盘作为osd,做存储池最低需要三块osd作为冗余
- ceph orch daemon add osd ceph03:/dev/sdd
- ceph orch daemon add osd ceph02:/dev/sdd
-

默认规则的原因添加后的osd为hdd类型,需要手动更改一下
ceph osd tree

- ceph osd crush rm-device-class osd.12
- ceph osd crush rm-device-class osd.8
- ceph osd crush rm-device-class osd.5
- ceph osd crush set-device-class ssd osd.12
- ceph osd crush set-device-class ssd osd.8
- ceph osd crush set-device-class ssd osd.5
- ceph osd tree

创建用于ssd类型osd的class规则
- ceph osd crush rule create-replicated ssd_rule default host ssd
- ceph osd crush rule ls

查看class规则详细信息
ceph osd crush rule dump
可以看到有两个规则,一个是默认的规则,一个是刚创建的ssd_rule

创建ssd高性能存储池
- ceph osd pool create ssd_pool 32 32 ssd_rule
- ceph osd pool ls detail
可以看到使用了crush_rule id为1的规则

至此关于规则分组的内容介绍完成