在设计使用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. 开发多语言系统
- 3. 分布式开发系统
- 4. 开发操作系统
- 5. 关于系统程序:打开UNIX文件系统
- 6. Nginx的意外开放()文件系统
- 7. Drupal私有文件系统公开
- 8. 合金教程,断开文件系统?
- 9. Android文件系统:java.io.FileNotFoundException:/ savedArticlesFile:打开失败:EROFS(只读文件系统)
- 10. 为开发项目推荐的文件系统设置?
- 11. 在不同机器上开发文件系统权限
- 12. 在App Engine开发服务器中写入文件系统
- 13. 的Hadoop文件系统是物理文件系统或虚拟文件系统
- 14. 成功构建后自动将文件系统发布到文件系统
- 15. 将UNC文件系统目标位置发布到本地文件系统
- 16. Xml /文件系统并发访问
- 17. 提高文件系统没有发现
- 18. 并发文件系统扫描
- 19. FUSE文件系统在打开文件时崩溃(仅在发布模式下)
- 20. Xcode文件系统
- 21. VMWare文件系统
- 22. iPhone文件系统
- 23. C++文件系统
- 24. 什么是开始Windows文件系统驱动程序开发的好资源?
- 25. Facebook开发和邀请系统
- 26. mysql php web开发报表系统
- 27. 开发操作系统的资源
- 28. 在开发系统上禁用OutputCache
- 29. 内容管理系统开发清单
- 30. 使用TDD/BDD开发操作系统