技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當前位置:主頁 > 教程 > 服務器類 >

debian系統(tǒng) inode占用100%時硬盤無法寫入文件故障處理

來源:技術(shù)員聯(lián)盟┆發(fā)布時間:2018-03-19 00:44┆點擊:

  debian系統(tǒng),只有一個分區(qū),web服務器,最近發(fā)現(xiàn)inode使用率真100%,刪了一些文件,但過一會又升到100%,如何解決?或者有什么方法查看到底是哪些文件在增加,占用inode?謝謝!

  Filesystem Inodes IUsed IFree IUse% Mounted on

  /dev/sda2 17793024 17791412 1612 100% /

  udev 1021529 553 1020976 1% /dev故障現(xiàn)象

  分區(qū)無法寫入文件。

  故障分析

  執(zhí)行df -h命令發(fā)現(xiàn)空間占用不到70%,執(zhí)行df -hi,發(fā)現(xiàn)某分區(qū)IUse%值為100%,說明inode已經(jīng)用完,應該是某些目錄下存在大量的小文件導致。

  解決方法

  大量小文件分布有兩種可能,一是只有一個或少量目錄下存在大量小文件,這種情況我們可以使用如下命令來找出這個異常目錄:

  find / -type d -size +10M

  此命令作用是找出大小大于10M的目錄(目錄大小越大,表示目錄下的文件越多)。

  第二種可能是,大量的小文件分布在大量的目錄下,這時候上面的命令可能找不出異常的目錄,需要以下命令:

  cd /

  find */ ! -type l | cut -d / -f 1 | uniq -c

  此命令作用是找出目錄下文件總數(shù),可能需要執(zhí)行多次,直到找出具體的目錄。比如上面的命令找出了/data目錄下存在大量的小文件,但/data/目錄還有很多目錄,這時候我們還需要繼續(xù)執(zhí)行:

  cd /data

  find */ ! -type l | cut -d / -f 1 | uniq -c

  直到找出具體的目錄。

  故障總結(jié)

  對inode占用進行監(jiān)控,并且收到inode告警時應及時使用以上方法來定位問題,并反饋給相應人員從根源解決。

  一、發(fā)現(xiàn)問題:

  在一臺配置較低的Linux服務器(內(nèi)存、硬盤比較小)的/data分區(qū)內(nèi)創(chuàng)建文件時,系統(tǒng)提示磁盤空間不足,用df -h命令查看了一下磁盤使用情況,發(fā)現(xiàn)/data分區(qū)只使用了66%,還有12G的剩余空間,按理說不會出現(xiàn)這種問題。

  二、分析問題:

  后來用df -i查看了一下/data分區(qū)的索引節(jié)點(inode),發(fā)現(xiàn)已經(jīng)用滿(IUsed=100%),導致系統(tǒng)無法創(chuàng)建新目錄和文件。

  inode譯成中文就是索引節(jié)點,每個存儲設(shè)備(例如硬盤)或存儲設(shè)備的分區(qū)被格式化為文件系統(tǒng)后,應該有兩部份,一部份是inode,另一部份是Block,Block是用來存儲數(shù)據(jù)用的。而inode呢,就是用來存儲這些數(shù)據(jù)的信息,這些信息包括文件大小、屬主、歸屬的用戶組、讀寫權(quán)限等。inode為每個文件進行信息索引,所以就有了inode的數(shù)值。操作系統(tǒng)根據(jù)指令,能通過inode值最快的找到相對應的文件。

  而這臺服務器的Block雖然還有剩余,但inode已經(jīng)用滿,因此在創(chuàng)建新目錄或文件時,系統(tǒng)提示磁盤空間不足。

  三、查找原因:

  /data/cache目錄中存在數(shù)量非常多的小字節(jié)緩存文件,占用的Block不多,但是占用了大量的inode。

  四、解決方案:

  1、刪除/data/cache目錄中的部分文件,釋放出/data分區(qū)的一部分inode。

  2、用軟連接將空閑分區(qū)/opt中的newcache目錄連接到/data/cache,使用/opt分區(qū)的inode來緩解/data分區(qū)inode不足的問題:

  ln -s /opt/newcache /data/cache

  3、更換服務器,用高配置的服務器替換低配置的服務器。很多時候用錢去解決問題比用技術(shù)更有效,堆在我辦公桌上5臺全新的 DELL PowerEdge 1950 服務器即將運往IDC機房。

debian系統(tǒng) inode占用100%時硬盤無法寫入文件故障處理

  有個tmp目錄,用ls命令,直接卡死,一下子就明白文件不少 ,然后敲進 rm -rf命令又卡住了,關(guān)機睡覺,今天早上來看,inode使用率降到50%了 ^_^

  linux里每個文件都有些元信息像創(chuàng)建時間,文件大小,文件名啊之類的,這些元信息就存在inode了。這樣如果小文件過多的話,可能磁盤沒滿但inode空間已分配完,這時磁盤就跟滿了一樣無法寫入