xfs文件系统cd命令卡死,sync命令卡死问题

文章讨论了在RedHat7.0-7.2版本中,因终端访问挂载点导致iscsi挂载的程序umount时出现targetbusy错误,进一步深入分析了atime属性引发的io卡死问题。解决方法是使用mount-noatime属性避免atime修改,确保安全卸载和登出磁盘。
摘要由CSDN通过智能技术生成

因项目需要,程序经常需要使用iscsi挂卸载远程fileio,而终端又经常需要进入到挂载点中查看文件(默认xfs文件系统),因为有终端访问挂载点,而此时程序直接umount会报错target busy,故只能使用sync && umount -l之后直接iscsiadm登出。

然而如果在卸载前有终端在挂载点有执行过ls命令,则有概率出现io卡死(如下图),卡死后执行sync命令会永久hang住(kill -9也无效),整个文件系统也存在风险。

原因:终端进入到挂载点目录执行过ls、ll、ll -R等类似操作,默认的mount属性带有atime属性,当ls命令执行后会依次修改目录下所有文件的atime属性,这个修改时间不可预估(sync不会阻塞在系统修改atime过程中),如果此时程序sync && umount -l挂载点并iscsiadm登出磁盘,因磁盘已失效xfs文件系统将在修改atime的过程中死锁,导致后续sync命令永远不可用。

注:这个问题只在redhat 7.0  7.1  7.2三个小版本中出现,其他版本均正常。

解决方法:iscsi挂载磁盘时使用mount -o noatime属性,这样ls 、ll等命令将不会再触发修改目录下所有文件的atime(即不会长时间占用xfs写操作),sync后即可立即卸载登出磁盘。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值