欢迎来到天天文库
浏览记录
ID:22005680
大小:55.50 KB
页数:5页
时间:2018-10-26
《有关freebsd的几点误区》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、有关FreeBSD的几点误区 虽然绝大多数人都知道FreeBSD的优势在于稳定性高,网络性能好,但对于FreeBSD其他的一些技术特性,在认识上仍然存在着一些偏差。 1.FreeBSD不具备日志文件系统,因此不适合用作高要求的应用目的 首先需要指出的是,日志文件系统最早也是在BSD上开发的,称为LFS。在FreeBSD中本来是支持它的,但后来由于版本升级的原因,它的代码由于缺乏维护而被暂时抛弃,至今还可以在FreeBSD的源代码中可以找到LFS的一些遗迹。目前,LFS还存在于NetBSD中继续开发,如果有特别的需求,它完全可以
2、再回到FreeBSD系统中。 然而,FreeBSD开发者没有急于将LFS移植回FreeBSD是有道理的,因为FreeBSD系统中已经增加了一些新的特性,足以提供LFS能提供的最重要的特性。为了解释FreeBSD的这些特性的本质,我们需要讨论一下文件系统。 由于文件系统的读写性能对于整个系统的性能来讲,是一个非常重要的指标,因此系统设计者就设法尽可能的提高文件系统的性能。这样,人们就设计了磁盘访问缓冲来达到这个目的,这样,使用缓冲的读写方法就称为异步(async)访问方法,相应的不采用缓冲的磁盘读写方法就称为同步(sync)访问方
3、法。 显然,异步方法具有更高的读写性能,但是一旦发生故障的时候,由于有很多数据还保存在缓冲区中,就导致这一部分数据丢失。然而,如果是简单的部分数据丢失倒还罢了,但是某些重要的数据丢失,就导致整个文件系统遭到破坏。为什么会发生这样的情况呢? 因为,在文件系统中,有两种不同的数据,一种为简单的文件内容数据,这些数据丢失仅仅导致某个文件出现错误数据,不会影响其他文件的内容。另一种数据则比较重要,例如文件系统本身的I节点或者目录数据,假如I节点的数据块出现错误,就会导致大量文件丢失,甚至导致文件系统整个受到破坏。这些对文件系统完整性非常
4、重要的数据被称为元数据(metadata)。 对于普通的文件系统来讲,并不能在缓冲区中区分出普通数据和元数据,这样就会发生普通数据的更新比它对应的元数据更新的时间要早,这样一旦发生故障,文件系统的破坏是不可避免的。对于日志文件系统来讲,由于日志是顺序发生的,因而缓冲区向磁盘写的顺序也是顺序的,这样,元数据的更新总是顺序的在数据更新之前被保存,这样就使得即使发生故障,元数据也不会发生特别严重的错误,某些元数据的错误只能导致部分文件丢失,而不会影响整个文件系统。 由于日志文件系统的这个顺序特性,使得系统不会因为故障出现严重的错误,而
5、且在出现错误时,还具备更短的文件系统修复时间(fsck),系统修复时间对于存储量非常大的文件系统非常重要。这样一旦出现错误,系统重新启动并恢复提供服务的时间也很短暂。 对于FreeBSD系统来讲,则沿着另一个类似的方式来解决这个问题。由于FreeBSD更关心系统的稳定性、可靠性,FreeBSD系统并不推荐使用异步的方法来访问磁盘,但是这样磁盘性能就比较差。为了解决这个问题,FreeBSD改善了文件系统,将普通数据和元数据分开,这样就可以对普通数据进行缓冲,而对元数据不进行缓冲,这样的方法就可以大大改善文件系统性能,并且对文件系统的
6、安全性也没有太大的影响。 然而即使如此,文件系统的性能比起全部异步的方法还有一些差距,如何达到全部异步访问的目的呢?FreeBSD研究者提出了softupdate的方法,softupdate的主要目的是将元数据的改变按照它们之间的依赖关系,元数据对普通数据的依赖关系进行重新排序,保证元数据的更新按照安全的数据顺序更新,这样即使出现故障,也如同日志文件系统类似,只会出现最终改变的一些文件错误或丢失,而不会出现严重错误。 从这个本质角度出发,softupdate其实是和日志文件系统用来解决同一类问题的两种不同方法,只不过日志文件系统
7、是使用日志的方法来解决依赖关系的顺序问题,而softupdate则需要重新排序元数据,softupdate功能上非常类似于元数据日志文件系统。有了softupdate,系统就可以全面支持异步的磁盘读写,提供更好的文件系统性能。 此外,FreeBSD目前还提供了诸如后台磁盘检查,就是说可以在后台执行磁盘检查,而不影响前台执行磁盘访问,这样就使得系统出现故障时更短的时间恢复正常服务。目前FreeBSD系统甚至可以提供包括快照(snapshot)在内的高级文件系统功能。 因此,虽然FreeBSD下目前没有日志文件系统,但事实上已经提供
8、了类似日志文件系统的功能,因此完全可以满足不同的高端需求。 2.FreeBSD的磁盘读写性能差,不适合大量存储数据的情况 很多来自网上的文章都告诉读者,FreeBSD虽然在其他方面具备一定的优势,但磁盘读写速度差,特别是在使用ID
此文档下载收益归作者所有