【51CTO精选译文】最近Ubuntu 14.04长效支持版本(简称LTS,版本代号为Trusty Tahr)的发布再次向我们证明,无论是甲骨文、微软还是Canonical,在多款新产品中对版本进行调整与同步都是件极为困难的任务。
这款每两年升级一次的Ubuntu发行版承载了Canonical太多的期望与野心,其涵盖范围已经普及云、服务器、桌面系统、智能手机/平板设备,同时增加了面向每套平台的独特管理、支持与服务插件。
在这套最新版本中,云与服务器获得的关注程度最高,桌面系统的重要性则有所下降。在今天的文章中,我们暂时不会对Ubuntu在智能手机/平板设备上的表现作出评述,因为目前其尚不属于“成品”版本。虽然在测试方面存在障碍,但Ubuntu 14.04 LTS版本在跨CPU架构的支持能力方面表现不错,其中包括x86/x64以及ARM处理器。
Teaserware
Canonical向来不惮于在发行版当中包含teaserware——指的是那些那些尚未准备好与生产应用相对接的、且在Ubuntu中尚未得到Canonical支持与正式认可的功能特性。在这次的版本中,最大的亮点无疑来自Docker——业界普遍将其视为Linux容器(简称LXC)领域的新希望——它很可能会给Type 1虚拟化规划带来深远影响。与Canonical之前推出的teaserware项目类似,截至系统推出时Docker同样没有作好进入生产流程的准备,Docker.IO甚至着重就这一点作出了强调。神奇的是,Docker本身的版本号从0.6一下子跃升为1.0,其时间点与红帽企业Linux 7(红帽是Docker的主要支持者之一)发布基本重合。
实际情况是,虽然在实际下载与安装之后我们没有发现太多新特性,但新的Ubuntu 14.04版本在云、服务器以及桌面版本确实实现了大幅度进化并已经准备好交付运行,其中还囊括了从12.10到13.10版本所带来的全部改进项目。
公有云环境是Ubuntu实例最为密集的运行场所,其中一部分存在的时间很短、另一些却被作为长效运行方案,这主要是受到公有云服务自身临时特性的影响。在此次公布的发行版中,Canonical明显将关注重点放在了其云与服务器版本身上。
智能手机/平板设备系统方案目前已经进入“寻求合作伙伴”的发展阶段,现在谷歌、微软甚至Mozilla都开始向Canonical伸出橄榄枝。Ubuntu云/服务器版本拥有一份令人印象深刻的合作伙伴清单,相比之下其智能手机/平板设备合作阵营似乎进展迟缓。与之前一样,Canonical已经在其大多数版本当中加入了“trailware”(即试用项目)。
Canonical公司目前面临着来自各大主要竞争对手的严酷压力,其中包括红帽(及其新兴技术社区)、永远古板的SUSE还有永远不会落后的桌面系统天敌微软与苹果。不过我们相信目前尚不具备生产极质量水准的新型应用程序(以Docker为代表)拥有强大的优势,这使得Ubuntu在直面对手的“革命性”改进时也完全不落下风。
云与服务器
如果大家不认真查阅,很可能会忽略掉Ubuntu 13.10到14.04服务器版本当中提供的诸多变化——粗看起来其中大部分项目算是对现有工具包的软件更新,但需要强调的是也有不少迎来了自己的长效支持版本。其部署用到了我们此前曾在Ubuntu服务器版本回顾一文中所提及的裸机即服务(简称MaaS)应用。
还有一些附加组件现在能够为Ubuntu服务器实例带来令人难以置信的向外扩展潜力,其中一部分已经在为Amazon Web Services、Joyent、Rackspace以及OpenStack的公有云体系服务。
此外还有一部分关键性软件更新值得关注。Ubuntu 14.04 LTS版本支持Apache Tomcat v7、Postgresql v9.3、Qemu 2.0、Libvirt v1.2、LXC v1以及MySQL v5.5。Open vSwitch 2.0也已经可以被作为虚拟交换机方案,此外用户还能够从Xen、VirtualBox以及KVM当中作出选择。在新版本中,最主要的改进体现在云技术能力方面。
Linux 3.13内核更新在Linux防火墙安全性方面作出了巨大调整,其中早已老掉牙的iptables防火墙被更新为nftables——这套防火墙方案能够通过转译工具向下兼容iptables。
转译工具能够实现软件更新,因此新的防火墙机制能够实现脚本编写功能——不过我们认为管理员无需因此而恐慌,其实际管理工作非常简便。Nftables创建起一套虚拟内核,其中所有数据包都能够进行检查,并允许用户对其接受/拒绝准则作出更多细致调整。该内核还更新了内存处理机制并提供更出色的多核心CPU支持能力。
14.04云版本以“认证”镜像为基础,能够运行在内部主机当中或者导入至特定供应商的云环境。OpenStack充当着首选配置方案的角色,此外Canonical还通过Juju charms更新了其Juju总线通信应用,从而允许使用者利用快速部署、拆卸、配置以及管理组件等对其部署流程加以定制。在这里Juju charms的定位得到了扩展,而且可通过Eucalyptus框架与私有云并行协作。
Canonical推出了一套云镜像与Juju charms组合,从而与OpenStack 2014.1“Icehouse”发行版相兼容——后者当中包含大量框架/堆栈元素,能够帮助Ubuntu Server 14.04实例实现快速部署与控制效果。Canonical还提供可选Landscape管理服务供大家使用。
我们曾经使用并部署过Ubuntu 14.04的云版本(基于AWS环境)、裸机与虚拟服务器版本再加上这两个版本的虚拟化实例(其实它们之间的区别并不大)。整个过程非常顺畅,没有遇到任何问题就成功完成了。
虽然Linux 3.13内核在设计上专门移除了性能瓶颈并提升了内存管理效果,但性能表现的测量工作仍然很难进行。目前还没有一套全面且经过实证的可靠方法能够实现性能评估,毕竟在配置实例的实际部署当中存在众多可能影响其发挥的不可知因素。
前面提到的Docker应用负责管理一套新兴应用程序架构机制——LXC容器。在Android应用领域,Davlik已经拥有相当长的发展历程(概念由Sun公司提出)。Docker所使用的各项方法共同构成一套框架,旨在对应用程序容器资源、内容以及用于应用程序隔离的网络机制进行管理。总体而言,这绝不仅仅是一套沙箱环境那么简单。
从理论上讲,应用程序会转化为对象并能够在不同托管平台之间往来迁移。而在我们今天讨论的实例中,这套托管平台就由Ubuntu服务器来充当。这是一套高级CLI(即命令行)实施方案,并利用Docker以尽可能简便的方式执行经过编译的应用程序。简言之,docker能够运行应用程序以执行容器的原子化流程。
Ubuntu 14.04云镜像目前已经可以在各类公有云平台上进行实验、租用或者搭配其它协议,其中包括微软Azure、Rackspace、Amazon Web Servcies、Joyent、惠普Cloud以及IBM “Smart Cloud”等等。
总的来说,云与服务器版本的Trusty Tahr已经将长效支持能力加入到设计思路当中,该公司还宣称将在未来五年当中为OpenStack提供支持。我们相信Canonical的承诺。
桌面客户端
Ubuntu 14.04桌面版本中的大部分变更都隐藏得比较深,其Unity UI的调整则几乎可以忽略不计。Canonical所发布的Ubuntu Desktop 14.04当中并没有将他们一直想使用的Mir图形堆栈引入进来。
这意味着跨设备图形处理能力目前仍然在逐步改善当中。如果Ubuntu能够继续维持其LTS的发展规划,那么他们将无法在作出五年承诺后仅仅为Mir提供为期两年的支持——但五年的周期对于激烈的操作系统竞争而言却有如永恒那么漫长。
图形堆栈不是一天就能构建起来的,Mir要达到的目标也是如此——很明显,清退X-windows框架并转回计算的黑暗时代(大家一定还记得Motif与SmallTalk那黯淡的主题)绝非易事。
一直无法完成Mir的引入意味着Mir Ubuntu Unity用户界面的下个版本同样将遭遇拖延,因此我们认为Ubuntu 13.10也将同样长期无法推出LTS版本。
14.04 LTS是第一个采用Ubuntu 13.10中Dash搜索功能的长效支持版本,而且用户不必对在Ubuntu One Cloud中购买并保存媒体资料感到担忧。Canonical已经正式表示该方案将于今年五月末关闭,其内容将在整理后在七月末时迁移至云端——又一位倒在经济对抗之下的受害者。
Dash搜索功能仍然可以通过设置加以关闭,企业管理员们欢呼吧——令人抓狂的流量追踪折磨不到我们了。与12.04 LTS及其前续版本一样,Canonical采用自己的搜索查询规范、当然用户可以关闭这项类型于美国国安局的隐私监控机制。
不过如果与我们发现的结果一致,那么Unity在UI与窗口操作方面作出了一系列奇怪的变化。在默认情况下,全局窗口化策略会将用户对母窗口的操作传递到子窗口处,但子窗口的实际活动效果却与母窗口不同。
我们发现用户可以在打开窗口之前关闭这项全局功能。前景与背景的操作活动让整套UI显得相当繁忙,我们觉得新用户很可能会在面对这些调整时遭遇使用障碍。
在众多Web应用程序当中,最引人注目的无疑是Ubuntun自己的浏览器方案——它在成熟程度上自然无法与Chromium或者火狐相提并论,其引擎在之前的版本中一直成为拖累Web应用的罪魁祸首。我们对它的表现也评价不高,特别是在处理高强度负载图形页面的滚动时尤其明显。不过火狐、Chrome或者其它浏览器能够很轻松地被安装在Ubuntu当中。我们很好奇,这种调整到底是由Mir的某部分所引发、或者说Canonical希望通过这种方式回避与主流浏览器之间的正面冲突。
抛开我们对于隐私问题的抱怨不谈——这也会给网络流量带来影响——Ubuntu 14.04的桌面版本非常出色,而且只需要对浏览器的实际效果作出提升或者变动即可。似乎没人希望在自己的桌面环境下使用Unity,但这套桌面版本已经带来了优于LinuxMint等以桌面为首要环境的Linux发行版,而且拥有相当稳定的运行表现。
总结
Canonical引入了一系列新组件,但同时也考虑到了大型企业用户的实际需求并通过增加附加价值的方式提升了对方使用这套系统的意愿。这一切让他们成为世界上最受欢迎的系统云实例方案。然而这样的发展思路同时也妨碍到其在最初获得成功的领域进行进一步扩张——也就是小型系统/客户端设备。
尽管Ubuntu在诸多方面拥有稳定的运行表现,而且也没有太多需要向用户致歉的昏招——也许惟一的问题就是Ubuntu One服务,这项通常只有谷歌愿意配合的计划最终走向了灭亡——但Canonical仍然承受着巨大的压力。其云与服务器版本经过了认真打磨,配合trialware推荐项目共同使用足以成为新一代经过高度优化且广受好评的Linux发行版。
我们是如何进行测试的
我们在自己的实验室与网络运营中心当中对Ubuntu 14.04的各个版本进行了测试,并在联想Thinkserver RD430与联想Thinkpad T530、惠普DL-360 Gen8以及虚拟机(包括VMware 5.5、Hyper-V3、Parallels for Mac V7、VIrtualBox 2.4以及XenServer 6.2)上通过Expedient/nFrame加以运行。另外,这些设备通过千兆以太网和/或10GB与我们的核心主干网相连,而后接入我们的SAN。
我们测试了多CPU支持能力、应用程序安装以及UI操作效果。我们还在Ubuntu Server 14.04上安装了Docker与LXC。
我们还在其中发现了最近曾经曝出Heartbleed漏洞的OpenSSL版本,不过经过测试证实该版本在交换机当中进行过编译、因此漏洞已经不能发挥作用。但需要强调的是,目前还没有正式注释说明这项问题——我们需要亲自通过编译加以验证,并在各个版本之间进行比较以证明该漏洞确实已经不复存在。