企业版Ceph迁移mon节点

若企业版Ceph需要迁移mon节点,请参考以下步骤进行操作。

Note: 迁移mon节点需要进行以下准备工作:
  • 在原平添上创建一个测试云主机;
  • 将主存储进入维护模式,确保主存储已进入维护模式,并确保所有云主机已经关闭;
  • 删除mon前(若全部迁移,那么都需要执行),在ceph.conf的global下面增加mon_client_ping_timeout = 1
  • 登录到每台的xdc节点执行以下命令:
    [root@ Ceph-1 ~]# for i in `ls /var/run/ceph/rbd*.asok`; do ceph --admin-daemon $i config set mon_client_ping_timeout 1; done
准备工作完成后,依次执行以下步骤进行mon节点迁移(通过设置角色进行迁移,注意最后迁移master节点):
  1. 执行命令xms-manage db list查看ceph mon 的master数据库节点;
  2. 先迁移一个master节点以外的节点,并确保迁移后存储状态为ok
  3. 第一个节点迁移完成后,将ceph.conf里面的mon_client_ping_timeout删除,然后执行以下命令;
    [root@ Ceph-1 ~]# ceph tell osd.* injectargs '--mon_client_ping_timeout 7'
  4. 登录到每台的xdc节点各执行以下命令:
    [root@ Ceph-2 ~]# for i in `ls /var/run/ceph/rbd*.asok`; do ceph --admin-daemon $i config set mon_client_ping_timeout 7; done
  5. 以上步骤完成后,依次迁移其他master节点以外的节点,并确认迁移后存储状态为ok;
  6. 执行以下命令,手动迁移master DB,并确保存储状态为ok
    [root@ Ceph-master ~]# xms-manage db switch $新monIP  
    Note: 新monIP需要填写xms-manage db list输出的其他mon节点IP(存储IP以外的IP),用于admin访问UI。
  7. 登录UI界面,使用新的master DB节点IP打开操作设置角色;
  8. 进行最后一个mon节点迁移(master 节点),并确保存储状态为ok
  9. 为主存储设置新mon IP地址,并删除原有mon地址;为镜像服务器设置新mon IP地址,并删除原有mon地址;
  10. 从维护模式手动恢复主存储,并重连主存储;
  11. 启动之前创建的测试VM,测试存储是否可用,测试成功后,启动业务云主机,确保正常运行并使用存储数据后,企业版Ceph迁移mon节点完成。
Note:
  • 迁移后如果想测试存储重启是否恢复,需要进行逐一重启操作,切勿批量操作。
  • 若迁移后导致OSD故障,请在某个故障节点执行以下步骤进行修复:
    1. 执行命令ceph osd tree查看所有osd状态;
    2. 执行命令ceph osd find XXX(XXX为故障osd编号)查询osd所在节点;
    3. 通过ssh方式登录,例如:ssh osd_IP(osd_IP为第二步查到的osd所在节点IP);
    4. 执行命令systemctl restart ceph-osd@X重启osd;
    重复以上步骤,重启其他osd,所有osd重启后完成故障修复操作。