You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何判断DRBD设备是否被占用(无需切换至secondary状态)及查询占用进程

如何判断DRBD设备是否被占用(无需切换至secondary状态)及查询占用进程

我来给你分享几个不用切换DRBD角色就能搞定的实用方法,既能判断设备是否被占用,还能揪出到底是谁在占用它:

  • 用lsof工具直接查询
    这是最常用的查看打开文件/设备的命令,直接指定你的DRBD设备路径就行,比如:

    lsof /dev/drbd0
    

    如果有输出结果,就说明这个DRBD设备正被占用。输出里会清晰显示进程名称、PID、运行用户等信息,哪怕是XEN虚拟机这类后台进程在占用,也能一眼看出来。要是想统计占用的进程数量,可以用:

    lsof /dev/drbd0 | tail -n +2 | wc -l
    

    (tail -n +2是去掉表头行,避免统计错误)

  • 用fuser命令快速排查
    这个工具专门用来识别正在使用某个文件/设备的进程,加上-v参数能显示详细信息:

    fuser -v /dev/drbd0
    

    执行后会列出所有占用该DRBD设备的进程,包括进程的PID、用户、访问类型(比如读/写),信息一目了然,而且执行速度很快。

  • 额外小技巧:检查XEN虚拟机的挂载情况
    如果你怀疑是XEN虚拟机在占用设备,除了上面的进程工具,还可以查看XEN虚拟机的配置文件(通常在/etc/xen/目录下),搜索DRBD设备路径,确认是否有虚拟机挂载了它。不过这种方式不如进程工具直接,更适合辅助验证。

这些方法都不需要你执行drbdadm secondary切换角色,完全在primary状态下就能安全操作,不用担心影响业务。

备注:内容来源于stack exchange,提问作者AlexKing

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 15:00:32