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哪些进程。

  • 相关阅读:
    深入理解Kafka-学习笔记04-部分生产者客户端参数
    深入理解Kafka-学习笔记03-消息有序性
    IDEA包不存在找不到包解决方案
    深入理解Kafka-学习笔记02-生产者整体架构
    深入理解Kafka-学习笔记01-初识Kafka
    ClickHouse与MySQL数据类型对应
    MySQL查看版本
    从apache phoenix表提取数据为CSV
    Kafka查看版本
    HBASE查看版本
  • 原文地址:https://www.cnblogs.com/yuboyue/p/2109867.html
Copyright © 2011-2022 走看看