您好,登錄后才能下訂單哦!
這篇文章主要介紹了ceph中如何刪除和添加osd節點,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
在ceph中,數據是以PG為單位保存在osd中的,一般情況下一個osd會對應一塊磁盤,在osd節點掛掉的情況下,如果osd數據盤沒有損壞,可以利用osd數據盤對數據進行恢復
現在的情況如下所示,將osd2節點的osd.8和osd.9都停掉了,相當于osd2節點已經掛掉
集群的健康狀況如下:
1 將osd.8,osd.9從crush中刪除,并刪除對應的osd,和auth,host
ceph osd crush rm osd.8
ceph osd crush rm osd.9
ceph osd rm 8
ceph osd rm 9
ceph auth del osd.8
ceph auth del osd.9
ceph osd crush rm osd2
將故障節點和osd從集群中刪除后,新的集群如下圖所示
2 新建osd2節點
并將數據盤掛載到新的osd2節點,并重建osd
2.1 掛載數據盤到臨時目錄
將數據盤掛載到/var/lib/ceph/osd/tmp/mnt目錄下,目錄不存在就新建一個
mkdir /var/lib/ceph/tmp/mnt
mount /dev/sdb1 /var/lib/ceph/tmp/mnt
讀取/var/lib/ceph/tmp/mnt目錄下的fsid,whoami文件,即該磁盤對應的osd的uuid和osd-num
cat fsid whoami
f187533d-d3cd-4e40-8416-a93c9080876c
8
2.2 重建osd
讀取到fsid,和osd-num后,可以利用這些信息重建osd,需要讀取/etc/ceph.conf文件,保證這個文件存在并且和集群中的該文件保持一致
ceph osd create f187533d-d3cd-4e40-8416-a93c9080876c 8
如果出現如圖所示的錯誤提示,說明沒有找到keyring文件,這是集群之間的認證文件
2017-10-16 16:47:15.681089 7f84f1a80700 -1 auth: unable to find a keyring on /etc/ceph/ceph.client.admin.keyring,/etc/ceph/ceph.keyring,/etc/ceph/keyring,/etc/ceph/keyring.bin: (2) No such file or directory
2017-10-16 16:47:15.681315 7f84f1a80700 -1 monclient(hunting): ERROR: missing keyring, cannot use cephx for authentication
2017-10-16 16:47:15.681404 7f84f1a80700 0 librados: client.admin initialization error (2) No such file or directory
Error connecting to cluster: ObjectNotFound
可以從集群的其他節點(主節點的/etc/ceph目錄下)上將該文件復制一份過來,放到/etc/ceph目錄下
scp ceph.client.admin.keyring osd2:/etc/ceph
再次創建osd
ceph osd create f187533d-d3cd-4e40-8416-a93c9080876c 8
返回8說明創建成功
新建osd掛載點
mkdir /var/lib/ceph/osd/ceph-8
卸載臨時掛載目錄
umount /var/lib/ceph/tmp/mnt
掛載數據盤到osd目錄
mount /dev/sdb1 /var/lib/ceph/osd/ceph-8
注冊此 OSD 的密鑰
ceph auth add osd.8 osd 'allow *' mon 'allow rwx' -i /var/lib/ceph/osd/ceph-8/keyring
added key for osd.8
3 加入集群
將新的節點加入crushmap
ceph osd crush add-bucket osd2 host
將該接點放到default根下
ceph osd crush move osd2 root=default
osd加入crushmap
ceph osd crush add osd.8 0.00980 host=osd2
這里給osd.8 的權重是0.00980,該值和集群中其他osd保持已知,權重不一致可能會導致pg的狀態一直處于unclean
現在osd已經在集群中了,加入集群的osd就可以接收數據了
root@mon1:/etc/ceph# ceph osd tree
ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY
-1 0.05878 root default
-2 0.01959 host osd1
1 0.00980 osd.1 up 1.00000 1.00000
3 0.00980 osd.3 up 1.00000 1.00000
-5 0.01959 host osd3
4 0.00980 osd.4 up 1.00000 1.00000
5 0.00980 osd.5 up 1.00000 1.00000
-3 0.01959 host osd2
9 0.00980 osd.9 up 1.00000 1.00000
8 0.00980 osd.8 down 0 1.00000
現在osd.8還處于down狀態,因為osd.8的進程還沒有啟動
啟動進程
systemctl start ceph-osd@8
現在集群的健康狀況和osd分布狀況,如下圖
上圖所示,說明osd節點恢復成功。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“ceph中如何刪除和添加osd節點”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。