2.3 服务器虚拟化
虽然解决服务器散乱问题存在许多种方式,但是服务器虚拟化是当前既成事实的标准方法。借助虚拟化技术,一个物理服务器可以变身成很多个逻辑服务器,这也意味着DC内一大堆未充分利用的服务器可以被转换成一个无缝的计算池,与此同时能够将应用程序从它们的烟囱中拆离出来,因此也可以完全废弃烟囱式存储子系统。
服务器虚拟化后最直接的效果如图2-4所示,通过服务器虚拟化可以完成DC物理服务器的整合,减少数据中心所需的物理服务器整体数量,由此而降低的成本让人无法抗拒。而服务器虚拟化减少了物理服务器的数量,意味着更低的能源开销,包括服务器以及冷却系统的能源开销,也因此降低了操作代价(Operation Expenditure,OPEX)和未来DC在硬件设备上或固定资产(Capital Expenditure,CAPEX)上的投入。服务器虚拟化也大大降低了对托管空间的需求,使得企业能够以最小代价获得发展空间。另外,从服务器整合和管理角度出发,服务器、存储和网络相互交织在一起而产生的复杂性也得到相应简化。
图 2-4 虚拟化下的服务器整合
向云计算迁移并不是一次性的彻底革新,它是一个向完全虚拟化DC渐进式的转移和演变,而现在正是开始这一进程的最佳时机。
2.3.1 虚拟机和监视器
服务器虚拟化采取的是“一对多”的模式,即一个单独的物理服务器被划分后,看起来就像多个相互独立的逻辑服务器一样。每个逻辑服务器分别对应着一个VM,提供一个完整的服务平台,能够支持一个完整操作系统所需的所有工作。一旦划分好物理服务器,每一个逻辑服务器将自动运行相应的操作系统和应用。由于客户端的操作系统不一定相同,因此在同一个物理服务器上以安全可控的模式同时运行几个操作系统和应用程序是可行的。
为支持虚拟环境而研发的更强壮的x86平台,包括了多核CPU、AMD虚拟化(AMD Virtualization,AMD-V)应用和Intel公司虚拟化技术(Intel Virtualization Technology,Intel VT),让服务器虚拟化更加可行。
市场上存在各种各样的虚拟化软件,其中最广为人知的是VMware、XEN和Hyper-V。尽管它们的结构和特性都有所不同,但都是基于VM与VM相互共享硬件资源(CPU、内存、磁盘和单台硬件服务器的I/O设备)这样的概念。一般情况下,虚拟化软件是通过直接在计算机硬件或者主机操作系统之上增加一个精简软件层而实现,这样的软件抽象层一般被称为虚拟机管理程序或者是虚拟机监视器(Virtual Machine Monitor,VMM)。
虚拟机管理程序将基础的物理硬件(如CPU、内存、磁盘和I/O系统)与OS剥离,把实际的物理服务器硬件资源隐藏在分布的VM之后,使得用户感觉好像存在一个逻辑资源池,这些VM能够共享池中资源。虚拟机管理程序的功能包括:
·创建VM;
·将物理服务器硬件资源的虚拟池中的“硬件资源”分配给VM;
·监视VM的状态;
·负责将VM从一个系统迁移到另一系统中。
存在两种类型的监视器:
·I型(又称本地、裸机)虚拟机管理程序:I型虚拟机管理程序直接运行在服务器硬件平台之上,负责硬件控制及用户OS监控,用户OS运行在硬件之上的第2层。
·II型(又称宿主)虚拟机管理程序:II型虚拟机管理程序作为第2层软件,在监控器层的常规OS环境中运行,而用户OS运行在硬件之上的第3层。
本章服务器虚拟化部分将对两种类型的虚拟机管理程序分别进行探讨。