Filesystems

一個inode佔用多少空間?

  • May 26, 2015

在 Windows 中,創建文件/文件夾時,它與 FRN(一個唯一編號,類似於 MFT 的索引)相關聯。所有文件元數據都儲存在 MFT 中,它佔用磁碟大小的 12.5% 的保留大小。

元數據如何以及在哪裡儲存在 Unix 文件系統(如 ext2、ext3 等…)上?inode 是 Unix 上每個文件/文件夾的唯一值,但是這些資訊儲存在哪裡?換句話說:

  1. inode 佔用的大小是多少?
  2. Unix 上文件/文件夾的元數據儲存在哪裡?有沒有類似於 Unix 上的 MFT 的東西?

Windows(或更準確地說是 NTFS)所稱的 MFT 是典型的 Unix 文件系統所稱的inode表,而 Windows 所稱的 FRN 是 inode 編號。它包含文件的元數據(權限、時間戳等),但不包含文件名(這是目錄條目的一部分)。它還包含文件前幾個塊的地址,或者包含文件塊地址的塊。

執行tune2fs -l /dev/sdz99(替換sdz99為您感興趣的塊設備的正確路徑)以獲取有關 ext2/ext3/ext4 文件系統的一些資訊,包括“inode count”(inode 數)和“inode size”(以字節為單位) )。對於這些文件系統,inode 的數量是在創建文件系統時選擇的,它不會隨著文件的數量而動態增長。您可以執行df -i以查看掛載的文件系統上有多少 inode 正在使用中。

有些文件系統具有不同的資料結構。儘管 inode 的概念在 Unix 上是通用的,但由於文件系統 API 將唯一的 inode 編號與每個文件相關聯,因此實現可能會有所不同。例如,Btrfs 不會為 inode 保留空間,它們是根據需要分配的。

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