收起左侧

导入ZFS存储池 zvol造成mdadm死锁(必现、可解决)

1
回复
75
查看
[ 复制链接 ]

0

主题

11

回帖

0

牛值

江湖小虾

BUG简述: 导入zfs存储池 存在zvol 造成mdadm死锁

环境:

出现频率: 必现

系统版本:1.1.29

系统雷系:X86/ARM

设备环境:(物理机/虚拟机)

具体复现和分析:

导入的zfs存储池,原本是其他系统创建(PVE、Truenas)或者原本是飞牛下手动创建过zvol的,
默认情况下,飞牛的磁盘自动挂载程序会把所有zvol内的文件系统展开挂载,
zvol大概率都是放虚拟机的硬盘的,然后又被识别成本机的其他存储空间。
如下图,只导入了一次,就出现两个存储空间,
两个存储空间 删除和导出,都会互相死锁,
并且飞牛执行软关机和重启也会因为进程无法终止而卡住。飞牛导入ZFS_BUG1.png

飞牛导入ZFS_BUG2.png

飞牛导入ZFS_BUG3.png

已经死锁的解决

已经卡住的,只有断 电关机
或 zfs destory pool_name/zvol_name 先删掉zvol才能解决(如果数据不重要的话)

避免发生彻底解决

导入前,对存储池先执行 volmode=dev 的属性变更操作

zfs set volmode=dev pool_name

正常情况,存储池的这个属性,是向下继承的,
所以只要到池的名字做修改就行。
一共有如下几种类型 default full geom dev none
前3种,实测都会发生mdadm死锁

以下是手动处理后的情况,zvol以然还有,但没有被展开了。

飞牛导入ZFS_BUG5.png

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

感谢反馈!我们跟进一下。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则