nfs问题导致df挂起

准备环境

模拟nfs服务端问题导致nfs客户端的进行hand死,具体表现为调用df命令或者涉及访问该目录的命令时界面会hang住,如果大量后台进行调用访问该目录会导致uptime下的负载检查,而实际所有的sar检查都没有发现任何性能问题。

为了重现环境,需要在准备一台服务器(既做客户端也做服务端)

安装nfs rpm包并启动服务

[root@vultr ~]# yum install nfs-utils -y
[root@vultr ~]# systemctl start nfs
[root@vultr ~]# systemctl start rpcbind

创建nfs服务端共享目录

[root@vultr ~]# mkdir /var/nfs
[root@vultr ~]# chmod 755 /var/nfs/
[root@vultr ~]# chown nfsnobody:nfsnobody /var/nfs/

将目录共享

修改/etc/exports配置文件,将新创建的共享目录写入文件,并以读写模式进行共享。

[root@vultr nfs]# cat /etc/exports
/var/nfs    *(rw,sync)
[root@vultr ~]# exportfs -a

确认共享情况并挂载

[root@vultr ~]# showmount -e 149.28.143.23
Export list for 149.28.143.23:
/var/nfs *
[root@vultr ~]# mount -t nfs 149.28.143.23:/var/nfs /mnt/nfs
[root@vultr ~]# df
Filesystem             1K-blocks    Used Available Use% Mounted on
/dev/vda1               25778760 2714472  21737248  12% /
devtmpfs                  496928       0    496928   0% /dev
149.28.143.23:/var/nfs  25778816 2714496  21737344  12% /mnt/nfs

所有环境都准完毕,目录已经挂载,下一步进行nfs服务端的停止操作

实验

将nfs server进程停止,模拟NFS服务端故障导致客户端挂起,此时df命令无法正常运行。

[root@vultr nfs]# systemctl stop nfs
[root@vultr nfs]# df
此处hang住

首先系统的表现为观察uptime的负载非常高,单个CPU的服务器一分钟负载去到17,表明多个进程在系统运行队列中.

uptime: System load averages is the average number of processes that are either in a runnable or uninterruptable state.

如下:


df_hand_uptime.png

检查sar情况可以证明大部分进程在等待运行:

  • sar -u 观察CPU情况

    cpu使用率非常低,大部分为idle,说明没有进程在等待cpu资源。


    df_hand_sar_u.png
  • sar -d 观察磁盘情况 磁盘dev253-0的tps几乎为0,说明没有什么进程时等待磁盘。


    df_hand_sar_d.png
  • sar -b 观察IO情况 IO设备的读写tps都几乎为0,瓶颈明显不足IO设备


  • sar -W 观察换页情况 当时几乎没有进行换页操作


    df_hand_sar_W.png
  • sar -q 观察队列情况 队列情况初步指出问题所在,大量队列堆积在任务列表中未执行,继续考虑进程问题。


根据最明显的问题根源“df操作hang死”,通过strace去分析df命令的系统调用及信号情况,可以明显发现df是在系统调用尝试获取目录/var/nfs的stat信息时挂起,如下:

df_hand_strace.png

再观察系统的mount信息,发现通过nfs挂载以下目录/mnt/nfs

df_hand_mount.png

问题基本就在df在访问/mnt/nfs信息是hang住,通过ps aux抓取系统运行的df进程信息(大量df,状态为D+(无法中断的休眠状态,后台)),如下:

[root@vultr ~]# ps aux | grep df | wc -l
202
[root@vultr ~]# ps aux | grep -w df | head -5
root      2793  0.0  0.1 108020   760 pts/0    D+   14:38   0:00 df
root      2794  0.0  0.1 108020   764 pts/0    D+   14:38   0:00 df
root      2795  0.0  0.1 108020   760 pts/0    D+   14:38   0:00 df
root      2796  0.0  0.1 108020   760 pts/0    D+   14:38   0:00 df
root      2797  0.0  0.1 108020   764 pts/0    D+   14:38   0:00 df

通过umount -lf强制卸载文件系统,df恢复正常,通过killall df将大量的残余df进程中止后系统负载下降。

[root@vultr ~]# umount -lf /mnt/nfs
[root@vultr ~]# umount 

Usage:
 umount [-hV]
 umount -a [options]
 umount [options] <source> | <directory>
Options:
 -a, --all               unmount all filesystems
 -f, --force             force unmount (in case of an unreachable NFS system)
 -l, --lazy              detach the filesystem now, and cleanup all later
 [root@vultr ~]#
 [root@vultr ~]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/vda1       20616252 1595120  17956236   9% /
devtmpfs          238888       0    238888   0% /dev
tmpfs             249668       0    249668   0% /dev/shm
tmpfs             249668    8684    240984   4% /run
tmpfs             249668       0    249668   0% /sys/fs/cgroup
tmpfs              49936       0     49936   0% /run/user/0
[root@vultr ~]#
[root@vultr ~]# uptime
 14:52:56 up  1:11,  2 users,  load average: 5.68, 84.24, 79.26
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容