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

    标签(空格分隔): ceph,ceph运维,rbd


    解决思路:

    在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
    

    参考文献

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

  • 相关阅读:
    python基础之包、模块、命名空间和作用域
    python基础之函数式编程
    python基础之文件操作
    python基础之psutil模块和发邮件(smtplib和yagmail)
    【面试题21】包含min函数的栈
    【面试题20】顺时针打印矩阵
    【面试题19】二叉树的镜像
    【面试题18】树的子结构
    【面试题17】合并两个排序的链表
    【面试题16】反转链表
  • 原文地址:https://www.cnblogs.com/sisimi/p/7776633.html
Copyright © 2011-2022 走看看