FreeBSD 6.2-RELEASE是一个具有里程碑意义的版本。从明年起,开发团队将有大约半年时间集中精力于7.0-STABLE的可靠性改善和性能优化上,因此,在用户等待6.3-RELEASE发布之前,我们希望把尽可能多的可靠性改进合并到RELENG_6以及RELENG_6_2,并使这个版本拥有尽可能长的生命周期,以便用户能够更平稳地过渡到7-STABLE。
在过去的数月时间中,我们修正了一系列影响6.2可靠性的问题。许多问题涉及到内核的调度机制、存储子系统,以及网络设备驱动等各个方面。出于对用户负责的考虑,这些改动必须经过非常谨慎的测试和评估。此外,由于首席 Release Engineer所在的纽约州Buffalo大学遭遇雪暴,也导致了6.2-RELEASE发布受到了一定的影响。
到RC2 为止,所有已知的、修正时不致引发更多问题的代码修正均已合并到发布分支。在未来将近两周左右的测试周期内,这一分支不会再有更多的大范围改动,RC2基本上能够反映最终RELEASE的代码状态。不过,一些重要的文档改动,可能仍会进入这一分支,以便减少用户在使用中的各种不便。
目前,我们认为RC2已经改正了所有在发布前我们能够修正的问题。在稳定性方面,这个RC已经完全可以替代先前的RELEASE版本。
1. 哪些问题在6.2-RELEASE中不会予以修正?
由于目前已经到了RELEASE之前的最后阶段,开发过程将采取最为保守和谨慎的策略。对于一部分涉及内核深层次变动的问题,在6.2-RELEASE中将不予修正;在6.2-RELEASE发布之后,经过至少一个月的测试的patch,将以Errata的方式提供给用户,届时用户将可以使用freebsd -update、cvsup+make world kernel等方式进行更新。
目前确定不会修正的已知问题及其workaround为:
- 高负载环境下,由于nmbcluster设置过低导致的‘zonelimit’活锁问题
目前我们已经确认这个问题是由于FreeBSD UMA设计上的一个失误导致。由于解决此问题需要对UMA或驱动程序及网络协议栈进行较大幅度的结构性修改,因此我们建议用户以提高nmbcluster zone的方式来暂时绕过这个问题。
在FreeBSD 6.2中,nmbcluster可以在运行时予以增加,方法是使用sysctl(8):
sysctl kern.ipc.nmbclusters=<新值>
目前FreeBSD内建的maxuser自动检测机制中,这个值的默认预设值大约是25600左右。对于负载很重的服务器,可以将其提高一倍。除此之外,对于内核地址空间充裕的机器,也可以在 /boot/loader.conf 中设置加载器变量:
kern.ipc.nmbclusters="0"
来完全放开这一限制。
此问题主要会由运行squid触发。
2. 6.2-RELEASE会在什么时候发布?
目前我们的计划是在1月8日命名,并在1月10日正式宣布。
不过,在正式公告之前,如果发现了重大问题,这个版本仍然可能推迟和重做。我们不推荐在正式公告之前下载iso文件,用户可以使用cvsup来跟进最新的开发进展。