Ceph:如何查看rbd映射的設備被哪個客戶端使用

一、場景說明:

    Ceph的運維過程中,管理員有時候會遇到Ceph的RBD設備,通過映射的方式給客戶端進行使用,但是過段時間後,在服務端,你想知道到底某個pool的img被哪個客戶端佔用着。另外一種情況,比如想刪除某個image,但那個image可能被客戶端佔用,如果該客戶端出現了異常那麼就會出現無法刪除該image的情況。


二、分析過程:

Ceph中有一個watch/notify的機制(粒度是object),它的主要作用是在不同客戶端之間進行消息通知,使得各客戶端之間的狀態能夠保持一致,而每一個進行watch的客戶端,對於ceph集羣來說都是一個watcher。

# rbd info openshift01/openshift01-img01
rbd image 'openshift01-img01':
    size 102400 MB in 25600 objects
    order 22 (4096 kB objects)
    block_name_prefix: rbd_data.957f238e1f29
    format: 2
    features: layering
    flags:

說明:openshift01爲pool的名稱,openshift01-img01爲img的名稱。

# rados -p openshift01 listwatchers rbd_header.957f238e1f29
watcher=172.16.0.48:0/54296760 client.51052 cookie=1

說明:由上面輸出結果可以知道,172.16.0.48爲被映射的客戶端。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章