Linux常见故障处置惩罚之df命令卡住不输出

打印 上一主题 下一主题

主题 643|帖子 643|积分 1929

一、配景分析

  朋侪咨询Linux体系下输入df -h命令后没有任何输出结果,博主的第一反应是/根分区磁盘空间满了,朋侪说cd等其他命令可以执行。博主又推测大概是有人误界说了命令别名,进一步确认命令卡住在等候输出页面。事后博主想起来大概是共享网络磁盘无法访问导致的,博主曾经遇到过一次nfs挂载设置到了/etc/fstab中,服务器重启之后因为nfs服务端挂掉了导致服务器无法启动。

  为了验证博主的想法搭建了一个实行环境,环境分析如下:


  • nfs-server操作体系:centos7.6
  • nfs-client操作体系:centos6.5
二、验证方案

1、搭建NFS服务端

  关于NFS服务的搭建我们可以参考博文Linux之centos7环境搭建NFS服务器。
   [root@s76 publicdata]# systemctl status nfs-server

  2、NFS客户端挂载

  客户端上安装showmount软件包,然后挂载nfs共享磁盘即可。
   [root@localhost]~# mount -t nfs 192.168.10.76:/publicdata /test
[root@localhost]~# df -hT

  3、模拟NFS server服务故障

  为了模拟NFS server服务故障我们可以制止nfs服务或者通过防火墙阻断NFS服务。
   [root@s76 publicdata]# systemctl stop nfs-serve
  4、验证df命令

  当NFS服务挂掉的环境下,不但df命令、ls等查看磁盘目次的命令如果涉及到/挂载目次也会出现命令卡住没有输出的环境。df命令还可以通过ctrl+C命令制止回到shell制止,ls命令甚至无法通过ctrl+C或者ctrl+Z命令返回重新执行。


5、规复NFS server服务再次验证

  NFS server服务规复后再次验证,df -hT命令执行的时候还是会卡住,等个几秒钟,nfs客户端会与NFS server重新建立连接,并正常输出信息。
   [root@localhost]~# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 ext4 36G 2.0G 32G 6% /
tmpfs tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 ext4 291M 39M 238M 14% /boot
192.168.10.76:/publicdata nfs 56G 5.2G 51G 10% /test

  6、别名的大概性验证

  如下测试结果,如果是正常的"df -h"没有输出不大概是别名的原因,因为别名不能包含空格,如果是错误输入df-h命令是可以通过别名实现如上效果的。固然为了确认别名的题目,我们还可以利用which命令验证确认是否为别名。
   [root@localhost]/# alias df-h=“echo “”;sleep 1000”
[root@localhost]/# df-h
[root@localhost]/# which df
/bin/df


  7、根分区满导致此征象的大概性验证

  我们可以实验将跟分区磁盘空间写满,直到无法写入。固然显示100%利用,实际上不会是完整的刚好百分百,但是这种环境我们还是可以执行df -h命令。以是履历证根分区满不会导致此征象。
   dd if=/dev/zero of=/fill_disk bs=100M count=100
[root@localhost]/# dd if=/dev/zero of=/fill_disk7 bs=1k count=1

  三、NFS server服务宕机的环境重启服务器验证

1、制止nfs server服务

   [root@s76 publicdata]# systemctl stop nfs-server
  2、将nfs挂载写入到/etc/fstab

   [root@localhost]~# cat /etc/fstab |grep test
192.168.10.76:/publicdata /test nfs defaults 0 0
  3、重启nfs客户端服务器

   [root@localhost]~# reboot
  4、控制台登录验证

  控制台登录验证对比发现nfs共享磁盘设置在/etc/fstab中会停留在如何页面数分钟,最终还是可以启动成功。如果没有在/etc/fstab中设置NFS共享磁盘主动挂载则很快启动完成。

四、故障原因及处置惩罚步调

一、故障原因分析

  如上实行所示,df命令卡住无输出的原因就是nfs共享磁盘无法访问导致。df命令不但会读取本地磁盘,也会读取挂载的其他恣意磁盘,当无法连接到长途的nfs服务的时候就会不停在等候nfs server服务回复消息。
二、建议处置惩罚步调

  针对不同业务场景,建议如下:


  • 如果是对于熟悉的环境知道nfs服务所在所在,我们可以登录nfs server服务器启动nfs服务,重新执行命令等候结果输出;
  • 如果是不熟悉的陌生环境,建议先通过history命令查看历史挂载记录,查看/etc/fstab文件等确认大概的nfs server所在,然后登录nfs服务器启动nfs服务后重新挂载。

  • 如果是nfs服务器执行了迁徙调整,我们可以先取消nfs服务挂载,然后重新挂载新的nfs共享磁盘。
   [root@localhost]~# umount -a -t nfs

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

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

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

天津储鑫盛钢材现货供应商

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表