Linux
Linux 上 Netapp NFS 掛載的單個目錄中的最大文件數
在我擁有的較舊的 Linux 機器上,有一個 Netapp 的 NFS 掛載。一旦此框上的單個目錄中有 100k 個文件,則無法再寫入文件。有誰知道這可能是什麼原因造成的?我被告知仍然可以編寫符號連結。
我會在查找時添加更多具體資訊。請跳過“使用更好的文件/文件夾結構和/或數據庫”,我知道…
系統正在達到目錄的連結限制,該目錄是 NetApp ONTAP 文件系統的固定限制。 從這篇知識庫文章:
從 Data ONTAP 6.5 開始,單個目錄可能擁有的最大子目錄數為 99998 (100K)。Data ONTAP 6.4 及更早版本僅限於 65534 (64K) 個子目錄。此號碼不得更改。要了解此限制的原因,請參閱下面有關硬連結和子目錄實現的部分。
您可能已經達到了兩個限制。
- 索引節點(不太可能)
您已使用該卷的所有可用 inode。
df -i
您可以使用命令和來確認這一點maxfiles
。
maxdirsize
(更可能)ONTAP 對目錄的大小施加了限制。大小是元數據/硬連結的產物,而不是文件內容。此限制預設(假設 >6.5)為系統 RAM 的 1%。這樣做是為了確保大型目錄不會影響系統性能。因為線性目錄掃描需要將目錄資料結構載入到記憶體中。快速概覽:
您可以使用 . 檢查目錄大小
ls -lkd
。提高
maxdirsize
音量有點單向操作。僅以較小的增量提高它。
您不能通過刪除目錄的內容來減小目錄的大小。
我有這兩個帶有書籤的連結,其中包含更多資訊。
如果這兩個都不是問題,那麼我建議您檢查並發布您的 ONTAP 日誌。