我们运行着一些全球***的互联网的营运,因此我们对可靠性和稳定性非常重视,是我们的***要务。为此,我们只使用Linux来支撑顾客的系统。但是,我们应该使用哪一个Linux的发行版?答案是,CentOS。 为什么呢?
作为一个庞大的系统运营商,在很长的一段时间里,我们需要在多种大型系统中找到一个可靠的,可预测的系统,我们需要从世界上***大的软件供应商和开源项目中获得强有力的支持。对于那些最常用的系统,我们需要文档,工具和全球性资源。
正因如此,RedHat / CentOS系列发行版正是我们的选择。他们能够满足以上所有需求,而且问题相对较少、长期稳定,这使得我们能够为成千上万的运行了不同配置、服务和应用的系统提供***的维护。
RedHat Enterprise Linux (RHEL)是黄金标准的企业发行版。它每五年左右更新一次,在系统的稳定性,前瞻性和安全性上有着极大的优势。每当新的主版本发行后,比如 5.x亦或最近的6.x,所有版本和代码都将保留不变,只有安全问题或是主要的bug,例如后门,端口之类的问题,会通过发布新的子版本来修复。
CentOS是RHEL发行版对应的开源版本,通常在RedHat的发布后就会很快发行。我们使用CentOS的原因在于RHEL发行版的标准支持服务费用非常高,大约每台服务器800美元左右,对于我们很多拥有数十台甚至上百台服务器的用户来说,这是必须要控制的成本。
RHEL/CentOS系统有两个潜在的问题。
首先,一旦确定了主版本,,除了安全问题和严重故障会被修复以外,其他内容将不会做任何改变。这虽然对稳定性有好处,但是对许多服务不利。比如MySQL和PHP服务,它们在这五年的CentOS/RHEL主版本发布周期中会进行繁重的开发和大量的修改。例如,MySQL5.0 是当前RHEL/CentOS主版本所默认使用的版本,但是当前MySQL已经更新到5.1和5.5版本了。
幸运的是,这个问题被Yum软件包管理器轻易地解决了。如此以来,那些主要的软件,例如当前RHEL/CentOS中实际的组件,包括内核和所有工具等仍然来自发行版, 但是那些附加的软件,例如Nginx,Apache,PHP,Java和MySQL等等来自更新的软件源例如Fedora; 或者直接从开发商获取更新的版本例如MySQL。 在我们这里,我们有自己专用的安装镜像来全自动的处理所有这些事情。
其次,CentOS的发行会滞后于RedHat的发行,包括关键的补丁和修复。这在RHEL 6.x的发行周期中尤为显著。但是根据我们的经验,这没什么好担心的,对我们来说永远不会成为问题。
很多人询问我们为什么不用基于Debian的系统,例如Debian或者Ubuntu服务器。如果在别无选择的情况下,我们的确会支持这个建议,但是根据我们的经验来看,这些系统并不如RHEL/CentOS来的稳定和可靠。
我们认为,这在某种程度上是由于他们过快的发展和各个版本、组合之间较少的测试且不成熟所导致的。然而尽管他们非常流行,但是主要的服务商和项目都仍然***RHEL/CentOS系统,因为这样他们就可以为企业顾客提供服务,(对Oracle和MySQL更是如此)。除此之外,基于Debian的系统有许多内核和稳定性问题,尤其是在我们的云计算服务中。
对我们而言,唯一使用Debian/Ubuntu的原因是:
“它们能够为一个系统提供必要的特殊服务时,尤其是当一些驱动程序或者一些IO 子系统需要一种新的内核的时候”。例如,ext4 文件系统或在最近的内核中日志的改变等;现在,所有这一切都包含在了RHEL/CentOS6.x中。
当然,多数Linux开发者都使用的是Ubuntu的桌面版,而且可以理解的是,他们更倾向在开发生产时使用相同的系统,并且还能使用很多有趣的工具。但总体上来说,我们依然认为RHEL/CentOS是一个更优越的部署平台,并且已经有十多个客户成功地转向使用CentOS 作为生产环境并且没有任何问题,但这仍然是艰巨的任务。
总的来说,你将更乐于看到一个良好管理的CentOS 系统。我们有成千上万台服务器使用CentOS平台,而每年平均只有一台服务器崩溃。我们也很难想象它竟如此罕见,所以,挑一个优秀、迅捷、可靠的平台吧!