ceph集群迁移
本文主要简单讲述一下ceph集群迁移的一个整体步骤。
1. 关机前操作
1.1 确认集群当前状态
确认当前集群状态的是否为HEALTH_OK, 查看并记录osd所在的domain
在monitor节点执行:
$ ceph -s #查看ceph集群当前状态 $ ceph osd tree >>/tmp/ceph_osd_tree #查看osd所在domain
1.2 为ceph集群设置标志位
在数据以及CrushMap没有发生变化的情况下,Ceph是不会触发数据迁移以及CrushMap的变化的,但是为了安全起见,我们手动设置上标志 位,防止ceph集群在开关机前后过程中有状态变化以及数据的迁移。
在ceph集群monitor节点执行:
$ ceph osd set noout $ ceph osd set norebalance $ ceph osd set norecover
1.3 关闭rgw服务
逐台关闭rgw服务:
$ service ceph-radosgw stop
确认下rgw服务状态:
$ service ceph-radosgw status
1.4 关闭osd服务
在存储节点逐个执行:
$ service ceph stop osd
查看下osd状态:
$ service ceph status osd
1.5 关闭mon服务
在monitor节点逐台执行:
$ service ceph stop mon
查看mon服务:
$ service ceph status mon
2. 迁移机器
Ceph集群节点关机 先关闭存储节点,后关闭monitor节点
做机器迁移
ceph集群节点开机
先开启monitor节点,后开启存储节点
3. 开机后操作
3.1 开启mon服务
在monitor节点执行:
逐个开启mon服务:
$ service ceph start mon
查看mon服务状态:
$ service ceph status mon
查看mon是否在集群内:
$ ceph quorum_status
3.2 开启osd服务
逐个开启存储节点上的osd服务(按domain开启)
在存储节点执行:
$ service ceph start osd
查看该节点osd是否成功开启:
$ ceph osd tree
3.3 开启rgw服务
逐台开启rgw服务:
$ service ceph-radosgw start
确认下rgw服务状态:
$ service ceph-radosgw status
3.4 去除ceph标志位
确保所有节点mon和osd启动后,去除ceph集群标志位:
在ceph集群任意节点执行:
$ ceph osd unset noout $ ceph osd unset norebalance $ ceph osd unset norecover
去掉标志位后注意检查ceph集群状态是否恢复至HEALTH_OK
$ ceph -s #检查集群当前状态