缺少 RBD 对象的 cinder 卷是什么?
虽然丢失存储在 Ceph 中的对象极不可能发生,但并非不可能。当它发生在基于 RBD 的 Cinder 卷 上时,知道哪个卷缺少对象将有助于灾难恢复。
list_missing 命令显示 rbd_data.9ad9d26b8b4567.00000000000007b1 是丢失对象的名称。
# ceph pg 4.46 list_missing { "offset": { "oid": "", "key": "", "snapid": 0, "hash": 0, "max": 0, "pool": -1, "namespace": ""}, "num_missing": 1, "num_unfound": 1, "objects": [ { "oid": { "oid": "rbd_data.9ad9d26b8b4567.00000000000007b1", "key": "", "snapid": -2, "hash": 197180870, "max": 0, "pool": 4, "namespace": ""}, "need": "328685'1233912", "have": "328683'1233904", "locations": []}], "more": 0}
相应的 RBD 镜像名称由 rbd info 显示
# rbd --pool ovh ls | while read image ; do rbd --pool ovh info $image done | grep -C 5 9ad9d26b8b4567
format: 2 features: layering rbd image 'volume-1f0c5446-8671-4096-9954-ed2cb8b1e33e': size 30720 MB in 7680 objects order 22 (4096 KB objects) block_name_prefix: rbd_data.9ad9d26b8b4567 format: 2 features: layering rbd image 'volume-215afc73-21f0-4234-8389-f36bbe473300': size 10240 MB in 2560 objects order 22 (4096 KB objects)
cinder 卷的可读名称是 RBD 镜像的最后一部分,并且 cinder show 将显示它
# cinder show 1f0c5446-8671-4096-9954-ed2cb8b1e33e ... | display_name | osrm | ...