blacklist最常用于CephFS场景中,以防止滞后的元数据服务器对OSD上的数据进行不良更改。

当文件系统客户端无响应或行为异常时,可能有必要强制终止其对文件系统的访问。 此过程称为eviction(驱逐)。

驱逐CephFS客户端会阻止其与MDS daemons和OSD daemons进一步通信。 如果客户端正在对文件系统进行buffered IO,则所有未刷新的数据都将丢失。

blacklist也用于块存储中(openstack场景),某个卷存在watcher,无法删除该卷。假设客户端上watcher:watcher=10.37.192.139:0/1308721908存在异常。加入黑名单中,然后删除卷。

blacklist相关操作如下:

把客户端加入黑名单

ceph osd blacklist add  {}
Eg:
ceph osd blacklist add 10.37.192.139:0/1308721908

注:默认时间为1小时,超过1小时自动释放;

查看黑名单中的客户端

# ceph osd blacklist ls
listed 1 entries
10.37.192.139:0/1308721908 2019-02-27 10:10:52.049084

删除黑名单中的客户端

ceph osd blacklist rm 
Eg:
ceph osd blacklist rm 10.37.192.139:0/1308721908

查看rbd卷的watcher

[root@ceph1 ~]# rbd status dpool/test
Watchers: 10.37.192.139:0/1308721908 client.172221 cookie=1222222189908