zoukankan      html  css  js  c++  java
  • 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哪些进程。

  • 相关阅读:
    浅谈python socket编程
    MYSQL(三)
    python数据库操作之pymysql模块和sqlalchemy模块(项目必备)
    MYSQL(二)
    ajax应用篇
    浅析tornado web框架
    CSS学习笔记06 简单理解line-height
    CSS学习笔记05 display属性
    CSS学习笔记04 CSS文字排版常用属性
    CSS学习笔记03 CSS层叠性、继承性、特殊性
  • 原文地址:https://www.cnblogs.com/yuboyue/p/2109867.html
Copyright © 2011-2022 走看看