关于微分区技术另一点要提一下的是,该技术从POWER5及以后的处理器才能支持,所涵盖的服务器包括入门级产品到高端产品。
以上都是从处理器虚拟化角度讨论的分区,不涉及memory和IO设备。事实上,微分区只是从处理器角度来界定的概念,因此对于一个微分区而言,它既可以
使用shared memory也可以使用dedicated memory,对于IO设备也一样,比如一个微分区既可以拥有dedicated
network and storage resources using dedicated physical
adapters,也可以使用virtual Ethernet, virtual SCSI和virtual Fibre Channel.
为了加强对系统物理内存使用的灵活性和整体使用率,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实现的幕后原理是基于内存压缩技术。