背景
Ceph在線上跑了一段時間了寞蚌,現(xiàn)在上面除了存儲一些Docker鏡像外并無其他數(shù)據(jù)林螃。最近由于物理機新規(guī)劃了Ceph的專屬網(wǎng)絡(luò)纽竣,需要把集群地址整體移過去坠韩。查了下網(wǎng)上各種資料便開始做了卑笨,中途比較順利孕暇。我這里記錄下來也是方便以后類似操作。
環(huán)境
操作系統(tǒng): Ubuntu16.04.2
Ceph: Jewel
host | 原IP | 新IP |
---|---|---|
l-010017064038-docker.magine.com | 10.9.1.38/16 | 10.17.70.38/23 |
l-010017064039-docker.magine.com | 10.9.1.39/16 | 10.17.70.39/23 |
l-010017064040-docker.magine.com | 10.9.1.40/16 | 10.17.70.40/23 |
操作
**1. **導(dǎo)出monmap文件
$ monmaptool --create --generate -c /etc/ceph/ceph.conf /tmp/monmap
**2. **解析文件
$ monmaptool --print /tmp/monmap
monmaptool: monmap file /tmp/monmap
epoch 3
fsid 23b7d822-31b0-4748-85b6-1035cc431efd
last_changed 2017-04-01 14:08:43.926253
created 2017-04-01 13:29:18.450778
0: 10.9.1.38:6789/0 mon.l-010017064038-docker
1: 10.9.1.39:6789/0 mon.l-010017064039-docker
2: 10.9.1.40:6789/0 mon.l-010017064040-docker
**3. **刪除老的mon節(jié)點
$ monmaptool --rm l-010017064038-docker /tmp/monmap
$ monmaptool --rm l-010017064039-docker /tmp/monmap
$ monmaptool --rm l-010017064040-docker /tmp/monmap
**4. **添加新的mon節(jié)點
$ monmaptool --add l-010017064038-docker 10.17.70.38:6789 --add l-010017064039-docker 10.17.70.39:6789 --add l-010017064040-docker 10.17.70.40:6789 /tmp/monmap
**5. **將新的manmap文件拷貝到所有運行ceph-mon服務(wù)的機器上
**6. **導(dǎo)入manmap
備注:導(dǎo)入manmap前赤兴,需要把集群內(nèi)的所有ceph-mon服務(wù)停掉
#host38
$ ceph-mon -i l-010017064038-docker --inject-monmap /tmp/monmap
#host38
$ ceph-mon -i l-010017064039-docker --inject-monmap /tmp/monmap
#host40
$ ceph-mon -i l-010017064040-docker --inject-monmap /tmp/monmap
**7. **同步Ceph配置文件到所有節(jié)點
[global]
fsid = 23b7d822-31b0-4748-85b6-1035cc431efd
mon_initial_members = l-010017064040-docker
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
public_network = 10.17.70.0/23
cluster_network = 10.17.70.0/23
rbd_default_features = 3
[mon.l-010017064038-docker]
host = l-010017064038-docker
mon addr = 10.17.70.38:6789
[mon.l-010017064039-docker]
host = l-010017064039-docker
mon addr = 10.17.70.30:6789
[mon.l-010017064040-docker]
host = l-010017064040-docker
mon addr = 10.17.70.40:6789
**8. **重啟服務(wù)
$ systemctl restart ceph-mon.target
$ systemctl restart ceph-osd@0 ceph-osd@1