【51CTO精选译文】随着日复一日为创建新虚拟服务器模板努力工作,我逐渐发现用户其实希望能在安装流程中拥有一套专为虚拟化或者至少只针对虚拟机环境的Linux发行版。某些发行版确实在这方面做出了一定倾斜,例如Ubuntu与OEL jeOS(即just enough OS,刚刚够用的操作系统),但它们并没有针对虚拟服务器领域做出必要调整。
对于大规模安装任务,现有发行版选项普遍采取了这样或那样的高度定制方案——或者以模板的形式部署在虚拟机中、或者通过客户端安装工具乃至脚本根据业务需求部署其中的特定部分。然而这些定制效果都是一次性的,它们无法广泛适应或被使用在各类业务环境当中。通常情况下,这些自定义模板或安装机制只针对某一款单独应用程序,且必须经过大幅改动才能在其它用例中发挥作用。如果能在安装之前提供专门的“虚拟机环境”选项,相信安装工具能更高效地运作、结果也会更加令人满意。
所谓“更令人满意”,我指的是不会在不必要的环境中安装SMART工具或者蓝牙系统。我不需要X11或桌面环境,而且显然不需要将ISDN支持设为默认启用状态。在虚拟服务器环境下,不仅存在很多根本没有实际意义的工具及实用程序,二者所附带的各类库也完全没有安装的必要。系统中总有很大一部分内核模块的使用可能性几乎为零,因此这部分内核选项及其相关数据应该被彻底排除在安装对象之外。虽然开发人员辛辛苦苦写出了这些代码,但我们实在没有任何理由让它们占用系统资源——这也正是管理员在准备定制模板或进行大规模安装工作时需要完成的任务。
我个人希望看到一套专为虚拟机环境所打造并受到支持的主流Linux发行版,甚至是针对特定虚拟机管理程序。这实际并不会增加发行版的可用数量,而只是以额外安装选项的形式满足用户的愿望。大家实际上已经亲自动手实现了这一诉求,命名在RHEL上,我们需要筛选每一们默认软件包并排除不必要的部分,然后再安装经过修剪的精简版定制内核。这些工作也可以通过Kickstart以脚本化方式进行,但这将再次把我们带入一次性劳动的怪圈。
有趣的是,在谷歌中搜索“红帽vmware优化安装”后,返回结果中的***条是如何在VMware中安装Red Hat Linux 7.3的链接。而在搜索“RHEL vmware优化安装”时,其中显示的最有帮助的博文链接也已经撰写于三年之前。这实在是令人惊讶,无数管理人员都在不断重复劳心劳力的过程,为什么直到现在我们也没看到一套由主流商业化Linux供应商提供、能够自上而下大面积推开的优化运动?
我估计其中一大重要原因在于,供应商自己也很难拿出一份能够得到普遍接受的虚拟机必要软件包列表,这样的标准实在不易界定。但我们能够肯定的是,用户并不需要一大堆默认安装软件包,而且将额外需要的软件包添加进去比把它们从安装列表中剔除要容易得多。在重新启动之后,我们可以另行安装业务所需的各类工具,系统本身精简些并没有问题。
再者,从已经安装完成的系统中删减软件包相当令人头痛,因为我们宁愿选择谨慎一些的处理方式(谁知道DNS服务器什么时候会用到CUPS呢),也不希望自己的额外处理引发定制内核失效的恶果。当然,如果能有一套内核虚拟化RPM来自动化处理一切,情况会好得多——但这又是另一码事了。我得说,很多Linux发行版所提供的默认方案让人感觉莫名其妙——就以Ubuntu Server 12.04为例,它只会询问用户是否打算安装GNOME,但我们实际上可能还希望安装Transmission BitTorrent客户端;RHEL则会安装xsane扫描仪前端。
***,我们再来看看这种变化会给哪些用户带来影响。大多数管理员都不愿意深入研究默认安装选项并从中剔除不必要的部分。没错,我们的存储资源如今已经相当丰富,但能把虚拟机安装体积从2.5GB缩减为500MB同时又不损失任何实用功能,这样的成效在规模化设施中显然***吸引力——尤其是在备份工作方面。另外,体积的压缩还能大大降低我们在存储阵列之间移动这些虚拟机所需要的时间。
也许是我太过挑剔,这样的细支末节在很多人眼中恐怕根本不值一提。但我仍然坚持自己的观点,因为每次看到大量Linux虚拟机还承载着负责处理ARCNET、Token Ring网络适配器以及PCMCIA SCSI等已经多年没使用过的软件包时,我都要对由此带来的浪费心生慨叹。也许有人会说,至少这样一来DNS服务器虚拟机就能在极端情况下访问古老的并行端口扫描仪了。哦,如果真要这么较真,那为什么不多给虚拟机装几个游戏呢。
原文链接:
http://www.infoworld.com/d/data-center/linux-fatware-these-distros-need-slim-down-215757