一、 配置基本服务
给准备添加的集群修改唯一的主机名,修改/etc/hosts文件,配置ssh免密登陆,关闭防火墙,关闭selinux,配置ntp服务,配置iptables(如果需要)(udp:123,tcp:6789,tcp:6800-7300)
二、 安装ceph及相关软件
#sudo yum remove -y epel-release
#sudo yum localinstall -y epel-release-7-11.noarch.rpm
#sudo yum localinstall -y yum-plugin-priorities-1.1.31-42.el7.noarch.rpm
#sudo rpm --import release.asc
#sudo rpm -Uvh --replacepkgs ceph-release-1-0.el7.noarch.rpm
#sudo yum localinstall -y --disablerepo=* {libradosstriper1-10.2.10-0.el7.x86_64.rpm,librbd1-10.2.10-0.el7.x86_64.rpm,librgw2-10.2.10-0.el7.x86_64.rpm,python-rbd-10.2.10-0.el7.x86_64.rpm,python-rados-10.2.10-0.el7.x86_64.rpm,libcephfs1-10.2.10-0.el7.x86_64.rpm,python-cephfs-10.2.10-0.el7.x86_64.rpm,ceph-base-10.2.10-0.el7.x86_64.rpm,ceph-common-10.2.10-0.el7.x86_64.rpm,ceph-radosgw-10.2.10-0.el7.x86_64.rpm,ceph-mds-10.2.10-0.el7.x86_64.rpm,ceph-mon-10.2.10-0.el7.x86_64.rpm,ceph-osd-10.2.10-0.el7.x86_64.rpm,ceph-10.2.10-0.el7.x86_64.rpm,ceph-selinux-10.2.10-0.el7.x86_64.rpm,librados2-10.2.10-0.el7.x86_64.rpm,python-flask-0.10.1-4.el7.noarch.rpm,python-requests-2.6.0-1.el7_1.noarch.rpm,boost-regex-1.53.0-27.el7.x86_64.rpm,leveldb-1.12.0-5.el7.1.x86_64.rpm,gdisk-0.8.6-5.el7.x86_64.rpm,fcgi-2.4.0-25.el7.x86_64.rpm,lttng-ust-2.4.1-1.el7.1.x86_64.rpm,psmisc-22.20-15.el7.x86_64.rpm,boost-program-options-1.53.0-27.el7.x86_64.rpm,boost-random-1.53.0-27.el7.x86_64.rpm,gperftools-libs-2.4-8.el7.x86_64.rpm,libbabeltrace-1.2.4-3.el7.x86_64.rpm,mailcap-2.1.41-2.el7.noarch.rpm,boost-iostreams-1.53.0-27.el7.x86_64.rpm,python-urllib3-1.10.2-3.el7.noarch.rpm,python-werkzeug-0.9.1-2.el7.noarch.rpm,python-jinja2-2.7.2-2.el7.noarch.rpm,selinux-policy-3.13.1-166.el7_4.9.noarch.rpm,selinux-policy-targeted-3.13.1-166.el7_4.9.noarch.rpm,userspace-rcu-0.7.16-1.el7.x86_64.rpm,python-itsdangerous-0.23-2.el7.noarch.rpm,hdparm-9.43-5.el7.x86_64.rpm,libunwind-1.2-2.el7.x86_64.rpm,python-markupsafe-0.11-10.el7.x86_64.rpm,python-babel-0.9.6-8.el7.noarch.rpm}
三、 在新监视器主机上创建默认目录
sudo mkdir /var/lib/ceph/mon/ceph-{mon-id}
如
[root@ceph4 mon]#sudo mkdir /var/lib/ceph/mon/ceph-ceph4
四、 获取监视器密钥环, {tmp} 是密钥环文件保存路径、 {filename} 是包含密钥的文件名
ceph auth getmon. -o {tmp}/{key-filename}
如:
[root@ceph4mon]#ceph auth get mon. -o /tmp/keyring
五、 获取监视器运行图, {tmp} 是获取到的监视器运行图、 {filename} 是包含监视器运行图的文件名
ceph mon getmap -o {tmp}/{map-filename}
如
[root@ceph4 mon]#ceph mon getmap -o /tmp/mapfile
六、准备第一步创建的监视器数据目录。必须指定监视器运行图路径,这样才能获得监视器法定人数和它们 fsid 的信息;还要指定监视器密钥环路径。
sudo ceph-mon -i {mon-id} --mkfs --monmap{tmp}/{map-filename} --keyring {tmp}/{key-filename}
如:
[root@ceph4 mon]#sudo ceph-mon -i ceph4 --mkfs--monmap /tmp/mapfile --keyring /tmp/keyring
七、 启动新监视器,它会自动加入机器。守护进程需知道绑定到哪个地址,通过 --public-addr {ip:port} 或在 ceph.conf 里的相应段设置 mon addr 可以指定。
ceph-mon -i {mon-id} --public-addr {ip:port}
如:
[root@ceph4mon]# ceph-mon -i ceph4 --public-addr 192.168.0.14:6789
检查是否创建成功
[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
如果没有成功的话,此时dump可能已经出现了,没有启动mon节点的情况下,ceph health是不会OK的,而是会提示集群有一个mon是down的。