• <tbody id="w3vxa"></tbody>

    <dd id="w3vxa"></dd>
      1. <rp id="w3vxa"></rp><rp id="w3vxa"></rp>
        當前位置:
        首頁 > 服務器教程 > linux磁盤還有空間但是無法上傳文件-inode100%故障

        linux磁盤還有空間但是無法上傳文件-inode100%故障

        雙十一到了,又有一批服務器需要續費,最近在折騰的時候發現一臺服務器的一個奇葩現象,就是磁盤空間還有27G的剩余,但是無法上傳任何文件,錯誤提示都是磁盤空間已滿。

        故障發生在一臺論壇附件服務器上,由于使用的rsync自動同步,最近發現自動同步老是停止,看錯誤提示都是空間已滿,以前就發生過,隨便刪除了一些解決,今天問題重現,但是看磁盤空間顯示還有27G的剩余,為什么會提示滿了呢,我直接ftp上次也不行,可以肯定不是rsync的問題(還檢查了老半天rsync設置……)

        如下圖:df -a查看磁盤空間,才用了72%

        linux磁盤還有空間但是無法上傳文件-inode100%故障

        我是100G硬盤,大概還剩余27G的空間,空間大小上是完全夠用的了,不應該出現磁盤空間滿的情況啊。

        后來查詢了一些資料,發現是inode使用滿了,在linux系統下,inode使用滿了一樣會提示磁盤空間已滿。

        如下圖:df -i 查詢了一下,inode使用率100%,剩余可用的完成變成0了。

        linux磁盤還有空間但是無法上傳文件-inode100%故障

        問題找到,inode是什么可以自行搜索,簡單的來說,就相當于磁盤的索引文件,由于每個文件都必須有一個inode,因此有可能發生inode已經用光,但是硬盤還未存滿的情況。這時,就無法在硬盤上創建新文件。

        什么情況下會造成inode用光使用100%

        大量的小文件和大量的單個文件會快速消耗inode,這個其實很好理解,比如一個空文件夾、或者沒有任何內容的文本,占用才空間是0kb,但是會消耗inode。

        由于discuz程序的附件存放都是每天來存放,一年就會生成300多個文件夾,同時每個文件夾中又有大量的圖片,一些縮略圖和緩存文件會生成大量的目錄和小文件。

        第二天再次核查后發現是計劃任務日志問題,產生了大概1000萬個小文件,清除后徹底解決

        具體請參考:linux系統清除/var/spool/clientmqueue下大量文件方法

        inode占用100%怎么處理-inode磁盤空間滿的解決方法

        1、刪除大量空文件夾和小文件

        查找分析命令:

        for i in /www.nikebearsjerseyshop.com/data/attachment/forum/*; do echo $i; find $i |wc -l|sort -nr; done

        執行后可以看到每個目錄里面的文件數,選擇數據多的文件夾繼續一步步查找,看是否可以刪除。

        /www.nikebearsjerseyshop.com/data/attachment/forum替換成你想要查找的任何一個目錄即可。

        2、升級磁盤空間:

        論壇附件圖片當然都是不能隨便刪除的,那就只能升級磁盤空間了,升級磁盤空間當然是可行的,懶得找的話就花錢啦。

        我刪除了半天,只騰出了19000的inode空間,過不了多久估計就又掛了,只能花錢升級空間了,論壇圖片太多木有辦法。