【转】IBM PowerVM虚拟化技术笔记

简介

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的问题。

<PART 1. CPU 虚拟化>

IBM AIX V7.1 操作系统是在为 IBM Power Systems
服务器提供综合企业级支持的技术基础上构建的。AIX
的工业级特性和功能已经在各种计算环境中经受了考验,从只有一两个处理器的小型系统直到有
64 个处理器的大型系统。AIX V7.1 支持基于 IBM PowerPC 970™、IBM
POWER4™、IBM POWER5™、IBM POWER6™ 和 IBM POWER7™ 处理器的 IBM
系统,提供以下特性:

关于微分区技术另一点要提一下的是,该技术从POWER5及以后的处理器才能支持,所涵盖的服务器包括入门级产品到高端产品。
以上都是从处理器虚拟化角度讨论的分区,不涉及memory和IO设备。事实上,微分区只是从处理器角度来界定的概念,因此对于一个微分区而言,它既可以
使用shared memory也可以使用dedicated
memory,对于IO设备也一样,比如一个微分区既可以拥有dedicated network and
storage resources using dedicated physical adapters,也可以使用virtual
Ethernet, virtual SCSI和virtual Fibre Channel.

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

工作负载分区 (WPAR) — 基于软件的虚拟化
Live Application Mobility (LAM) 和 IBM Workload Partitions Manager for
AIX
64 位内核,提供更好的可伸缩性和性能
动态逻辑分区和 IBM Micro-Partitioning™ 支持
自动负载平衡
在线添加或移除处理器、内存和 I/O 资源
支持专用和共享处理器 LPAR 组
Trusted AIX:多层划分的安全性
集成的 Role Based Access Control
对增强型日志文件系统 (JFS2) 进行加密
利用 IBM POWER7 的存储密钥以及增强的保护和可靠性
并发的 AIX 内核更新,可以减少计划内停机
用 ProbeVue 实现动态跟踪
为符合 Open Group SUSv4 标准而设计
健壮的日志文件系统和 Logical Volume Manager (LVM)
软件,包括集成的文件系统快照
用于管理系统环境的工具 — SMIT 和 IBM Systems Director Console for AIX
本文概述 AIX 7.1 中的每个新特性和新功能。可以查阅 AIX 7.1
特性列表PDF,45KB);此列表还包含 AIX 6.1 Technology Level 6100-06 (TL6)
的特性和功能,包括两个版本之间的操作性差异。

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

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.

基本操作系统:虚拟化

  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实现的幕后原理是基于内存压缩技术。

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

AIX 5.2 Workload Partitions for AIX 7

 

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

您有仍然在 AIX 5.2 上运行的工作负载吗?AIX 5.2 Workload Partitions for
AIX 7 是在 AIX 7.1 for POWER7 服务器上支持的一个新产品。AIX 7
允许创建一种特殊的 WPAR,为 WPAR 中运行的工作负载提供 AIX V5.2 TL10 SP8
运行时环境。要想把在老式硬件上运行的 AIX V5.2 工作负载简便地迁移到
POWER7 硬件上,只需创建 AIX V5.2 系统的 mksysb 映像。然后,在 POWER7
硬件上运行的 AIX V7.1 上创建 WPAR 时提供这个映像。另外,LAM 还支持在运行
AIX V7.1 的 POWER7 系统之间转移 AIX V5.2 WPAR。LAM 要求购买 IBM PowerVM™
Workload Partitions Manager for AIX 或 AIX V7 Enterprise
Edition此版本包含 IBM PowerVM Workload Partitions Manager for AIX)。

本文转自:

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

支持向 WPAR 导出光纤通道适配器

<Part 2. Memory virtualization>

AIX V7.1 支持向 WPAR
导出虚拟光纤通道适配器。适配器按照与存储设备相同的方式导出到 WPAR。当
WPAR 启动时,在 WPAR 中发现并配置所有子设备,这有几个好处。可以直接把
SAN 设备供应给 WPAR N-port,不需要先供应给全局分区,再导出到
WPAR。可以在 WPAR 内进行多路径管理。在这种配置中,在 WPAR 中还支持使用
atape 驱动程序的光纤通道磁带系统。

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