Removing Empty Hosts from the Ceph CRUSH Tree

Kırmızı ile işaretlenen “boş host entry” satırları Ceph CRUSH map içinde OSD’siz tanımlı hostlardır.

Bunlar genelde, Node daha önce cluster’a eklenip sonra kaldırıldığında, ceph orch veya pveceph ile yanlış isim otomatik eklendiğinde, CRUSH map manuel düzenlendiğinde oluşur.

Çözüm: Bu hostları CRUSH map’ten silmek.

Önce mevcut CRUSH tree’yi kontrol et:

ceph osd tree

Kırmızı kutuda olanlar örneğin:

  • host r2-prx-test-03
  • host r2-prx-test-10

Bunları kaldırmak için:

ceph osd crush remove r2-prx-test-03
ceph osd crush remove r2-prx-test-10

Sonra tekrar kontrol et:

ceph osd tree

Eğer “node has items” hatası gelirse

Bu durumda Ceph host altında OSD olmadığını düşünüyor ama bir weight kayıtlı olabilir. Şu komut ile kontrol et:

ceph osd crush tree | grep r2-prx-test-03

Eğer ağırlık görünürse sıfırla:

ceph osd crush reweight-n r2-prx-test-03 0

Tekrar sil:

ceph osd crush remove r2-prx-test-03

Ek Temizlik (Gerekirse)

Bazı eski Ceph sürümlerinde host sadece CRUSH map’ten değil, CRUSH bucket içinden de silinmek zorunda:

ceph osd crush rm r2-prx-test-03

Sonuç:

Bu iki komut sorunu çözecek:

ceph osd crush remove r2-prx-test-03
ceph osd crush remove r2-prx-test-10

Bir sonraki yazımızda görüşmek üzere. Faydalı olması dileğiyle.