kubernetes掛載ceph rbd時被佔用

在kubernetes中使用ceph rbd作爲掛載存儲,當pod出現異常退出時,有可能會被編排到另外的節點上運行,而rbd不會隨着pod的偏移而解除與原先節點的掛載關係,須要手動解除掛載,假設data_pool存儲池中的test_image鏡像被佔用。cookie

首先解除掛載code

umount /dev/rbd/data_pool/test_image

解除映射關係kubernetes

rbd unmap /dev/rbd/data_pool/test_image

一般狀況下這樣rbd就會解除佔用,能夠在其餘節點上被掛載test

但有時候會報設備繁忙的錯誤,這時就須要在ceph中強制斷開映射鏈接cli

先查詢當前被佔用的rbd狀態map

rbd status data_pool/test_image

獲得相似以下信息im

Watchers:
    watcher=192.168.1.100:0/4102608192 client.1574653 cookie=3查詢

將該鏈接加入黑名單異常

ceph osd blacklist add 192.168.1.100:0/4102608192

再次檢查rbd狀態co

rbd status data_pool/test_image

這時rbd應當處於空閒狀態,這時只須要刪除異常pod或等待pod自動恢復便可

相關文章
相關標籤/搜索