我运行Openstack cinder 具有 ceph 作为其存储后端。当我偶尔尝试删除一个煤渣卷时,它失败了。
cinder
ceph
所以我转而使用 rbd 命令来解决此问题,下面是该命令打印的错误消息: rbd rm ${pool}/${volume-id}
rbd
rbd rm ${pool}/${volume-id}
rbd:错误:图像仍有观察者 这意味着图像静止 打开或使用它的客户端崩溃。关闭/取消映射后重试 它或等待30秒等待崩溃的客户端超时。
然后 rbd status ${pool}/${volume-id} 显示
rbd status ${pool}/${volume-id}
观看者: 观察者=172.18.0.1:0/523356342客户端.230016780 cookie=94001004445696
我很困惑为什么观察者粘在卷上,导致卷无法删除,有什么原因或我做错了什么吗?
在这种情况下,如何删除卷?
我找到了一个解决方案来解决这个问题,其概念是通过使用将观察者添加到黑名单中 ceph osd blacklist ,则该卷将变为可移动的,删除后,将观察者从黑名单中删除。
ceph osd blacklist
$ ceph osd blacklist add 172.18.0.1:0/523356342 blacklisting 172.18.0.1:0/523356342
$ rbd status ${pool}/${volume-id} Watchers: none $ rbd rm ${pool}/${volume-id} Removing image: 100% complete...done.
$ ceph osd blacklist rm 172.18.0.1:0/523356342 un-blacklisting 172.18.0.1:0/523356342
仅此而已,但仍在寻找根本原因。