Ceph集群删除mon节点操作
操作系统版本信息
系统:GNU/Linux 7.2
内核版本:3.18.16
Ceph版本:ceph 0.94.6
操作信息:
剔除集群mon节点: zz28-49
替换集群mon节点 zz24-49
一、删除zz28-49服务器上osd节点信息
详情见:存储服务器节点下架操作 http://train.gainet.com/document.html?documentId=666
【由于ceph集群是三副本存储,所以当其中一台服务器down掉的话,ceph集群状态就一直是WARNING状态,这时,提前将zz24-49主机添加到集群中,zz24-49服务器主机名修改为zz28-49。添加osd节点:创建host桶:sharepool_zz28-49,添加到root=sharepool这时集群满足三副本的条件,这时可以同步数据,为缩减集群数据同步完成时间,只需让root=sharedislpool 满足3副本即可】
操作如下:
1、设置集群不同步、不回填
# ceph osd set unrecover
# ceph osd set unbackfill
2、创建host桶
# ceph osd crush add-bucket sharepool_zz28-49 host #(就是zz24-49服务器)
3、添加osd节点到host下,并将host移动到root=sharepool
# ceph osd crush add osd.x 1.5 host=sharepool_zz28-49
# ceph osd crush move sharepool_zz28-49 root=sharepool
4、取消集群不同步、不回填
# ceph osd unset unrecover
# ceph osd unset unbackfill
二、删除集群zz28-49 mon节点
1、查看当前集群mon状态
# ceph mon stat
2、停止zz28-49 mon节点
# service ceph stop mon.zz28-49
3、将zz28-49节点从ceph cluster中删除掉
# ceph mon remove zz28-49
4、查看当前集群mon节点
# ceph mon stat
【此时,zz28-49服务器已经成功剔除ceph集群】
三、创建集群mon节点
【zz24-49服务器上osd节点已经在ceph集群中运行,主机名为:zz28-49】
1、创建集群mon节点【确认当前集群状态为: HEALTH_OK 后操作】
# ceph auth get mon. -o tmp/key-filename
# ceph mon getmap -o tmp/map-filename
# ceph-mon -i $HOSTNAME --mkfs --monmap \
>>tmp/map-filename --keyring tmp/key-filename
# ceph-mon -i $HOSTNAME --public-addr ip:port
经过以上步骤,如果准备工作没有问题,配置文件编写正确,那么mon创建成功了。
# service ceph start mon
2、查看集群mon节点
# ceph –s
# ceph mon stat
3、同步集群ceph配置文件
# for i in `cat /etc/hosts |grep -E -v "localhost"|awk '{print $2}'`;do scp /etc/ceph/ceph.conf $i:/etc/ceph/ceph.conf ;done
【至此,集群mon节点更换完成】