Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1567010
  • 博文数量: 77
  • 博客积分: 1205
  • 博客等级: 少尉
  • 技术积分: 4476
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-22 21:48
文章分类
文章存档

2018年(1)

2017年(1)

2015年(1)

2014年(18)

2013年(12)

2012年(44)

分类: 系统运维

2012-07-16 09:43:41



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.


为了加强对系统物理内存使用的灵活性和整体使用率,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实现的幕后原理是基于内存压缩技术。

阅读(6846) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~