問題描述
df -h 執行後,長時間hang住,無任何錯誤輸出 ,只能關閉shell,重新登入shell會發現之前的df程序還在
問題查詢
排除nfs故障
首先懷疑是nfs 相關故障引起的,檢查nfs目錄,可以正常訪問,於是嘗試快速重啟 nfs 後,故障依舊。
跟蹤下df的執行,執行 strace df -h
發現hang的地方如下
..
.... stat(
"/proc/sys/fs/binfmt_misc",
proc是系統目錄,fs是檔案系統相關,看樣子是系統程序出了什麼問題。不清楚這個binfmt_misc是什麼,於是搜尋了一下,發現有不少出現相同問題的 centos7 系統 df hang 問題處理說明 點進去看了下,大意是安裝系統更新的時候更新了systemd,但沒有重啟主機或者重啟systemd導致的。
順便也看了下 mount的結果
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=29,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
按照文中的解決方式嘗試解決
執行systemctl restart proc-sys-fs-binfmt_misc.automount
執行後,系統裡面hang住的 df程序都自動退出了。再執行df -h就可以輸出結果了
解決後的狀態
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=27,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
發現故障時的timeout=300變為等於0了。
致謝與參考
centos7 系統 df hang 問題處理說明
Centos7 修改執行級別
systemd使用比sysvinit的執行級別更為自由的target概念作為替代 第三執行級 multi user.target 第五執行級 graphical.target 前者是符號鏈結指向了後面的target runlevel3.target multi user.target runleve...
Centos7 修改執行級別
centos7和以前的版本的操作不一樣 systemd使用比sysvinit的執行級別更為自由的target概念作為替代 第三執行級 multi user.target 第五執行級 graphical.target 前者是符號鏈結指向了後面的target runlevel3.target multi...
centos7執行sudo命令
建立新使用者 adduser test 修改新使用者的密碼 passwd test 新增sudoers檔案可寫許可權 chmod v u w etc sudoers 編輯sudoers檔案有兩種辦法,一種是以root帳號執行visudo,另一種是root帳號執行vi etc sudoers.其實兩者...