维护操作
使用systemctl管理Ceph进程
官网帮助文档没有如何使用systemctl管理Ceph进程的内容,所以这里介绍一下。
启动、停止、重启、查看MON进程
- 登陆到MON的服务器,执行如下命令
\#mon-host 是MON主机的hostname
systemctl start ceph-mon@mon-host
systemctl stop ceph-mon@mon-host
systemctl restart ceph-mon@mon-host
systemctl status ceph-mon@mon-host
启动、停止、重启、查看OSD所有和单个进程
1.登陆到OSD 的服务器,对服务器上的所有OSD进程操作
#把@*替换为OSD的ID 如@22,即可执行对应ID OSD的操作
systemctl start ceph-osd@*
systemctl stop ceph-osd@*
systemctl restart ceph-osd@*
systemctl status ceph-osd@*
OSD机器重启
设置noout 避免在异常情况下触发集群数据重新平衡
ceph osd set noout
关闭OSD机器上所有OSD进程
ceph osd down x #把这个机器上的OSD都设置为down状态 systemctl stop ceph-osd@* #用systemctl重启OSD进程
- 重启OSD机器
恢复noout 设置
ceph osd unset noout
扩容
扩容条件
PB级的集群的容量超过50%,就要考虑扩容了。 假如OSD主机的磁盘容量为48TB(12 4TB),则需要backfill的数据为24TB(48TB 50%) ,假设网卡为10Gb,则新加一个OSD时,集群大约需要19200s(24TB/(10Gb/8)) 约3小时完成backfill,而backfill后台数据填充将会涉及大量的IO读和网络传输,必将影响生产业务运行。 如果集群容量到80%再扩容会导致更长的backfill时间,近8个小时。
OSD对应的磁盘利用率如果超过50%,也需要尽快扩容。
扩容方法
在业务闲时,向集群中增加OSD主机。
升级Ceph软件版本
- 在MON和OSD机器上升级安装指定的ceph版本的软件包
- 逐个重启MON进程
设置noout 避免在异常情况下触发集群数据重新平衡
ceph osd set noout
- 逐个重启OSD进程
ceph osd down x #提前mark down, 减少slow request systemctl restart ceph-osd@x #用systemctl重启OSD进程
- 恢复noout 设置
ceph osd unset noout