迄今为止VMware ESXi还没有获得大规模的应用,对于大多数用户来说,ESX仍然是首选,因为它已经在用户身边很多年,而且被管理员所熟悉。如果我们对老牌管理员做个调查,很容易就能发现他们对ESX Service Console的喜爱。原因是什么呢?很简单,他们已经习惯在这个完整的Linux操作系统中对ESX主机进行管理,这带有的强大功能和灵活性。
然而,看起来VMware似乎更希望用ESXi来代替ESX的使用,这家公司也已经多次申明这会成为将来的方向。而这个切换将发生在什么时候,还仅仅处于猜测阶段。
ESX和ESXi在内核上是完全一致的。它们采用了相同的管理程序,这就是被称为VMkernel的,约为32MB大小的内核程序。它们之间的区别在于管理界面上,而管理界面程序在主机上以一台独立的虚拟机方式运行。
管理界面
ESX中的管理界面被称为Service Console,它一个完全安装的Red Hat Linux操作系统,然后根据ESX的需求做了调整和优化。VMware增加了一系列的驱动、服务、进程和终端程序以使它可以完成对VMkernel的管理,这其中包括著名的ESX专用命令:esxcfg-vnics 和 vmware-cmd。
作为一个完整的Linux操作系统,Service Console在使用默认分区方式安装后大约要占用8GB空间大小。用户可以通过SSH(secure shell)登录到Service Console,并完成命令运行、日志访问、脚本运行、驱动和应用程序安装(虽然我们不建议采用这种方式安装)等各种操作。
通过Service Console可以实现很多功能,而且在主机发生问题做故障诊断时也很方便。但是如果您不够小心,也可能会导致各种问题发生。由于Service Console所带有的强大功能,在缺乏正确防护的情况下,它也经常被认为是潜在的风险。
相比而言ESXi的管理界面我们简单称之为Management Console。它放弃了安装完整操作系统的方式,而是采用了一个很小的叫做Busybox的可移植系统环境,该操作界面仅提供了一些受限的远程管理接口。ESXi的初始空间被压缩到了仅有60MB大小,VMware把它作为一个提前配置完的镜像文件提供,也就是说ESXi不需要像ESX一样的完整安装过程。为了减小空间占用,VMware从ESXi中删除了大量的命令,从而更多地需要依赖远程管理工具的方式实现。这些管理工具借助管理界面,通过API(advanced programming interfaces)和ESXi实现连接。在用于完成ESXi管理的工具中,包含大家所熟知的vSphere CLI(vCLI,初期被称为Remote Command Line Interface,也有人叫做Remote CLI 或 RCLI),它也可以和ESX集成。vCLI是安装在某台PC上的脚本环境(Perl),通过脚本程序或一些特殊命令和ESXi主机交互,以完成对主机的配置管理。它几乎对所有用于完成ESX配置的COS命令做了移植。
ESXi的用户界面
ESXi的用户界面被称为DCUI(Direct Console User Interface),它的功能仅限于完成基本的网络设置、重启管理客户端、日志访问和其余的一些基本配置。它还拥有一个隐藏的命令行管理界面,可以在完成故障诊断的时候使用。这个隐藏的命令行界面被称为Tech Support Mode,而且VMware并不建议用户在没有VMware相应支持服务的情况下使用该界面。在默认情况下,用户无法通过SSH登录到ESXi管理界面,这也意味着vCLI是ESXi最主要的管理工具。但是通过在Tech Support Mode中完成一些配置可以启用到ESXi主机的SSH连接方式,但这种配置并不被官方所支持。
VMware ESXi存在的问题
为什么VMware希望用ESXi来替换ESX和Service Console,而不是同时提供两种方案,然后让客户自行选择他们喜欢的版本?很多用户喜欢接受ESX及其带来的优势,而另外的一些用户则对ESXi较小的空间占用和简易安装过程情有独钟。而且,VMware不断地在ESX中增加新的功能,而不是通过利益引导的方式让用户转向ESXi。更进一步地讲,还有很多技术在ESXi中根本无法支持,如:
对于从SAN存储中启用ESXi的官方支持;
虚拟机的Web管理界面;
对巨型帧的支持;
对脚本安装方式的支持;以及
集成活动目录功能的支持;
之前主要用于ESXi远程管理的vSphere CLI,由于受到自身管理接口的限制,对于在ESX Service Console中存在的很多命令无法提供支持。跟ESX Service Console相比,这部分由于vSphere CLI不能识别而缺失的功能,我们可以参考文章:KnowledgeBase article: vSphere CLI and Service Console Parity issues。而且在没有网络连接,或者是我们找不到可以用于连接到主机并通过vSphere CLI实现管理的工作站等情况时,如何实现对主机的管理也是一个问题。
在ESXi管理界面中,DCUI可以直接完成的操作非常有限。基本上讲,我们可以做以下这些操作:访问日志、配置管理界面所在的网络、重新启动管理程序端。而对于一些很简单的,诸如启动和关闭虚拟机、进入维护模式、管理虚拟机快照等操作也无法支持,通常我们也经常需要从管理界面去直接进行这些操作。
ESXi真的比ESX安全很多吗?
长期以来,VMware一直宣称ESXi比ESX好,因为它所具有的安全性。但是这真的是事实吗?其实它们的安全性都要取决于其设置方式,通过配置ESX和ESXi都可以轻易地实现更高(或低)的安全性。
ESXi未必比ESX安全,仅仅是ESX和它实现安全的方式不一样,而ESXi也有它固有的弱点。您或许会说因为ESX的Service Console需要安装很多补丁,所以它不安全。但是我认为ESX所经历的历程可以为自己佐证,在多数情况下,ESX都被证明是一个非常安全的平台。
如何使ESXi对用户更有吸引力?
我想VMware在说服客户放弃他们所喜欢的ESX及其Service Console方面,还有很长的路要走。当然,VMware也可以通过停止ESX来迫使客户转变,但是这样做很有可能招致VMware客户的反感。
而另一方面,VMware可以通过提供一些优点来诱使客户转向ESXi,如果VMware可以做到如下这些方面的话:
改进DCUI,增加更多的功能支持,例如对虚拟机状态的监控以及对电源选项相关的操作。仅仅做成简单的文字界面就可以,我们并不需要华丽的图形用户界面。
确保ESXi可以实现对ESX所有功能的支持。据我所知,一些ESXi中缺失的功能很快就会被加入,但是如果一个产品马上要被停产的话,它的替代产品必须可以实现完全地替换。
改进vSphere CLI。ESX Service Console所拥有的所有命令必须可以在vSphere CLI中运行。
基于Web的用户界面,尤其是在远程连接访问的时候。该界面不要特别地华丽和丰富,但是起码应该可以让我们通过它完成基本地操作。甚至是像vCenter Mobile Access那样的简单用户界面都是可以接受的。
挖掘Tech Support Mode。它已经存在了,需要做的就是对它进行支持并让用户使用。在DCUI中增加它的入口,因为我们已经看到,尽管VMware试图隐藏它并且不鼓励使用,但是用户是有需求的。
支持用户对ESXi的脚本安装方式。不是所有用户都可以授权使用主机用户界面,这样的话可以使ESXi的部署更加简单。
ESXi的安装过程很简单,但问题是过于简单了。在安装过程中加入一些画面以支持用户的简单定制需求。加入的界面也不需要多么复杂,但是至少应该支持用户为管理员用户设置一个密码。
我认为如果VMware做出了如上这些改善,ESXi占用的空间将会增大,但是我不认为有人会介意ESXi占用了额外的50MB空间。如果为了始终保持ESXi的“瘦小体型”,而不断增加用户使用和管理的难度是不明智的。通过使ESXi更易用才可以吸引越来越多的用户习惯于使用ESXi。
由于ESXi受到的限制,很多人依然习惯于使用ESX。最后,我仍然希望可以拥有两种备选方案,请继续保留ESX以提供用户选择的权利。想想将来如果没有了ESX(这个从2001年起就充斥我们身边的产品),会使大家感到非常不习惯。
【编辑推荐】