如何刪除一台OSD主機

2022-06-15 10:00:12 字數 4004 閱讀 7029

在ceph的一台osd主機出現故障的時候,資料可以通過副本的機制進行恢復,之後通過刪除osd的操作也能夠將故障osd從osd tree當中刪除掉,但是故障的 osd 的主機仍然會留在集群當中,通過 ceph osd tree 或者列印 crush map 都可以看到這個損壞的節點主機名,所以這裡講下怎麼刪除掉這個無用的host

首先集群環境為兩台主機 node8109 node8110 , node8110主機出現故障需要清理掉

先看下當前的osd tree狀態

[root@node8109 webui]# ceph osd tree

id weight type name up/down reweight primary-affinity

-1 4.00000 root default

-3 4.00000 rack localrack

-2 2.00000 host node8109

0 1.00000 osd.0 up 1.00000 1.00000

1 1.00000 osd.1 up 1.00000 1.00000

-4 2.00000 host node8110

2 1.00000 osd.2 down 1.00000 1.00000

3 1.00000 osd.3 down 1.00000 1.00000

檢視osd的狀態
[root@node8109 webui]# ceph osd stat
首先out掉osd
[root@node8109 ~]# ceph osd out 2

marked out osd.2.

[root@node8109 ~]# ceph osd out 3

marked out osd.3.

從crush裡面刪除osd
[root@node8109 ~]# ceph osd crush remove osd.2

removed item id 2 name 'osd.2' from crush map

[root@node8109 ~]# ceph osd crush remove osd.3

removed item id 3 name 'osd.3' from crush map

從集群中刪除osd
[root@node8109 ~]# ceph osd rm osd.3

removed osd.3

[root@node8109 ~]# ceph osd rm osd.2

removed osd.2

從集群認證裡面刪除osd
[root@node8109 ~]# ceph auth del osd.2

updated

[root@node8109 ~]# ceph auth del osd.3

updated

檢視當前的crush map

root@node8109 ~]# ceph osd tree

id weight type name up/down reweight primary-affinity

-1 2.00000 root default

-3 2.00000 rack localrack

-2 2.00000 host node8109

0 1.00000 osd.0 up 1.00000 1.00000

1 1.00000 osd.1 up 1.00000 1.00000

-4 0 host node8110

下面有兩種方法從osd tree 刪除掉node8110,為命令方式和修改crush map 方式

[root@node8109 ~]# ceph osd crush remove node8110

removed item id -4 name 'node8110' from crush map

[root@node8109 ~]# ceph osd tree

id weight type name up/down reweight primary-affinity

-1 2.00000 root default

-3 2.00000 rack localrack

-2 2.00000 host node8109

0 1.00000 osd.0 up 1.00000 1.00000

1 1.00000 osd.1 up 1.00000 1.00000

匯出當前的crush map
[root@node8109 ~]#ceph osd getcrushmap -o crushmap.txt

[root@node8109 ~]#crushtool -d crushmap.txt -o crushmap-decompile

[root@node8109 ~]# vim crushmap-decompile

刪除掉node8109相關的資訊
[root@node8109 ~]#crushtool -c crushmap-decompile  -o crushmap-compile

[root@node8109 ~]# ceph osd setcrushmap -i crushmap-compile

set crush map

[root@node8109 ~]# ceph osd tree

id weight type name up/down reweight primary-affinity

-1 2.00000 root default

-3 2.00000 rack localrack

-2 2.00000 host node8109

0 1.00000 osd.0 up 1.00000 1.00000

1 1.00000 osd.1 up 1.00000 1.00000

從上面的兩種方式可以看出,使用命令的方式更為簡單直接,而修改crush map的方式需要去做修改的操作,有一定的修改錯誤的風險,所以在做crush map的相關操作的時候,建議是能用命令方式做的就用命令方式去做操作

expect ssh 另外一台主機

expect ssh 另外一台主機 usr bin expect spawn ssh 192.168.177.251 spawn 後面加上要執行的命令 expect yes no expect 是將spawn的命令才能被expect捕捉到 send yes r send 是講expect的指令碼需要...

如何挑選一台合適的虛擬主機

選擇一款便宜好用的主機空間,是 獲得成功的前提之一。那麼該如何挑選虛擬主機空間呢,本文根據筆者多年經驗,告訴大家挑選虛擬主機空間,一般需要關注的幾個方面因素和主機空間指標。1.空間的穩定性 大家要記得選擇 雲空間 大品牌 可試用的虛擬主機空間,空間的穩定性就可以得到保障。例如,香港雲互聯yunhk....

一台Linux主機搭建kafka集群

具體看 wget 0.1 kafka 2.11 0.9 0.1.tgz tar xzf kafka 2.11 0.9 0.0.tgzkafka broker配置檔案修改 修改kafka根目錄下的config server.propertiesbroker.id 0 整個集群內唯一id號,整數,一般從...