扩容机器添加Monitor
如果需要添加Monitor,如图修改ceph1的“/etc/ceph/ceph.conf”,在“mon_initial_members”和“mon_host”中添加ceph4和ceph5的IP地址。
- 编辑ceph.conf。
| cd
/etc/ceph/
vim ceph.conf
|
- 将“mon_initial_members=ceph1,ceph2,ceph3”修改为“mon_initial_members=ceph1,ceph2,ceph3,ceph4,ceph5”。
- 将“mon_host=192.168.3.156,192.168.3.157,192.168.3.158”修改为“mon_host=192.168.3.156,192.168.3.157,192.168.3.158,192.168.3.197,192.168.3.198”。

- 将ceph.conf从ceph1节点推送至各个节点。
| ceph-deploy --overwrite-conf admin ceph1 ceph2 ceph3 ceph4 ceph5
|
- 在ceph1创建monitor。
| ceph-deploy mon create ceph4 ceph5
|
- 查看mon状态。
若“mon stat”中出现扩容机器的信息,说明扩容进来的服务器创建Monitor成功。

(可选)删除Monitor
删除monitor对集群影响较大,一般需要提前规划好,如不需要,可以不用删除。
以删除Monitor ceph2和ceph3为例,需修改ceph1的“/etc/ceph/ceph.conf”文件中的ceph2和ceph3的信息,并将ceph.conf推送至各节点。
- 编辑ceph.conf。
| cd
/etc/ceph/
vim ceph.conf
|
将“mon_initial_members=ceph1,ceph2,ceph3,ceph4,ceph5”修改为“mon_initial_members=ceph1,ceph4,ceph5”。
将“mon_host=192.168.3.156,192.168.3.157,192.168.3.158,192.168.3.197,192.168.3.198”修改为“mon_host=192.168.3.156,192.168.3.197,192.168.3.198”。
- 将ceph.conf从ceph1节点推送至各个节点。
| ceph-deploy --overwrite-conf admin ceph1 ceph2 ceph3 ceph4 ceph5
|
- 删除monitor ceph2和ceph3。
| ceph-deploy mon destroy ceph2 ceph3
|
部署MGR
为扩容的节点ceph4和ceph5创建MGR。
| ceph-deploy mgr create ceph4 ceph5
|
部署OSD
给扩容进来的服务器创建OSD,由于每台服务器有12块硬盘,执行如下命令:
| for i in {a..l}
do
ceph-deploy osd create ceph4 --data /dev/sd${i}
done
for i in {a..l}
do
ceph-deploy osd create ceph5 --data /dev/sd${i}
done
|
配置存储池
- 查看存储池信息。

- 修改相应的“pgnum”和“pgpnum”。
pg的计算规则如下:
Total PGs = (Total_number_of_OSD * 100 / max_replication_count) / pool_count
因此按照该环境修改“pgnum”和“pgpnum”如下:
| ceph osd pool set poolname pg_num 2048
ceph osd pool set poolname pgp_num 2048
|
添加块设备
- 列出存储池信息。

- 在ceph1上创建image。
在RBD存储池中创建5个块设备,每个块设备大小为200G,脚本命令如下:
1
2
3
4
5
6
7
8
9
10
11
12 | #!/bin/bash
pool="vdbench"
size="204800"
createimages()
{
for image in {0..4}
do
rbd create image${image} --size ${size} --pool ${pool} --image-format 2 --image-feature layering
sleep 1
done
}
createimage
|
- 查看存储池的image。

验证扩容
扩容后,Ceph会通过迁移来自其他OSD的一些pg到新添进的OSD,再次平衡数据。
- 确认数据迁移结束后集群是否恢复健康。

- 确定集群的存储容量是否增加。
