Linux

歸檔文件是否會減少 inode 的數量

  • July 9, 2021

我閱讀了幾篇關於 Linux inode 的文章,了解到創建的每個文件總是有一個相應的 inode 編號。由於我們的其中一台伺服器正在使用 ext4,因此無法將 inode 增加到已經執行的生產伺服器。

我們可以做兩種解決方案,一種是刪除舊文件,另一種是將舊文件傳輸到另一台伺服器並存檔。我現在的問題是我是否歸檔並壓縮文件,然後將其移動到另一台伺服器。在存檔伺服器上,我剛剛傳輸的壓縮文件將分配多少個 inode 號?

在單個存檔文件中收集多個文件可將 inode 消耗減少到處理該文件所需的消耗。使用的塊的數量並不能相應地保證減少(但通常會不管)。

答案是肯定的,它只增加一個(inode)——存檔本身。現在,您提到存檔發生在獨立(備份伺服器)端……如果它與生產能力相對應,您可能仍然必須確保不要恢復多個實例或“存檔”狀態

檢查ulimit && df -i你可以看到

unlimited
  IFree IUse%
 999961    1%
1006760    1%
14853576    3%

這是我現在狀態的一部分。您可以檢查未歸檔\恢復的 inode 數量:

*請注意計算時間,可能不是最快的單行:

ls -d1 "./" | while read i; do echo -en "$i\t"; find "$i" -name "*" | wc -l; done;

引用自:https://unix.stackexchange.com/questions/400310