• NFS server down机或重启导致的NFS系统错误


    今天由于公司的NFS server重启,从而导致挂载了NFS文件目录的server里出现了大量的hung住的进程,因为当希望将出错的挂载点umount时候, 出现了一些问题。 目前问题已经解决,在这里做下总结。

    问题:当NFS Server重新启动后,重新对相应的挂载点从新进行挂载(也就是 umount/mount)

    当执行umount /mnt/ 命令的时候,系统提示:

    Umount: /mnt/: device is busy

    Umount:/mnt/: device is busy

    原因: 因为NFS Server重启或者挂机,导致当前server中的nfs挂载点挂载了一个die的地址, 从而导致kernel bug,导致使用了这些挂载点的进程被hung住。由于这些被hung住的进程还在使用这些出错的挂载点, 进而导致umount不能成功,并且给出了上述的错误提示。通过ps aux 你可以查看到这些进程,这些进程的state 为D(non-interruptable sleep),表示他们正在等待IO操作的结束。此外,因为mount默认模式是hard option并且nointr option,所以这些进程会一直等待,并且随后的umount操作由于不能interrupt,从而引起device is busy error.

    参考解决步骤:

    你需要手动kill(9)所以state 为D的进程(ps aux | grep D)。然后你需要kill(9) rpciod 进程。当这些操作完成以后,所以的sleeping进程被杀死,这时候,你就可以成功执行umount操作了.

    其他可能有帮助的命令:

    lsof 命令来检查哪些进程使用了nfs的挂载点上的目录和文件。这样可以更加有针对性的选择kill哪些进程。

  • 相关阅读:
    Windows Server 2008搭建AD域控服务器
    远程桌面出现CredSSP解决方案
    破解Excel工作表保护,清除所有密码并获取密码
    Windows Server 2008 R2 搭建NTP时间服务器
    VMware Tools
    windows常用运行命令
    无线AP与AC详解
    单臂路由
    ACL控制指定IP访问限制
    Linux下安装VMware
  • 原文地址:https://www.cnblogs.com/yuboyue/p/2109867.html
Copyright © 2020-2023  润新知