nfs問題導(dǎo)致df掛起

準備環(huán)境

模擬nfs服務(wù)端問題導(dǎo)致nfs客戶端的進行hand死洒宝,具體表現(xiàn)為調(diào)用df命令或者涉及訪問該目錄的命令時界面會hang住,如果大量后臺進行調(diào)用訪問該目錄會導(dǎo)致uptime下的負載檢查腌逢,而實際所有的sar檢查都沒有發(fā)現(xiàn)任何性能問題。

為了重現(xiàn)環(huán)境,需要在準備一臺服務(wù)器(既做客戶端也做服務(wù)端)

安裝nfs rpm包并啟動服務(wù)

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

創(chuàng)建nfs服務(wù)端共享目錄

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

將目錄共享

修改/etc/exports配置文件吊奢,將新創(chuàng)建的共享目錄寫入文件茉继,并以讀寫模式進行共享咧叭。

[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

所有環(huán)境都準完畢,目錄已經(jīng)掛載烁竭,下一步進行nfs服務(wù)端的停止操作

實驗

將nfs server進程停止菲茬,模擬NFS服務(wù)端故障導(dǎo)致客戶端掛起,此時df命令無法正常運行派撕。

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

首先系統(tǒng)的表現(xiàn)為觀察uptime的負載非常高婉弹,單個CPU的服務(wù)器一分鐘負載去到17,表明多個進程在系統(tǒng)運行隊列中.

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設(shè)備的讀寫tps都幾乎為0,瓶頸明顯不足IO設(shè)備


  • sar -W 觀察換頁情況 當時幾乎沒有進行換頁操作


    df_hand_sar_W.png
  • sar -q 觀察隊列情況 隊列情況初步指出問題所在姆打,大量隊列堆積在任務(wù)列表中未執(zhí)行良姆,繼續(xù)考慮進程問題。


根據(jù)最明顯的問題根源“df操作hang死”幔戏,通過strace去分析df命令的系統(tǒng)調(diào)用及信號情況玛追,可以明顯發(fā)現(xiàn)df是在系統(tǒng)調(diào)用嘗試獲取目錄/var/nfs的stat信息時掛起,如下:

df_hand_strace.png

再觀察系統(tǒng)的mount信息闲延,發(fā)現(xiàn)通過nfs掛載以下目錄/mnt/nfs

df_hand_mount.png

問題基本就在df在訪問/mnt/nfs信息是hang住豹缀,通過ps aux抓取系統(tǒng)運行的df進程信息(大量df,狀態(tài)為D+(無法中斷的休眠狀態(tài),后臺)),如下:

[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強制卸載文件系統(tǒng)慨代,df恢復(fù)正常,通過killall df將大量的殘余df進程中止后系統(tǒng)負載下降邢笙。

[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
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市侍匙,隨后出現(xiàn)的幾起案子氮惯,更是在濱河造成了極大的恐慌叮雳,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件妇汗,死亡現(xiàn)場離奇詭異帘不,居然都是意外死亡,警方通過查閱死者的電腦和手機杨箭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門寞焙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人互婿,你說我怎么就攤上這事捣郊。” “怎么了慈参?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵呛牲,是天一觀的道長。 經(jīng)常有香客問我驮配,道長娘扩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任壮锻,我火速辦了婚禮琐旁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘猜绣。我一直安慰自己灰殴,他們只是感情好,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布途事。 她就那樣靜靜地躺著验懊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪尸变。 梳的紋絲不亂的頭發(fā)上义图,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天,我揣著相機與錄音召烂,去河邊找鬼碱工。 笑死,一個胖子當著我的面吹牛奏夫,可吹牛的內(nèi)容都是我干的怕篷。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼酗昼,長吁一口氣:“原來是場噩夢啊……” “哼廊谓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起麻削,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蒸痹,失蹤者是張志新(化名)和其女友劉穎春弥,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體叠荠,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡匿沛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了榛鼎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逃呼。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖者娱,靈堂內(nèi)的尸體忽然破棺而出抡笼,到底是詐尸還是另有隱情,我是刑警寧澤肺然,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布蔫缸,位于F島的核電站腿准,受9級特大地震影響际起,放射性物質(zhì)發(fā)生泄漏九秀。R本人自食惡果不足惜脑漫,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望踱稍。 院中可真熱鬧弟跑,春花似錦灾前、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至饲嗽,卻和暖如春炭玫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背貌虾。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工吞加, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人尽狠。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓衔憨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親袄膏。 傳聞我的和親對象是個殘疾皇子践图,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容