因爲機房搬遷,個人Ceph集羣也要遷走。按照關閉rgw, osd, mon的順序依次關閉ceph進程後關機便可。可是在恢復的過程當中確實花費了一些精力,主要有以下問題。web
本文主要以解決這兩個問題爲主,並說明集羣恢復的完整過程。frontend
因爲集羣IP發生了修改,因此/etc/hosts中的配置文件中集羣的IP地址信息也要更新。集羣中的每臺主機都應該更新。spa
1*0.57.148.*6 ceph0 1*0.57.148.*7 ceph1 1*0.57.148.*8 ceph2 1*0.57.148.*9 ceph3 1*0.57.148.*0 ceph4
整個集羣的恢復的首要條件是恢復MON, 也是解決IP改變的須要,OSD自己並無跟IP相關,這個問題的解決能夠查看我之前的博客 Ceph因爲更換IP地址致使MON異常.net
此處須要注意的是要更新ceph.conf文件中mon_host信息以及public network / cluster network的網段信息。code
mon_initial_members = ceph0,ceph1,ceph2 mon_host = your mon ip addrs
因爲個人硬盤並無自動掛載的功能,因此此處有一個體力活,就是如何將硬盤掛載到對應的掛載目錄上。blog
我在起初掛載的時候按照順序依次掛載,即進程
/dev/sdb1 --> /var/lib/ceph/osd/ceph-0 /dev/sdc1 --> /var/lib/ceph/osd/ceph-1 /dev/sdd1 --> /var/lib/ceph/osd/ceph-2 /dev/sde1 --> /var/lib/ceph/osd/ceph-3 ......
盤符和掛載點都是依次遞增的,因此在恢復的時候也是依次掛載便可。若是不肯定,能夠採用以下辦法:先將硬盤進行掛載,檢查whoami中的編號,便可知道該硬盤對應哪一個掛載點。ip
掛載好後用/etc/init.d/ceph start命令啓動各臺主機上的osd進程。ci
IP地址的修改對RGW的影響很小,只須要修改下配置文件中的host選項,改成實際IP地址便可。rem
[client.rgw.ceph4] host = your ip addr rgw frontends=civetweb port=80
修改後直接啓動rgw進程便可。
如此便可恢復整個集羣。
在恢復的過程當中發現集羣的狀態特別不穩定,老是有不一樣的osd節點被標記爲down.也沒有找到緣由。後來考慮到是否是防火牆中的策略沒有將新IP添加進去的緣由。檢查後果真如此。修改策略後一會狀態即變爲active + clean. 至此集羣恢復成功。
移除mon的方法:
monmap e1: 5 mons at {a=101.71.4.11:6789/0,b=101.71.4.12:6789/0,c=101.71.4.13:6789/0,d=101.71.4.14:6789/0,e=101.71.4.15:6789/0} [root@aaa ~]# ceph mon remove d removed mon.d at 101.71.4.14:6789/0, there are now 4 monitors [root@aaa ~]# ceph mon remove e removed mon.e at 101.71.4.15:6789/0, there are now 3 monitors