IBM PowerVM虚拟化技术笔记

小鱼酱 2012-07-16

<PART 1. CPU 虚拟化>

1. 从CPU虚拟化的角度, 分区(partition)可以分成两大类:Micro-partition和Dedicated-procesor。前者可以将物理处理器以0.01的粒度分配给微分区,分区创建的最小处理单元(processing units)必须是0.1个处理器。Dedicated-processor分区在创建时必须分配整个物理处理器。一个分区,或者是微分区类型,或者是 Dedicated-processor类型,不可能是两者的混合。所以对于微分区而言,在只有1个激活的物理处理器系统中,理论上最多能创建10个微分区,最多能创建1个独占式分区(Dedicated-processor)。单个服务器上能创建的最大微分区的数量则取决于服务器的型号,目前能支持的最大分区数量是254。

2. 关于虚拟处理器数量的意义。对于单颗虚拟处理器而言,最多可获得1.00个processing units,因此,从这个角度而言,分区的虚拟处理器数量决定了该分区能拥有的最大处理单元(processing units),换言之,分区内虚拟处理器数量决定了该分区所能拥有的最大processing units,例如,假定创建一个un-capped的微分区时指定的Entitle Capacity是0.50个processing units,同时指定的虚拟CPU数量为1,那么即便在服务器中有多余的处理资源可以使用,该分区能获得的procesing units也不会超过1.00,但是对于同样的该分区,如果指定的虚拟CPU数量是2,那么分区所能获得的最大processing units可以达到2.00,除了自身创建时指定的Entitle Capacity是0.50之外,显然在有2个虚拟处理器存在的情况下,分区可以获得额外的1.50个processing units.

在创建分区时除了需要指定processing units参数外,还需要指定虚拟处理器数量,一般的原则是,将所指定的processing units向上园整成整数,就可以作为虚拟处理器数量,比如,如果指定0.50个processing units,那么指定1颗虚拟处理器,如果指定2.25个processing units,那么指定3颗虚拟处理器,这是一般原则,当然实际操作时可以在分区的profile中多指定一些虚拟处理器的数量。不过指定过多的虚拟处理器数量可能会遇到软件license的问题。

关于微分区技术另一点要提一下的是,该技术从POWER5及以后的处理器才能支持,所涵盖的服务器包括入门级产品到高端产品。

以上都是从处理器虚拟化角度讨论的分区,不涉及memory和IO设备。事实上,微分区只是从处理器角度来界定的概念,因此对于一个微分区而言,它既可以使用shared memory也可以使用dedicated memory,对于IO设备也一样,比如一个微分区既可以拥有dedicated network and storage resources using dedicated physical adapters,也可以使用virtual Ethernet, virtual SCSI和virtual Fibre Channel.

<Part 2. Memory virtualization>

为了加强对系统物理内存使用的灵活性和整体使用率,IBM PowerVM在内存虚拟化方面提供如下两种方式:

1. Active Memory Sharing(AMS)

PowerVM企业版才有此特性,该特性允许在多个LPAR在一个物理内存池中共享其中的内存资源。AIX, IBM i和Linux分区都可以使用该特性。使用了AMS特性的分区必须属于微分区,并且该分区将只能支持虚拟I/O adapters,而不可以使用物理的I/O adapters. POWER6及后来的POWER服务器才支持AMS. 因此如果从Memory share与否这个角度,分区又可分为Shared Memory Partition(类似从CPU角度而言的微分区)和Memory-dedicated partition. PowerVM的Hypervisor通过Shared Memory Pool来支持AMS的正常运行,如果某一个LPAR需要的内存资源在当前的Shared Memory Pool中已无法满足(比如Shared Memory Pool中空闲的物理内存资源不足),那么Hypervisor此时的策略其实和Linux上的虚拟内存的机制原理非常类似,不过它不是简单地将某一LPAR的内存放到硬盘上,而是放到由virtual I/O server (VIOS)所提供的Paging Service Partition,后者其实是VIOS的一个client partition,这是因为在IBM PowerVM技术中, LPAR使用的virtual devices都是通过VIOS来实现,关于VIOS,会有专门的博文来讨论。

2. Active Memory Expansion(AME)

该特性只针对AIX分区,允许该分区扩展出分配给它的物理内存容量。同时支持虚拟I/O adapters和物理I/O adapters. 使用AME有几个前提条件:

Prerequisites

Active Memory Expansion requires the following prerequisites:

>POWER7 (or later) processor based server with Active Memory Expansion feature enabled

>HMC V7R7.1.0 or later

>AIX 6.1 Technology Level 6 or later

一个enable了AME特性的分区,其所能获得的最大物理地址取决于两点:

a. 分区被赋予的物理内存数量

b. 物理内存扩展因子

因此,对于一个拥有10GB物理内存的分区,如果扩展因子是1.5,那么该分区上的OS将会看到的物理内存为10GB * 1.5 = 15GB. AME实现的幕后原理是基于内存压缩技术。

相关推荐

zhushixia / 0评论 2020-06-04
wsong / 0评论 2020-04-15
hufanglei00 / 0评论 2011-08-06