在LINUX环境中哪种文件系统存储更安全
[问题]
昨天我转载的一文中,提到了对于ext3 reiserfs xfs jfs文 件系统不同读写性能的比较。见: http://zhangyu.blog.51cto.com/197148/137389 结论方面,我并不完全 同意,但真没精力做那样系统的测试(很敬佩那位老外作者),从文件系统的设计 看,那篇文章的测试结果相对是比较符合我的判断的。只是测试并未针对异常操 作、崩溃保护方面,文中提到的也很少。 我以我个人看法,谈谈ext3 reiserfs xfs三种文件系统的安全性(jfs了解不多),泛泛而谈,应该有不当之 处,欢迎提供不同的看法,以便改正。 ext3是多数LINUX上默认的文件系 统,也是从传统UNIX文件系统的结构上演变而来的,文件系统设计得非常简单明 了,以不同的块组进行数据、节点、块组表的组织。优点是很简单,尤其适用于 频繁删除/增加文件、同时每级文件下的文件总数不多的文件系统。 因 EXT3 B树的概念用得较少,在目录检索方面很差,所以同一组目录下不能放太多 文件,目录结构也尽可能不能太复杂。 EXT3的日志功能设计很差,经常 会遇到实然断电后,文件系统损坏的情况,实际上ext3对日志的检验、还原方面 做得还很不够。 EXT3采用的数据存储方式相当表格化,格式化时就确定 了固定数目的inode,并分配好了空间,当然会导致空间的大浪费,同时当文件 太多,达到上限时,文件系统也无法负担。 EXT3采用全索引的方式对数 据存储区域进行索引管理,所以,大量的文件碎片在EXT3上并不会导致严重的数 据风险,随机寻址会更快。当然,浪费也会大一些。 总得看,EXT3并不 是一个很安全的文件系统,如果从数据存储安全的角度看,并不推荐。 REISERFS是一个算法敏捷的文件系统,无处不在的树结构使得索引、遍 历的适应范围极大,一个上几千万个文件的文件系统,通常也只需要约4级索引 就可以到达。但因索引以整个文件系统中所有的节点为单位组织(一颗树),所以 即使访问一个文件,复杂程序也不会很低。所以很容易理解的,MOUNT的时间会 更长(读取一个根目录就需要从整个树的根读到叶,同时根目录节点并不是索引B 树的根节点,也是普通的一个叶节点,这点和其他文件系统很不相同),同时目 录节点有机地整合在整个节点树里,并以HASH为索引键值。 reiserfs的 上述主要特征决定了,它在处理少量文件时的优势并不明显,反而会更慢,同时 因复杂程度带来更强的不稳定性。但在处理大量文件时,它的稳定性也不会再下 降多少,同时树的特征与目录节点的特征,遍历目录结构的性能也不会下降多少 。所以特别适合大量文件(邮件系统、大量文件的网站服务器)的使用环境。 另外,reiserfs也是一种日志文件系统,但日志能力并不很强,日志方 面我分析得不多,只从结构方面看,比EXT3的好一点(更加结构化了)。 xfs本身是SGI用在IRIX上的一种文件系统,设计结构感觉滴水不漏,随 处可见的分层寻址机制(和REISERFS的设计可是大相径庭),让系统可以更快,更 高效得处理指定文件。同时,XFS在寻址上大量运用位操作,这也使得处理大文 件时效率更高。 xfs在目录结构组织方面比较类似于ext3,目录也是以普 通数据文件的方式进行存储与管理,这样在应付大量文件读取时,索引性能稍差 一些。 xfs文件系统的日志功能据其他资料讲相对要强一些(本人未作分 析),通常不容易崩溃。 从数据删除与格式化角度看,XFS与REISERFS在 删除与格式化后,都有机会完整恢复(并不清除节点里的关键信息)。但EXT3恢复 的难度就会大很多(清除节点)。 简单的结论,XFS在文件数目不是特别多 的情况下是较可靠的。REISERFS在大量小文件的文件系统(超过百万文件,且多 数文件小于1MB)上是首选的。 (编辑:佛山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |