1986年1月,IBM推出业内第一个能够支持商用RISC系统的UNIX操作系统AIX,这一突破大大加速了所有厂商UNIX的商业化进程,UNIX由此走进商用领域并成为今天最重要的操作系统之一。转眼20年过去,现在的AIX及其运行平台System p系列虚拟化技术已今非昔比。
所谓虚拟化就是把在同一个服务器上运行不同操作系统的映像(Image),IBM称之为逻辑分区。在操作系统这个层面之下,有一个叫做附件的软件层,对逻辑分区进行资源的分配。IBM可以对每一个物理的处理器加以虚拟化,能够将每一个物理的处理器虚拟成最多10个处理器,然后把每一个虚拟的CPU安排到每一个操作系统的映象当中,这样就可以在多个操作系统的映像当中共用处理器了。
IBM还可以从AIX角度来进行动态的再配置,包括增加或减少处理器、增加或减少物理的内存,以及I/O的适配器。假如在逻辑分区中运行着4个CPU,但是用户希望将4个CPU增加到6个,那么不需要重新起动AIX的映像。用户甚至可以取消运行这样一个映像的物理内存。
第三部分是I/O的虚拟化,有了I/O的虚拟化用户还可以共用以太网的适配器和FC适配器,这也是在不同的操作系统的映像之间。另一个使用I/O虚拟化的好处是,假如要开始一个新的逻辑分区,不一定非需要这种物理的连接。
采用这种虚拟化的技术的好处在于:
可以提高资源的利用率,也就是说可以完全按照需求准确的分配资源。
可以随时部署新的操作系统的映像(逻辑分区),因为可以通过I/O的虚拟化和处理器的虚拟化实现这样一个目标。
通过虚拟化可以提高响应能力,比如在10毫秒甚至更快的速度内,就可以针对新的操作系统的映像规划资源。这样就可以让用户及时的满足预期的需求或者是超过预期的一些峰值的需求。
通过上述所有方面的好处,用户可以从IT的投资当中获得收益的最大化。举例来说,假如用户有一个OLTP(交易)的逻辑分区,还有一个业务分析(批量)的分区。由于OLTP是一个优先的分区,因此这个系统可以最大程度的保证它的容量和能力的需求,而把小的容量分配给批量的需求。譬如股票交易市场最高的峰值时间应该是在9点到10点这样一个范围内,而在其他时间内它并不需要那么大的峰值的容量,那么当OLTP的分区在没有使用这些容量的情况下,批量的分区??也就是用于完成业务分析的分区??就可以充分利用OLTP没有利用的那部分容量。在股市开盘的时候,OLTP处在一个优先的状态下,所以在这个时候会看到它所占的容量是非常高的,而批量是缩小的状态。这可以放在很大的SMP的机器上。
再比如说,已有的一些或者很小的操作系统映像,每一个操作系统的映像可能只会占用四分之一的CPU,在这种情形下可以产生出16个逻辑分区。而且在不同的分区之间还可以共用网络适配器,如千兆以太网的适配器。这些分区也能够共用FC的适配器,还可以在每个分区之间共享磁盘阵列。
Satya Sharma先生表示,Windows如果要提供虚拟化的方式,必须在第三方提供的VMware之上运行Windows,才能实现虚拟化。AIX的虚拟化可以扩展到多个CPU,譬如64个,而VMware的虚拟化扩展能力没有这么强。AIX的虚拟化只针对POWER硬件,但POWER的硬件又可以运行3个操作系统??AIX、Linux和i5/OS。IBM有专门POWER版本的Linux,如Suse和RedHat都有POWER版本。
IBM的p系列和i系列都可以运行AIX,其中p系列主要运行AIX、Linux,i系列是AIX、Linux、UNIX。p系列可以运行i系列的i5/OS的映像,但CPU的数量是有限制的,所以在宣传的时候不特别强调在p系列上运行i5/OS。如果用户有一个小的i5/OS的配置,在p系列的系统上运行是没有问题的。
逻辑分区包括专用的绑定分区(每个处理器只能被唯一地分配一个分区,如基于Power 4的服务器)模式和微分区模式,在基于POWER 5/5+的系统中,微分区模式使单个物理处理器被“抽象”成多个虚拟处理器,并可分别进行分配。虚拟化的“抽象”过程是由硬件和POWER Hypervisor(固件的一个组成部分)共同完成的。从概念上来说,p系列、i系列和z系列的Hypervisor是完全一致的,但是从代码和设计上来说,z系列的系统所用的Hypervisor系列是不一样的。p系列和i系列系统使用的Hypervisor是完全一致的。在z系列上Hypervisor是非常成熟的,现在用在p系列和i系列的系统上的Hypervisor也总结了很多z系列系统的经验。
除非专门赋予一个操作系统区别物理和虚拟处理器的能力,否则从操作系统的角度来看,一个虚拟处理器和一个物理处理器是完全没有区别的。在硬件/固件上实现分区最大的优势在于只要经过很少甚至根本不需要进行应用移植,用户就可以充分利用POWER 5/5+及其相关技术。Satya Sharma先生认为,在中国普遍使用的是绑定分区模式,而使用微分区模式的企业和用户还很少。如果采用绑定分区,所使用的分区是针对某一个操作系统的映像,就不能够实现共用和分享。
从市场上来说,英特尔服务器的用量比UNIX的服务器大得多,因此VMware的使用肯定超过Hypervisor。但在美国有些不同,美国很多的用户使用的是微分区的模式。目前金融行业、制造业及医疗行业使用虚拟化技术比较普遍,IBM的高端系统如590、595都捆绑了虚拟化技术,而中低端的570、550则单独收费,不过总的说来获得虚拟化技术的门槛并不是很高。
预计推出的Power 6在虚拟化技术上也进行了增强,POWER 6可以把工作负载从一个服务器转到另一个服务器,而且不会使运行产生任何中断。今天如果人们要实现这种工作负载的转移的话,必须使用高可用性的集群。因为必须要做文档系统的恢复和数据系统的恢复,必然会带来运行的中断。使用POWER 6的虚拟化技术,则可以在不中断的情况下把负载从一个服务器转到另一个服务器,因为实际上转移的是内存的内容。
将整个I/O的映像的移动,只有POWER 6具备这个能力。其主要应用如在做服务器升级的时候,希望在不中断的情况下实现服务器的升级,就可以采用这样一个技术,这是分区的移动性。还有一种情况是,用户要做新老服务器的更替,在不中断的情况下使用这个技术也能够得到实现。此外,在数据中心里有很多的设备,在这种情况下如果有空闲的周期或者是空闲的设备的情况下,还可以把工作的负载进行动态的分配。
在提供虚拟化技术的过程中,也要确保这个技术能够具备可管理性,因此IBM特别重视提供的相应的工具,这也是非常有用的。在基于POWER 6的系列中,IBM计划推出有不同档次的产品,既有入门级的,也有中档和高端的产品,这些产品会在不同的时间内推出。IBM的计划是从低端一直到高端的POWER 6的产品会逐步的推出,但是推出的顺序是一定会先推出POWER 5存在着弱点的部分的产品。至于分区的移动性,一定会体现在POWER 6产品系列当中,但是现在很难说会先从哪个等级的产品开始,因为最终所有POWER 6系列的产品都会具备这项技术。即所谓“POWER 6无处不在”,也会贯穿从低端到高端。
假如在数据中心当中有很多的设备,有些设备利用率比较高,有些设备的利用率比较低,在这种情况下,可以实现工作负载动态的分配到利用率比较低的设备中去,并不只是局限在一个系统当中,而是在多个系统当中,前提是所有的系统使用的都是POWER技术。但有一点必须澄清,不可能把一个工作负载分配到两个服务器上去,如果是一个工作负载的话,它只能放在一个服务器上。