zoukankan      html  css  js  c++  java
  • 无法删除image报rbd: error: image still has watchers解决方法

    参考链接:

    无法删除image报rbd: error: image still has watchers解决方法

    解决思路:

    在Ceph集群日常运维中,管理员可能会遇到有的image删除不了的情况:
    1) 由于image下有快照信息,只需要先将快照信息清除,然后再删除该image即可
    2) 该image仍旧被一个客户端在访问,具体表现为该image中有watcher。如果该客户端异常了,那么就会出现无法删除该image的情况

    对于第一种情况,很好解决,下面要说的是第二种情况该如何解决。解决之前先科普一下watcher相关的知识:
    Ceph中有一个watch/notify机制(粒度是object),它用来在不同客户端之间进行消息通知,使得各客户端之间的状态保持一致,而每一个进行watch的客户端,对于Ceph集群来说都是一个watcher。

    解决方法:

    1. 查看当前image上的watcher

    查看方法一:

    [root@node3 ~]# rbd status foo
    watcher=192.168.197.157:0/1135656048 client.4172 cookie=1

    这种查看方法简单快捷,值得推荐

    查看方法二:

    1) 首先找到image的header对象

    [root@node3 ~]# rbd info foo
    rbd image 'foo':
            size 1024 MB in 256 objects
            order 22 (4096 kB objects)
            block_name_prefix: rbd_data.1041643c9869
            format: 2
            features: layering
            flags: 
            create_timestamp: Tue Oct 17 10:20:50 2017

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

    2) 查看该image的header对象上的watcher信息

    [root@node3 ~]# rados -p rbd listwatchers rbd_header.1041643c9869
    watcher=192.168.197.157:0/1135656048 client.4172 cookie=1

    2. 删除image上的watcher

    2.1 把该watcher加入黑名单:

    [root@node3 ~]# 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)

    2.2 查看占用该image的watcher:

    [root@node3 ~]# rados -p rbd listwatchers  rbd_header.1041643c9869
    [root@node3 ~]# 

    异常客户端的watcher信息已经不存在了,之后我们就可以对该image进行删除操作了

    2.3 删除该image:

    [root@node3 ~]# rbd rm foo
    Removing image: 100% complete...done.

    3. 后续操作

    实际上做完上面的已经解决了问题,不过最好还是把加入黑名单的客户端移除,下面是有关黑名单的相关操作

    3.1 查询黑名单列表:

    [root@node3 ~]# ceph osd blacklist ls
    listed 1 entries
    192.168.197.157:0/1135656048 2017-10-18 12:04:19.103313

    3.2 从黑名单移出一个客户端:

    [root@node3 ~]# ceph osd blacklist rm 192.168.197.157:0/1135656048 
    un-blacklisting 192.168.197.157:0/1135656048

    3.3 清空黑名单:

    [root@node3 ~]# ceph osd blacklist clear
     removed all blacklist entries
  • 相关阅读:
    【转】 java中Class对象详解和类名.class, class.forName(), getClass()区别
    106. Construct Binary Tree from Inorder and Postorder Traversal
    105. Construct Binary Tree from Preorder and Inorder Traversal
    107. Binary Tree Level Order Traversal II
    109. Convert Sorted List to Binary Search Tree
    108. Convert Sorted Array to Binary Search Tree
    110. Balanced Binary Tree
    STL容器迭代器失效问题讨论
    113. Path Sum II
    112. Path Sum
  • 原文地址:https://www.cnblogs.com/wangjq19920210/p/12165466.html
Copyright © 2011-2022 走看看