CoreOS:面向云计算和数据中心的Linux
长期以来,Linux一向是备受云计算和数据中心青睐的操作系统,但直到CoreOS近日问世,有人才终于设计出了一款完全面向云计算和数据中心的Linux。
要是你平时管理云或数据中心,那么很可能在运行CentOS、红帽企业级Linux(RHEL)、SUSE Linux企业级服务器(SLES)或Ubuntu。诚然,这些都是出色的服务器Linux发行版,但没有哪一个是为了同时部署在成百上千台服务器上而设 计的。现在我们终于有了这样一款发行版:CoreOS。
在CoreOS中,所有应用程序都在Docker容器里面运行。
CoreOS开发至今已有两年多,它是为了运行数据中心和云计算而从头设计的。不过让人十分好奇的是,CoreOS并不基于像Debian或红帽这些传统的服务器Linux家族之一。恰恰相反,它基于谷歌的桌面Chrome OS。
原因何在?因为CoreOS旨在轻型小巧。开发人员声称,CoreOS只需要114MB的内存就能运行,启动时占用的内存比普通的Linux服务器要少40%。
CoreOS的首席技术官Brandon Philips接受媒体采访时解释,CoreOS旨在能够“扩建和管理庞大的服务器基础设施。它结合了立足于稳定Linux内核上的精简版操作系统以及跨 机器集群运行服务的工具。这一切都打包起来,随时可以在你的物理设备或虚拟化平台上运行,比如KVM、亚马逊弹性计算云、谷歌计算引擎及更多的此类平 台。”
除了降低Linux对内存的要求外,CoreOS还在Docker容器里面运行其所有应用程序。Docker容器基于共享式操作系统内核;与虚拟机管理程 序相比,它要轻巧得多、高效得多。不是像平常那样对硬件进行虚拟化处理,容器位于单单一个Linux实例上面。通过使用Docker容器而不是使用虚拟机 管理程序――从处理器、内存到存储系统的整个计算架构都实现了虚拟化,应用程序耗用的系统资源要少得多。
这家公司声称,“Docker容器的启动速度极快(只要短短数毫秒!),这为你在跨机器集群管理负载方面提供了前所未有的灵活性。比如说,让你的构建系统 创建一个容器,在数量合适的CoreOS主机上启动容器,这来得更快速、更可靠,而不是在你的每个虚拟机上面运行Chef。这些容器启动后,它们就会通过 etcd向你的代理系统发出信号,开始向它们发送流量。”最终结果就是,不仅程序运行起来更轻盈,应用程序响应起来也更迅即了。
CoreOS/Docker如何处理程序方面也存在另一个重大区别。不是为某个特定的应用程序(比如Apache或Ngnix服务器)安装依赖项,现在应用程序都被放入到Docker容器中,然后容器安装到CoreOS实例上。
CoreOS还采用了一种颇有意思的方式来更新其应用程序和操作系统:FastPatch。按这种方式,整个操作系统作为一个单元统一更新,而不是逐个软件包地进行更新。确实,CoreOS并不含有Linux的任何常见软件包更新工具(比如apt或yum)。
你可以使用仪表板程序CoreUpdate,而不是软件包工具。该程序让你能够同时更新单一服务器、集群或数据中心。
这款新的操作系统还随带内置的集群功能。虽然任何Linux都可以用在集群中,但CoreOS让用户很容易把一个个系统聚集到单一资源池。不是在某个特定的机器上运行服务,而是服务被提交到集群,然后集群管理器(fleet)决定这些服务在哪里运行。
CoreOS的开发团队声称,他们所设计的精简版Linux服务器旨在为普通公司提供与亚马逊、Facebook和谷歌在其数据中心中使用的同一种自家品牌的Linux。我并不确信真有那么好;不过据我观察,它确实非常好。
并非只有技术人员认为CentOS在企业级Linux领域颇有竞争力。美国最大的风险基金凯鹏华盈(KPCB)的普通合伙人Mike Abbott在声明中说:“CoreOS背后的技术将改变游戏规则。CoreOS有望解决多年来困扰这个领域的基础设施问题,该操作系统不仅可以自动为服 务器更新和打上最新软件,还缩短了停运时间,增强了互联网架构的安全和弹性。”
KPCB不单单在口头上支持CoreOS。这家风险投资巨擘还向这家公司注入了800万美元的第一轮资金,该公司还得到了来自红杉资本(Sequoia Capital)和Fuel Capital两大现有投资者的追加投入。这笔资金将用于公司发展、产品开发以及推广宣传这款操作系统。
听起来对你是好事?
这家公司以Linux即服务的方式来提供CoreOS。这个托管Linux服务级别可通过每月订购来购买,提供了如下功能特性:
- 可适用于众多平台,包括裸机、亚马逊、谷歌和Rackspace及其他平台;
- Docker 1.0 — 用于应用程序包装的容器运行时环境;
- CoreUpdate — 托管式仪表板,可用于全面控制滚动更新;以及
- FastPatch — 轻松无忧的补丁和更新。
你可以下载CoreOS,在贵企业的测试平台上进行度用。代码采用GPLv2许可证和Apache 2.0许可证,可以从GitHub获得。该公司还承诺,“操作系统的更新和安全补丁绝不会被扣为人质――它们总是会提供给CoreOS的所有用户。”
总而言之,我要说CoreOS听起来就像是一款任何专业的企业级Linux用户都应该认真看待的操作系统软件包。虽然RHEL、SLES以及其他发行版都很好,但与其他Linux发行版相比,CoreOS听起来似乎能够让现有硬件贡献更高的生产力。