VMware ESX的下一版本只能运行在64位CPU上。因此你可能疑惑你目前的硬件是否是64位CPU,以便你能升级到vSphere。
拥有64位CPU的能运行32位和64位操作系统和应用。许多操作系统都有64位和32位版本,基于服务器硬件使用情况安装。不像有32位和64位CPU的不同版本的操作系统和应用,VMware ESX 3.x默认下都支持,就没有必要安装某个版本。不过VSphere只能运行在64位CPU上。如果你将VSphere安装在只有32位CPU的服务器上,就会出现下面这样的错误信息:your cpu does not support long mode.use a 32bit distribution.
为了解释这个图像,32位版本指的是ESX 3.5.x,因为它只支持32位CPU,vSphere只支持64位CPU。你可能也怀疑“long mode”是64位CPU,能在两个模式里运行:egacy和long mode。当操作处于legacy模式,CPU仅仅运行32位代码,64位没用使用到。当操作处于long模式,CPU能运行本身是64位的应用,也以一种兼容的模式运行32位应用。
ESX 3.x以legacy模式还是long模式运行取决于服务器所使用的CPU类型。VSphere只能支持long模式,因此需要64位CPU。VMware这样做的原因在于增加可测量性和性能。
但是不是所有的64位CPU都相同。仅仅因为你拥有64位服务器并不意味着能在上面运行64位子操作系统。 x86 64位架构旨在使用改良的内存模式,这种架构由64位地址空间组成,用在32位架构中的分段内存模式被移除。因此,这导致在虚拟主机服务器上的子操作系统出现问题。它们没有有效的机制来隔离来自64位子操作系统的虚拟机监控器。Intel和AMD都已经在他们的CPU中添加了功能,以便以Long模式运行时支持内存分段,不过早期64位CPU模式没有这种功能。
Intel和AMD服务器
当以Long模式运行时,早期的AMD64 CPU(C版及更早版)丢失了内存分段支持,因此D版和后面发布的CPU要求运行vSphere。如果运行在AMD皓龙处理器上,你需要AMD皓龙家族的CPU Rev E或者更后面的版本。此外,许多AMD服务器有个叫做AMD-V(AMD虚拟化扩展)的BIOS功能,这些服务器是必须支持64位子操作系统的。Intel CPU需要EM64T 和 VT支持,以及服务器的BIOS。EM64T是Intel的64位技术, VT是他们的虚拟化技术。Intel EM64T CPU在Long模式下也没有内存分段支持,但是VT功能能允许ESX运行。
Intel-VT和AMD-V功能默认情况下在服务器的BIOS里都是禁用的,因此检查BIOS查看是否禁用。这个设置的BIOS设置位置依赖服务器制造商的需求,但是一般位于高级或安全选项下面。如果在服务器BIOS设置没有看见这些选项启用虚拟化功能,这可能是由于服务器不支持,这种情况常见于较旧的服务器。或者你的BIOS版本应该升级了。与服务器制造商核对是否有较新的BIOS版本,以便升级后能启用这些高级功能。
需要64位处理器?
你如何查找你是否需要64位处理器?有几个可用的工具查看服务器,并看它们是否拥有64位CPU和运行64位子操作系统。第一个工具是CPU识别工具。这个工具是VMware提供的一个小型ISO文件,用以识别支持你主机的CPU,并让你知道是否支持64位long模式和64位子操作系统。你可以将ISO文件刻录到CD,或者使用远程管理面板启用,因此可以从ISO文件关闭和启动你的主机。
这个工具意味着直接运行在主机上,这就需要关闭它,不过我也加载ISO文件到子操作系统的虚拟CD-ROM,从这启动得到相同的效果。我相信由于当多数子操作系统的硬件是一般虚拟硬件,CPU通常作为牌子和在主机服务器里的任何模式显示。一旦运行此工具,如下图所示:
kendor :intel
brand string :"intel xeon cpu 3.80GHz
................................................
supports 64-bit longmode:yes
support 64-bit vmware :no
在上面的HP DL360 G4例子中,你能看见它支持64位long模式,但是不支持64位VMware子操作系统。这意味着你能在服务器上安装vSphere,但是只能在主机上运行32位子操作系统。下图是使用AMD皓龙CPU的HP DL385 G1服务器例子。
....................
support 64-bit lognmod :yes
support 64-bit vwmare :yes
这台服务器支持64位long模式64位VMware子操作系统,因此你能在其上安装vSphere,并且运行32位和64位子操作系统。
检查主机服务器CPU的另一种方法是使用工具VMware CPU Host Info。这个工具能运行在任何工作站,连接vCenter Server(尽管不过单独的ESX主机)和汇报每个主机的CPU性能。不过,这个工具只能说明主机是否有VT功能,或者是否能运行64位子操作系统。它不能告诉你主机是否支持64位long模式。
VMware CPU Host Info通过使用VMware Infrastructure SDK从每台主机查询系统信息工作。然后以电子表格形式显示。这个工具的额外好处是能显示主机是否能与vSphere的新Fault Tolerant(FT)功能工作,因此这个功能只与最新的CPU类型工作。一旦你下载并在工作站运行这个工具,可以指定想要连接的vCenter Server,并且显示了由vCenter Server及其CPU信息所管理的所有主机服务器。
CPU支持EM64T技术是基础,可以运行64位的host系统,但是如果只支持EM64T还是不能在虚拟机中运行64位guest的系统,还需要VT技术或者AMD-V技术的支持。 |