Linux

是否可以更改 ext4 文件系統上的 Inode 計數?

  • August 9, 2012

可能重複:

如何增加 ext4 文件系統中的 inode 數量?

我有一個帶有 Debian Wheezy 64bit 的自製 NAS。它具有三個磁碟 - 2x2TB 和 1.5TB,使用 RAID1/5 和 LVM 匯集在一起。結果是一個 LVM 邏輯卷,大小約為 3.16TB,格式化為 ext4 並掛載為 /home。但是我剛剛發現 Inode 使用了大約 50GB 的這種容量(確切的計數是 212 459 520,大小為 256B,或者換一種說法 - 每 16k 分區大小一個 Inode)。

雖然 3.16TB 中的 50GB 約佔總容量的 1.5%,但空間仍然很大。由於這是一個儲存 NAS,主要用於多媒體,我不希望 /home 分區中有 2.12個文件。

所以,我的問題是 - 是否可以在不實際重新創建整個分區的情況下降低/更改 Inode 的數量?雖然有可能做到這一點,但我仍然更願意找到一種方法來做到這一點,而不是移動 2TB 的數據並等待 RAID 再次重新同步。

mke2fs手冊頁

請注意,文件系統創建後無法擴展 inode 的數量,因此請謹慎確定此參數的正確值。

所以答案是否定的。

你可以做的是縮小現有的 ext4 卷(這需要解除安裝文件系統),使用可用空間創建一個具有更少 inode 的新 ext4 卷,複製數據,刪除舊卷並擴展新卷以佔用所有空間.

如果您有足夠的空間,您可以獲取文件系統的 tar 映像並將其備份。然後根據需要創建一個具有更高或更低 inode 計數的新 ext4 分區。獲取 tar 映像並格式化您的分區也增加了對其進行碎片整理的好處。

我知道 ext4 不應該需要它,但無論您在使用了這麼多之後多麼努力嘗試,它都會需要它,或者至少在某個時候提供速度提升。Ext4 只會使您的驅動器更難碎片化,並且大約每 1 到 3 年仍會從中受益。這裡最大的問題是 tar 映像和重新格式化是我聽說的對 ext4 分區進行碎片整理的唯一方法。

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