IBM powerVM VIOS
引言
随着信息化技术不断发展,各个企业 IT 基础架构也在不断朝向虚拟化,大数据,云计算等精简,整合的趋势发展。虚拟化技术就显得尤为重要。今天要给大家介绍的是 Power 服务器虚拟化技术中的一小部分虚拟 IO 服务器,简称 VIOS。之后会图例说明虚拟 IO 服务器和 IBM i 互联的一些技术要点。
为了使大家更好的了解虚拟 IO 服务器,我们从虚拟 IO 服务器的底层概念 PowerVM 着手。PowerVM 的概念说的简单来讲就是 IBM Power 主机的虚拟化技术。通过这项虚拟化技术,能够使我们更灵活的创建 AIX,IBM i 及 Linux 应用环境,PowerVM 是介于操作系统和底层硬件之间的技术层,如(图 1)。
图 1. IBM Power 服务器虚拟化技术位置示意图
PowerVM 为 IBM Power 服务器和 blade 服务器提供工业化的虚拟化解决方案,并且 PowerVM 是一个庞大的家族,有诸多虚拟化技术,如 Hypervisor、微分区、动态内存共享、共享以太网适配器、动态分区迁移等等,如(图 2),用户可以根据自己的实际需求,选择性的使用这些技术用来服务于客户分区,PowerVM 有 3 大版本,精简版、标准版和企业版,不同版本的虚拟化功能也有很大差别,具体可参考文章结尾处文档。PowerVM 能够针对于客户分区来虚拟化 Power 主机的处理器、内存、存储及 I/O 资源,使我们的 Power 主机得以充分的利用,换言之,使我们的每一分钱都有其用武之地。
IBM Power 服务器的虚拟化技术组成及架构
图 2. IBM Power 服务器的虚拟化技术主要组成
虚拟 IO 服务器是 PowerVM 虚拟化技术的重要组成部分,既是一个软件应用,也是 Power 主机上的一个独立分区,虚拟 IO 服务器可以运行在虚拟化标准特征被激活的 Power5 或者 Power5 以后的任意型号的 Power 服务器上。虚拟 IO 服务器为其它一个或多个客户分区提供虚拟存储及网络资源。通过使用虚拟 IO 服务器,我们可以充分使用 Power 主机的资源,把除内存和 CPU 以外的所有资源分配给 VIOS 管理,然后根据客户分区不同需求,为其提供相应的网络及存储资源。当然,我们也可以借助虚拟 IO 服务器,为一些更复杂的 PowerVM 的虚拟化技术提供必要的技术支持,例如,活动分区迁移(LPM)以及 VMControl 实现的分区快速部署等。
既然虚拟 IO 服务器是一个独立的逻辑分区,它就会占用系统的资源,参考下面的表格,我们可以看到虚拟 IO 服务器所必须的最小的资源需求,参见表 1:
表 1. 虚拟 IO 服务器创建需求
资源 | 需求 |
---|---|
硬件管理控制器 (HMC) 或者集成虚拟化管理器 (IVM) | 对于创建客户分区和分配系统资源来讲,HMC 或者 IVM 是必须的 |
存储适配器 | 至少有一个存储适配器 |
物理硬盘 | 至少 30GB,可以共享 |
以太网适配器 | 想用 SEA,至少需要一个以太网适配器 |
内存 | 对于 Power7 的 base 来讲,至少需要 768M 内存 |
处理器 | 至少 0.05c 的处理器 |
我们通过一个实例说明创建虚拟 IO 服务器所需要的环境,处理器与内存资源。
表 2. 虚拟 IO 服务器创建例子
环境 | 处理器 | 内存 |
---|---|---|
简单环境 | 0.25c~0.5c 处理器 | 2GB |
复杂环境 | 1c~2c 处理器 | 4GB |
共享存储池的环境 | 至少 1c 处理器 | 4GB |
我们通过下面一张图(图 3)来了解一下虚拟 IO 服务器:
图 3. 虚拟 IO 服务器架构示意图
上面(图 3)中,有 4 个客户分区,一个虚拟 IO 服务器以及外部设备。
- 客户分区 1 部分:物理硬盘挂载于物理光纤适配器上,而物理光纤适配器是分配给虚拟 IO 服务器,由虚拟 IO 服务器进行管理,虚拟 IO 服务器建立虚拟 SCSI 通道与客户分区进行数据交互,客户分区 1 使用的硬盘也是虚拟 IO 服务器虚拟化后的硬盘。
- 客户分区 2 和 3 的部分:物理硬盘挂载于物理 SCSI 适配器上,而物理 SCSI 适配器同样是由虚拟 IO 服务器管理,对于客户分区 2,虚拟 IO 服务器为其提供了两个逻辑卷,体现在客户分区 2 中就是两块虚拟的硬盘;对于客户分区 3 的部分,虚拟 IO 服务器为其提供的是两个块文件,体现在客户分区 3 中同样是两块虚拟的硬盘。
- 客户分区 4 的部分:这部分是一个复杂的应用场景,物理磁带机挂载在物理 SCSI 适配器,物理硬盘挂载在物理光纤适配器,物理 SCSI 适配器和物理光纤适配器由虚拟 IO 服务器管理,在建立虚拟 SCSI 通道后与客户分区 4 进行数据互通,我们看到在客户分区 4 的部分中有虚拟 IO 服务器为其创建的虚拟磁带库,体现在客户分区中就是虚拟的磁带机,还有就是通过虚拟 SCSI 适配器挂载的实际的物理硬盘。
通过上面虚拟 IO 服务器架构示意图,我们可以看出,主机中的外设和硬盘都是挂载在物理 IO 适配器上,而相应的物理 IO 适配器都是分配给虚拟 IO 服务器统一管理,虚拟 IO 服务器通过虚拟化技术建立虚拟 SCSI 适配器,客户分区通过虚拟 SCSI 适配器与虚拟 IO 服务器进行数据交互。我们需要注意的是,对于虚拟 SCSI 适配器,服务器端一直配置在 VIOS,客户端一直配置在客户分区,这样,我们才能通过虚拟 IO 服务器对客户分区提供相应的服务,具体的配置细节,我会在下面的虚拟 IO 服务器和 IBM i 互联中做进一步阐述。
我们看到了虚拟 IO 服务器的多样化连接方式以及为客户分区提供不同类型的虚拟资源,那么虚拟 IO 服务器和传统的 I/O 结构有什么差异,他们之间的数据流向又是如何的呢?我们可以通过下面一张图(图 4)进行对比。左边一张是传统 I/O 结构图,硬盘和外设挂载到 I/O 适配器上,通过 I/O 处理器连接到系统总线并与 CPU 和内存进行数据交互。右边一张是虚拟 IO 服务器的结构图,硬盘挂载到物理 I/O 适配器后,由虚拟 IO 服务器统一管理,虚拟 IO 服务器将物理适配器虚拟化后,经由虚拟适配器通过虚拟 SCSI 的 Hpervisor 层连接到客户分区进行数据交互。
图 4. 传统架构与虚拟 IO 服务器架构对比图
了解并对比了数据流向,可以使我们更好的理解虚拟 IO 服务器的工作原理。通过对比,我们也可以看出,虚拟化结构更简洁,对资源的应用更充分。
虚拟 IO 服务器组件
下面让我们熟悉一下虚拟 IO 服务器的两个重要的组件共享以太网适配器(SEA)和集成虚拟化管理器(IVM)。
通常情况下,我们不会为每个逻辑分区配置单独的物理网卡,这样做只会既费钱又占空间,应用虚拟化的技术,我们会把实际的物理网卡分配给 VIOS,由 VIOS 把真实的物理网卡变成可以被各个客户分区共享的网络虚拟适配器 SEA,各个客户分区通过 SEA 与物理网卡交互用来访问外网,如下图(图 5):
图 5. 共享以太网适配器示意图
值得注意的是,和主机以太网适配器(HEA)一样,每个 SEA 最多支持 16 个客户分区与其就行物理访问。
下面我们介绍一下 VIOS 的另外一个重要组件,集成虚拟化管理器(IVM)。对于 Power 主机的硬件管理,通常我们会选择 HMC(硬件管理控制器),既方便又快捷,只是 HMC 是一个独立的硬件设备,需要计算成本。针对于企业简单的 IT 架构,IBM 推出了单台主机的管理方式,集成虚拟化管理器,IVM 是封装在 VIOS 内部的,一起被打包的应用软件,并在满足具有虚拟化特征,没有被 HMC 管理和具有默认的工厂配置等三个条件时,被激活。在 IVM 启用之后,可以完成诸如:分区创建,管理虚拟存储器和虚拟以太网等相应操作,可以视同于一个小型的 HMC(硬件管理控制器),当然,它与 HMC 主要区别是 HMC 可以同时管理多台 Power 主机,而 IVM 只能管理一台物理主机,下图是 IVM 的示意图(图 6)。
图 6. 集成虚拟化管理器示意图
虚拟 IO 服务器技术支持
虚拟 IO 服务器是针对 IO 的虚拟化服务器,一些高级别的虚拟化技术,都需要借助底层的数据交互为其提供支持,
下面简单介绍一下 VIOS 支持的虚拟化技术动态内存共享(AMS)。如图(图 7):
图 7. 动态内存共享示意图
从系统中单独划分出一部分物理内存做成内存池交由 Hypervisor 管理,不同的动态内存共享的客户分区共享池中内存,
分区定义的单个逻辑内存量不能超过内存池的大小,但逻辑内存总量可以超出内存池大小,当客户分区出现内存过量使用的情况下,Hypervisor 会将内存分成两个部分,一部分
放在内存池中,另外一部分放到由虚拟 IO 服务器管理的分页设备中,这就是动态内存共享的工作原理。
当我们的业务发展超出之前的规划时,短期解决内存不足的优良方案。
虚拟 IO 服务器和 IBM i
了解了虚拟 IO 服务器相应的概念,组成以及所能支持的高级别的虚拟化技术后,我们简单看一下虚拟 IO 服务器和 IBM i 分区之间的互联。当我们在 HMC 中建立分区的概要文件的时候,也就为逻辑分区和虚拟 IO 服务器之间的联系建立了第一步。如下图(图 8)所示:
图 8. 虚拟 IO 服务器和 IBM i 分区中配置文件的关系示意图
我们在建立 IBM i 逻辑分区概要文件的时候,虚拟 SCSI 选项中的虚拟适配器选项应为客户机,相应的虚拟 IO 服务器的虚拟适配器选项为服务器,IBM i 逻辑分区和虚拟 IO 服务器使用的虚拟适配器应为同一虚拟适配器,只是服务器端在虚拟 IO 服务器,
客户端在 IBM i 分区。虚拟 SCSI 配置完成后,指定 IBM i 分区加载初始程序的位置,如图(图 9):
图 9. IBM i 分区启动载入源示意图
IBM i 分区概要文件创建完成后,我们需要在虚拟 IO 服务器上为我们的 IBM i 逻辑分区分配相应的虚拟硬盘以及网络资源。
如果出于性能的考虑,IBM i 分区也可以使用 Power 主机的逻辑主机以太网适配器(LHEA)的端口用于网络应用,使用独立的物理硬盘作为存储的应用。
结束语
使用虚拟 IO 服务器可以充分利用系统中的资源,针对 IO 的操作更加方便和快捷。逻辑分区与虚拟 IO 服务器之间服务关系更加明朗。
随着虚拟化技术的不断发展,也会有越来越多的外部设备可以被兼容并应用到逻辑分区之中,使逻辑分区更加丰富多彩。
转自:http://www.kankanews.com/ICkengine/archives/52117.shtml