以前我们需要对ssd和hdd进行分组的时候,需要大量的修改crush map,然后绑定不同的存储池到不同的 crush 树上面,现在这个逻辑简化了很多。以上是官方宣传听起来很不错等到12.2.0稳定版出来以后参考http://ceph.com/planet/ceph-luminous-%E6%96%B0%E5%8A%9F%E8%83%BD%E4%B9%8B%E7%A3%81%E7%9B%98%E6%99%BA%E8%83%BD%E5%88%86%E7%BB%84/进行尝试发现稳定版与此文有些不同,实践过程如下。
测试环境(虚机)下安装完的ceph集群是这个样子(若使用真的ssd可能会出现ssd类的osd)
[root@ceph-l02 ~]# ceph osd tree
ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
-1 0.43886 root default
-3 0.14629 host ceph-l01
1 hdd 0.09760 osd.1 up 1.00000 1.00000
0 hdd 0.04869 osd.0 up 1.00000 1.00000
-5 0.14629 host ceph-l02
3 hdd 0.09760 osd.3 up 1.00000 1.00000
2 hdd 0.04869 osd.2 up 1.00000 1.00000
-7 0.14629 host ceph-l03
5 hdd 0.09760 osd.5 up 1.00000 1.00000
4 hdd 0.04869 osd.4 up 1.00000 1.00000
首先将osd 0 2 4 设置成ssd 类型
先删除
# ceph osd crush rm-device-class osd.0
# ceph osd crush rm-device-class osd.2
# ceph osd crush rm-device-class osd.4
再设置
#ceph osd crush set-device-class ssd osd.0
#ceph osd crush set-device-class ssd osd.2
#ceph osd crush set-device-class ssd osd.4
然后根据osd 类型设置规则(规则名称为ssd)
#ceph osdcrush rule create-replicated ssd default osd ssd
然后根据 规则创建pool(名称为ssdpool)
#ceph osd pool create ssdpool 128 ssd
然后验证一下
#ceph pg dump
转载于:https://blog.51cto.com/bf109/1967504