Ceph集羣搬遷後的恢復過程

引言

因爲機房搬遷,個人Ceph集羣也要遷走。按照關閉rgw, osd, mon的順序依次關閉ceph進程後關機便可。可是在恢復的過程當中確實花費了一些精力,主要有以下問題。web

  1. 機器重啓後硬盤沒有自動掛載,須要將硬盤掛載到對應目錄;
  2. 整個集羣IP修改,若是讓集羣適應新IP

本文主要以解決這兩個問題爲主,並說明集羣恢復的完整過程。frontend

恢復過程

修改各主機中集羣IP信息

因爲集羣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恢復

整個集羣的恢復的首要條件是恢復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

osd恢復

因爲個人硬盤並無自動掛載的功能,因此此處有一個體力活,就是如何將硬盤掛載到對應的掛載目錄上。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

rgw恢復

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
相關文章
相關標籤/搜索