rbd删除image报:rbd: error: image still has watchers

1、解决思路:
遇到有image无法删除的情况,一般有以下两种原因:
a、由于image下有快照信息,只需要先将快照信息删除,然后就可以删除该image了;
b、该image正在被另一个客户端访问,具体表现为该image中有watcher。如果该客户端异常,那么就会出现无法删除该image的情况;
对于第一种情况,只需要删除快照即可解决,下面介绍第二种情况的解决方法。

2、解决方案:
查看当前image上的watcher
方法一:

rbd status volume -p abc
watcher=192.168.197.157:0/1135656048 client.4172 cookie=1

方法二:
a、首先找到image的header对象。

rbd info volume -p abc
rbd image 'volume':size 1024 MB in 256 objectsorder 22 (4096 kB objects)block_name_prefix: rbd_data.1041643c9869format: 2features: layeringflags: create_timestamp: Tue Oct 17 10:20:50 2017

由该image的block_name_prefix为rbd_data.1041643c9869,可知该image的header对象为rbd_header.1041643c9869,得到了header对象后,查看watcher信息。

b、查看该image的header对象上的watcher信息

rados -p abc listwatchers rbd_header.1041643c9869
watcher=192.168.197.157:0/1135656048 client.4172 cookie=1

3、删除image上的watcher
a、把该watcher加入黑名单:

ceph osd blacklist add 192.168.197.157:0/1135656048
blacklisting 192.168.197.157:0/1135656048 until 2017-10-18 12:04:19.103313 (3600 sec)

b、查看占用该image的watcher:

rados -p abc listwatchers  rbd_header.1041643c9869

异常客户端的watcher信息已经不存在了,之后就可以删除该image了。
c、删除image

rbd rm volume -p abc

4、后续操作:
删除image之后,最好将黑名单中的客户端移除,下面是有关黑名单的相关操作
a、查看黑名单列表:

ceph osd blacklist ls
listed 1 entries
192.168.197.157:0/1135656048 2017-10-18 12:04:19.103313

b、从黑名单移除一个客户端

ceph osd blacklist rm 192.168.197.157:0/1135656048 
un-blacklisting 192.168.197.157:0/1135656048

c、清除黑名单

ceph osd blacklist clearremoved all blacklist entries


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部