Nfs
為什麼要限制使用者可以訪問的 inode 數量?
似乎可以在網路掛載上設置使用者可以使用多少空間的配額。
# edquota ramesh Disk quotas for user ramesh (uid 500): Filesystem blocks soft hard inodes soft hard /dev/sda3 1419352 0 0 1686 0 0
您還可以對使用者擁有的 inode 數量設置軟限制和硬限制。
為什麼需要限制使用者可以訪問的 inode 數量?
使用者還不能用 1 個非常大的文件填滿磁碟嗎?
限制使用者可以訪問的 inode 數量的原因是,它們不會通過創建大量 0 字節文件來使整個系統耗盡 inode。
對於大多數 Linux 文件系統(例如 ext3 和 ext4),每個文件(包括設備文件)或目錄都有一個inode —— 一個用於指向給定文件/目錄的數字。如果一個系統的 inode 用完了,那麼硬碟有多少可用空間並不重要。在釋放 inode 之前,不可能創建新文件。
要查看每個文件系統還剩下多少個 inode:
df -i
文件系統具有的 inode 數量由
-i
格式化文件系統時的參數確定。例子:mkfs -t ext4 -i 1024 /dev/foo # One inode per 1024 bytes mkfs -t ext4 -i 2048 /dev/foo # One inode per 2048 bytes mkfs -t ext4 -i 8192 /dev/foo # One inode per 8192 bytes
使用該選項創建的
-i 1024
文件系統的 inode 數量是使用該選項創建的文件系統的八倍-i 8192
(假設兩個文件系統的大小相同)。有時,特別是對於某些郵件伺服器(使用“maildir”)或老式 Usenet 假離線,需要更多的 inode,因為這些案例會創建很多小文件。請注意,某些 Linux 文件系統(例如 Reiserfs)能夠動態分配 inode,並且不會在文件系統創建時創建所有這些文件系統。