Ceph的参数mon_osd_down_out_subtree_limit测试
1.参数解释
自动标记为out的最大的CRUSH单位类型(默认rack),下面实验来说明参数的作用。
2.环境准备
#修改一个参数
mon_osd_down_out_interval = 20
调整这个参数为20s,默认为300s,默认一个osd,down超过300s就会标记为out,然后触发out迁移。
为了实验尽快看到效果。
3.实验测试
3.1参数修改之前
#查看参数
[root@ceph-mon1 ceph-cluster]# cat ceph.conf|grep mon_osd_down_out_subtree_limit mon_osd_down_out_subtree_limit = rack [root@ceph-mon1 ceph-cluster]# cat ceph.conf|grep mon_osd_down_out_interval mon_osd_down_out_interval = 20
#修改的参数文件推送到各个ceph节点
[root@ceph-mon1 ceph-cluster]# ceph-deploy --overwrite-conf config push ceph-osd1 ceph-osd2 ceph-osd3 ceph-osd4
#重启所有的进程,让配置生效
systemctl restart ceph-mon.target systemctl restart ceph-osd.target
3.1.1停止其中一个osd
[root@ceph-osd1 ~]# systemctl stop ceph-osd@1
#ceph -w查看ceph输出信息
2016-11-23 21:10:19.173657 mon.0 [INF] osd.1 out (down for 21.302855) 2016-11-23 21:10:19.339268 mon.0 [INF] osdmap e588: 10 osds: 8 up, 8 in ..... data, 412 MB used, 319 GB / 319 GB avail 2016-11-23 21:10:42.047609 mon.0 [INF] HEALTH_OK
停止一个OSD后,超过预定时间集群将该OSD剔除集群,然后迁移数据。最后health_ok
3.1.2停止一台主机上所有OSD
2016-11-23 21:18:29.330925 mon.0 [INF] osd.0 out (down for 24.765488) 2016-11-23 21:18:29.330955 mon.0 [INF] osd.0 out (down for 24.765488) 2016-11-23 21:18:29.330999 mon.0 [INF] osd.2 out (down for 24.765487) 2016-11-23 21:18:29.411054 mon.0 [INF] osdmap e593: 10 osds: 6 up, 6 in ....
可以看到这台主机上的节点全部都正常out了
3.2调整下参数
mon_osd_down_out_subtree_limit = rack
将这个参数设置改为host
mon_osd_down_out_subtree_limit = host
重启所有的进程,让配置生效,我们测试下只断一个osd的时候能不能out
3.2.1停止其中一个osd
2016-11-23 22:49:30.831926 mon.0 [INF] osd.1 out (down for 20.820818) 2016-11-23 22:49:30.868997 mon.0 [INF] osdmap e631: 10 osds: 8 up, 8 in
正常out
3.2.2停止一台主机所有OSD
2016-11-23 22:51:58.263803 mon.0 [INF] osd.0 marked itself down 2016-11-23 22:51:58.263996 mon.0 [INF] osd.1 marked itself down 2016-11-23 22:51:58.269150 mon.0 [INF] osd.2 marked itself down 2016-11-23 22:51:59.410795 mon.0 [INF] osdmap e637: 10 osds: 6 up, 9 in .....
超过一分钟了还没有被集群踢出去,这个是因为把故障out设置为host级别了,这个地方出现host级别故障的时候,就不进行迁移了。
4.总结
如果不设置为host级别,如果坏掉一个盘就让它迁移数据。那么一台OSD主机挂了,那么ceph会进行大量的数据迁移,如果这台主机恢复了,那么ceph又要删除掉
一份数据,对于磁盘消耗都是很大的。
版权声明:本文为博主原创文章,未经博主允许不得转载。
mon_osd_down_out_subtree_limit
- 上一篇:Ceph中PG和PGP的区别
- 下一篇:RBD 使用容量查询及属性的添加,删除