【问题标题】:disk plug cache after first time第一次后磁盘插入缓存
【发布时间】:2018-02-10 02:43:05
【问题描述】:

我需要开发一项喜欢磁盘热插拔的功能。我写了一些udev 规则来监控磁盘,以便在udev 触发时执行一个python 脚本。

问题:

第一次拔盘,lsblk, lsscsi, udev, megacli都可以监听,/dev/sda改成/dev/sdgudev也可以触发,py脚本执行成功,第一次拔盘也正常。

但是第二次以上,我拉之前的/dev/sdglsblk, lsscsi, udev都感觉不到,std输出列表也包含dev/sdg,而udev没有找到remove event,脚本也没有执行,megacli可以找到缺盘

现在我需要udev监控磁盘插件实时执行脚本,有人有这个问题的经验吗?

我的udev 规则:

KERNEL=="sd[a-z]", ACTION=="add", SUBSYSTEM=="block", RUN+="/usr/bin/python /root/disk_plug.py %k add"
KERNEL=="sd[a-z]", ACTION=="remove", SUBSYSTEM=="block", RUN+="/usr/bin/python /root/disk_plug.py %k remove"

这是我的测试脚本:/root/disk_plug.py

import sys
import time
disk = sys.argv[1]
event = sys.argv[2]
with open('/root/disk.txt', 'a') as f:
    msg = event + '-' + disk + '-' + str(time.time())
    f.write(msg + "\n")

【问题讨论】:

    标签: python linux driver device ceph


    【解决方案1】:

    拔出前尝试卸载

    【讨论】:

      猜你喜欢
      • 2016-08-23
      • 2017-04-16
      • 1970-01-01
      • 2013-04-27
      • 2015-10-01
      • 2015-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多