在設計使用inode結構指向文件/塊的文件系統時,實際需要的inode數目是如何確定的?文件系統開發
Q
文件系統開發
4
A
回答
1
在某些Unix文件系統(例如ext * fs)中,實際上由系統管理員決定,他們在創建文件系統時設置相對參數。
如果文件系統將託管大量小文件(新聞和郵件服務器是典型示例),則需要大量inode,因爲您需要每個對象(文件或目錄)的inode。
另一方面,如果文件系統將託管較大的文件(例如視頻服務器),則不需要多少inode。
由於inodes佔用空間,因此在性能/效率和足夠的inode之間實現平衡是非常重要的。一種簡單的方法是計算具有相似使用模式的活動文件系統上的平均文件大小,並將該數字用作新FS上的字節/ inode比率的基準值。只要使用模式沒有發生大幅變化,這將使FS在功能填滿時保持功能。
如果你實際設計的是一個新的文件系統,而不是僅僅創建一個卷,你應該考慮像其他常見的Unix文件系統(例如JFS,XFS,Reiserfs)那樣動態分配inode。這會讓你的文件系統稍微靈活一點,不過一般認爲動態FS結構使腐敗問題的恢復更加困難。
2
一些現代的文件系統(XFS for one)根據需要動態分配inode。沒有該功能的文件系統會根據磁盤大小選擇基於體驗的值(例如,ext2/3/4會爲每4KB磁盤空間IIRC創建一個inode),創建文件系統時通常會調整此值。
相關問題
- 1. 爲linux,mac,windows開發「文件系統」
- 2. Hadoop發行文件系統
- 3. 開發多語言系統
- 4. 使用MVC開發系統
- 5. 分佈式開發系統
- 6. 開發在android系統
- 7. 開發操作系統
- 8. 關於系統程序:打開UNIX文件系統
- 9. 合金教程,斷開文件系統?
- 10. Drupal私有文件系統公開
- 11. Nginx的意外開放()文件系統
- 12. Android文件系統:java.io.FileNotFoundException:/ savedArticlesFile:打開失敗:EROFS(只讀文件系統)
- 13. 的Hadoop文件系統是物理文件系統或虛擬文件系統
- 14. 爲開發項目推薦的文件系統設置?
- 15. 對象C(iPhone開發)/ sqlLite和文件系統的區別
- 16. 可能通過文件系統共享WebMatrix開發的網站?
- 17. 在不同機器上開發文件系統權限
- 18. iOS開發者是否可以查看文件系統?
- 19. 在App Engine開發服務器中寫入文件系統
- 20. Linux系統調用來發現設備的文件系統
- 21. 成功構建後自動將文件系統發佈到文件系統
- 22. 將UNC文件系統目標位置發佈到本地文件系統
- 23. Xml /文件系統併發訪問
- 24. Hadoop的分發文件系統
- 25. 提高文件系統沒有發現
- 26. 併發文件系統掃描
- 27. 文件系統統計
- 28. FUSE文件系統在打開文件時崩潰(僅在發佈模式下)
- 29. Xcode文件系統
- 30. 從文件系統