Ceph添加mon节点

时间:2021-08-25 12:45:37

                                             Ceph添加mon


1、手动部署的集群(如果还没有安装的话), Ceph 软件包必须手动装,详情参见安装软件包。应该配置一个用户,使之可以无密码登录 SSH 、且有 root 权限。

2、查看mon节点的mon-id(这个操作可以在管理节点上执行):
   [root@ceph-admin mon]# ceph  mon dump
dumped monmap epoch 6
epoch 6
fsid 38430e06-c142-4338-ac88-47ca19a7ee6e
last_changed 2017-03-22 20:00:12.333336
created 2017-03-21 18:05:55.929279
0: 192.168.0.10:6789/0 mon.ceph-admin
1: 192.168.0.11:6789/0 mon.ceph1
2: 192.168.0.12:6789/0 mon.ceph2
3: 192.168.0.13:6789/0 mon.ceph3
    这样确定了安装的Ceph的mon命名方式,为了保持统一的命名。

2、以下操作全部在需要部署mon节点的机器上操作:
   添加的mon节点:
   hostname : ceph4
   ip       :  192.168.0.14
   a、创建一个目录
      [root@ceph4 mon]#sudo mkdir /var/lib/ceph/mon/ceph-ceph4

   b、获取监视器密钥环, {tmp} 是密钥环文件保存路径、 {filename} 是包含密钥的文件名。
      [root@ceph4 mon]#ceph auth get mon. -o /tmp/keyring

   c、获取监视器运行图, {tmp} 是获取到的监视器运行图、 {filename} 是包含监视器运行图的文件名。
      [root@ceph4 mon]#ceph mon getmap -o /tmp/mapfile

   d、准备第一步创建的监视器数据目录。必须指定监视器运行图路径,这样才能获得监视器法定人数和它们 fsid 的信息;
      还要指定监视器密钥环路径
      [root@ceph4 mon]#sudo ceph-mon -i ceph4 --mkfs --monmap /tmp/mapfile --keyring /tmp/keyring

   e、启动新监视器,它会自动加入机器。守护进程需知道绑定到哪个地址,
      通过 --public-addr {ip:port} 或在 ceph.conf 里的相应段设置 mon addr 可以指定。
      [root@ceph4 mon]# ceph-mon -i ceph4 --public-addr 192.168.0.14:6789 
    
 3、检查是否创建成功
    [root@ceph4 mon]# ceph  mon dump     //dump mon的信息
dumped monmap epoch 6
epoch 6
fsid 38430e06-c142-4338-ac88-47ca19a7ee6e
last_changed 2017-03-22 20:00:12.333336
created 2017-03-21 18:05:55.929279
0: 192.168.0.10:6789/0 mon.ceph-admin
1: 192.168.0.11:6789/0 mon.ceph1
2: 192.168.0.12:6789/0 mon.ceph2
3: 192.168.0.13:6789/0 mon.ceph3
4: 192.168.0.14:6789/0 mon.ceph4  //新创建的mon节点
[root@ceph4 mon]# ceph  mon stat  //查看mon的状态
e6: 5 mons at {ceph-admin=192.168.0.10:6789/0,ceph1=192.168.0.11:6789/0,ceph2=192.168.0.12:6789/0,
ceph3=192.168.0.13:6789/0,ceph4=192.168.0.14:6789/0}, 
election epoch 54, quorum 0,1,2,3,4 ceph-admin,ceph1,ceph2,ceph3,ceph4  //这里已经出现了ceph4
[root@ceph4 mon]# ceph health                                           //集群是健康的
HEALTH_OK
[root@ceph4 mon]


 如果没有成功的话,此时dump可能已经出现了,没有启动mon节点的情况下,ceph health是不会OK的,而是会提示集群有一个mon是down的。