小企业搭建虚拟化应考虑哪些问题?

如果说有一种技术能够极大地改善任何规模的计算环境的话,那就是虚拟化。由于使用一台服务器运行多台虚拟服务器,你可以减少运作成本,并从投资中获得更多收益。不管你的公司是拥有两台服务器还是拥有200台服务器,你都能够以各种方式获得好处。

对小型的基础架构实施虚拟化的原因也可归结为管理上的方便和成本的削减。如果你的企业拥有超过2台服务器,或者如果你打算某一天扩增服务器,那么,虚拟化就十分重要。

如今,购买多核处理器的服务器非常普遍,但是小型企业的服务器需求一般需要不了那么多的功能。其结果是,企业购买了相对较贵的服务器,其功耗和发热量都很大。如此一来,在一台服务器上管理几台虚拟服务器就很有意义了。

主服务器

在小型环境中成功实现服务器虚拟化的关键要从物理主服务器开始,即将要运行多台虚拟服务器的主机。

不管你使用哪种虚拟化软件,你都需要在四到六核CPU上运行大量的虚拟服务器。其原因在于通常情况下多数服务器有很大一部分的空闲时间。在这些服务器承担负载时,其资源趋向于在内存、CPU、磁盘、网络传输中扩展,仅有少量的虚拟服务器真正要求大量的 CPU资源。因而,我们可以将大量的物理服务器整合到一台主服务器上。

但这也不是绝对正确的。有些服务器,如数据库服务器,需要连续地运行沉重的负载,可能不太适合于小型基础架构的虚拟化选择。这完全依赖于主服务器的可用硬件资源,依赖于虚拟化软件的特性,依赖于虚拟服务器的要求。幸运的是,提前搭建并测试这些要求并不太困难。

处理小型虚拟化项目的首要一步是选择硬件。通常,可以从一台服务器开始,应在预算的范围之内达到最佳的资源组合。

单凭经验来说,主服务器中CPU拥有更多的核要比更高的时钟频率更好,所以如果要从四核的 2.93GHz的处理器和6核或12核的2.4GHz的处理器中选择的话,最好选择后者。这是因为,在多个CPU核心之间分摊虚拟服务器负载的能力,一般可以转换为所有虚拟机之间的更快更稳定的性能。

内存和存储器

在选择了CPU之后,下一步就要考虑内存了。虚拟化主机需要更多内存,所以内存是越大越好,尽量选择最快的RAM。选购CPU可能相对简单一些,但是选购内存就要稍麻烦一些。你需要的内存越多,能够运行的虚拟机就越多。

如果你运行着某几种虚拟机管理软件(管理着所有的虚拟服务器),而这些软件又没有提供共享内存特性,上述观点就尤其正确。有些软件要求提供固定数量的内存给虚拟服务器,内存是整体分配的。而另外一些虚拟机管理软件的设置可以决定在什么时间将同样的内存段交给多个虚拟服务器,并对内存进行映射,可以将更多的内存分配给主机内的虚拟服务器。

第三个要考虑的因素是存储。在小型的环境中,你可能没有存储区域网络(SAN)或网络附加存储 (NAS)设备来存储虚拟服务器的映像,所以主机服务器就负责这项任务。这样说来,磁盘是越大越好。一般说来,RAID 5 或 RAID 6阵列的SATA硬盘就足够了,虽然SAS硬盘提供的性能越来越好。如果可能,你应确保物理服务器有一个既支持RAID 5又支持RAID 6的RAID控制器,并相应地计划你的存储器。

网络接口

需要考虑的另外一个问题是网络接口。在很多情况下,设置网络接口也就是使用一两块网卡,用以支持整个虚拟服务器环境;不过,如果你的以太网交换机支持链路聚合,这正是利用这种特性的好时机,由此便会增加虚拟服务器的带宽。通过将两个或多个千兆网络接口聚合起来,你就可以构建起一个更强的虚拟网络接口,从而向用户和网络上其它物理服务器提供更大的带宽。许多中端以太网交换机支持此功能,所以如果这种方法可行,您不妨看看自己应当选择什么。

如果没有链路聚合,就需要专用的网络接口用于繁忙的虚拟服务器,但是如此一来,你可能很快会耗尽物理接口。好在千兆网卡相对便宜,所以如果你认为有必要采取这一步,最好提前计划,搭建一个至少有四个千兆网络接口的服务器。

电源

下一个问题涉及到电源。一般而言,你可以搭建一个仅有一个电源的服务器,不过,如果你打算在一台主机上运行多台虚拟服务器,可能就需要投资购买备份的电源。这个水平的虚拟化也就是"将多个鸡蛋放到一个篮子里",所以加强"这个篮子"的稳定性从长远来看很有好处。这项措施并非必须,但如果预算允许,还是值得的。

现在你已经有了一个多核CPU、大量的内存及本地磁盘的RAID 5或RAID 6阵列,你已经有了一个强健的主机服务器。那么,这台服务器需要运行什么软件呢?

虚拟化软件

虚拟化世界中,我们有很多选择。Vmware提供了一个免费产品Vmware Serve,它运行在Windows 或 Linux上。这是不是一个"裸机"虚拟化软件,因为它依赖于底层操作系统提供正常运作的关键要求。由于这种方法将减少了一些步骤,所以速度或流畅性并不如其它虚拟化软件,但其易于安装和使用。有一种完全免费的方法,可考虑在服务器上安装Linux,然后运行VMware Server的Linux版本。Vmware还有一种免费的"裸机"虚拟化软件,Vmware ESXi。这个产品功能强大,并具有Vmware的大型高端产品的同样设计基准,它提供了稳定且响应迅速的虚拟化功能,但它对赖以运行的硬件有些限制。 Vmware网站有一个硬件兼容清单,在购买或构建虚拟服务器时,如果你打算使用ESXi,就应当遵循其网站上的兼容清单。否则,如果ESXi没有某些硬件的驱动程序,其功能将大打折扣或根本无法运行。

微软的Hyper-V尤其适用于Windows网络。从技术上讲,它并不免费,因为它要求购买Windows Server 2008 R2,不过,其界面简单,并与操作系统集成得很好。如果你的虚拟服务器也是Windows Server 2008,你会发现许可协议很诱人。购买一份Windows Server 2008 R2准许运行四个虚拟Windows Server 2008服务器。如果你打算迁移到Windows Server 2008,选择这个产品也许是一种很划算的举动。

还有其它的虚拟化方案,如Citrix的XenServe,其免费版本提供了不少Vmware的免费产品的很多特性,如多服务器的管理。XenServer并不象其它虚拟化软件那样是业界主流,但它确实是一种可行的选择,而且它并不要求底层的操作系统或操作系统许可协议。

低风险试验

虚拟化的美妙在于你有空间去做试验,并可以利用虚拟化的特性,如虚拟服务器的快照可以捕获虚拟服务器在某个时点上的状态并保存之。一旦日后发生问题,你可以退回到这个快照,返回以前的良好状态。在实施软件更新和修复时,它可能导致不可预料的后果,快照功能是很有用的。

不管你的决定是什么,一旦开始了即使少量服务器的虚拟化试验,你的单位都将得到极大的益处。