沈 林峰 (shenlinf@cn.ibm.com), 软件工程师, IBM
郭 晋兵 (guojb@cn.ibm.com), 软件工程师, IBM 2008 年 8 月 14 日
动态分区迁移是基于 POWER6 的 IBM System p 服务器的一个新特性,该特性能够将运行中的逻辑分区从一台服务器迁移到另外一台,并且不影响用户的使用。集成虚拟化管理器(IVM)是除 HMC 外管理 IBM System p 服务器的另外一种方式,运行在 POWER6 上的 IVM 也支持动态分区迁移,不过在使用方式上和 HMC 上的分区迁移存在较大差别。本文主要介绍了如何在 IVM 上进行动态分区迁移,以及 IVM 和 HMC 上动态分区迁移的不同之处。 HMC(Hardware Management Console)是大家熟知的硬件管理控制台,系统管理员可以通过 HMC 进行逻辑分区创建,编辑,删除以及分区状态的控制等操作。在 POWER6 出现以后,IBM System p 服务器提供了一个新的虚拟特性— 动态分区迁移,利用该特性,用户能够将运行中的逻辑分区从一台服务器迁移到另外一台,并且不影响用户的使用。基于 HMC 的动态分区迁移在本文的参考资料中有详细的描述,用户可以通过这些资料来掌握 HMC 上的动态分区迁移操作。
IVM(Integrated Virtualization Manager)—集成虚拟化管理器是 IBM System p 上管理服务器的另一种方式,也支持动态分区迁移。因为该方式和 HMC 存在较大差别,因此动态分区迁移在这两种方式下也不尽相同。那么如何在 IVM 上进行动态分区迁移,两个平台上的分区迁移操作又有何不同呢?本文将逐一解答这些问题。
为了更好的阅读本文,要求读者对 IVM 的基本原理和操作界面有一个初步的认识,同时了解动态分区迁移的基本原理并熟悉 HMC 上动态分区迁移的配置和操作。读者可以通过阅读本文所提供的参考资料了解或熟悉这些方面的相关知识。如果读者有 IVM 和动态分区迁移的配置和使用经验,则能更进一步理解和掌握本文所描述的内容。 什么是集成虚拟化管理器
说到 IBM System p 的硬件管理控制台,大家熟知的还是 HMC。通过 HMC,可以管理多台 System p 服务器,对它们进行分区管理,动态资源调节以及动态分区迁移等操作。HMC 尽管简化了对 System p 服务器的管理,但是还是存在一些缺点。首先,虽然 HMC 为管理从低端到高端各种类型的 System p 服务器提供了一套全面的解决方案,但是在一些简单的 IT 环境(比如仅有一台低端服务器并且只需要简单的分区配置)中并不需要这么复杂的功能,一个能最大限度的支持快速部署和简化管理的方案更加适用于这种环境。其次,为了对一台低端服务器进行分区管理而购买一台价格并不算太便宜的 HMC 显得不是太划算。还有,HMC 不能管理基于 POWER 或 PowerPC 芯片的 IBM 刀片服务器。
IVM 解决了上述问题,它是一个简化版的 HMC,继承了大部分 HMC 功能。IVM 是 VIOS(Virutal I/O Server)的一个组成部分,VIOS 从 v1.2 开始支持 IVM,带有 IVM 功能的 VIOS 是 HMC 和 VIOS 的一个集合体(如图 1 所示)。一个 IVM 只能管理一台服务器,基于 Web 的 GUI 操作界面简化了服务器管理,尤其是虚拟 I/O 资源的管理。由于功能受限,通常 IVM 用于中低端服务器。
图 1:集成虚拟化管理器
要激活 IVM 功能,VIOS 必须安装在出厂设置(Manufacturing Default Configuration)的服务器上(包括刀片服务器),该服务器不被 HMC 所管理。当 VIOS 作为第一个操作系统被安装在出厂设置的服务器上后,它接管了该服务器上所有的 I/O 资源,并激活 IVM 功能,系统管理员可以通过浏览器连接到 IVM 上进行虚拟 I/O 资源的划分,分配和删除,以及逻辑分区管理等操作。
在使用 HMC 管理服务器时,HMC 通过网络与 POWER5 或 POWER6 服务器上的 FSP(Flexible Service Processor)进行通信,进而跟 POWER Hypervisor 一起协作进行服务器管理。而 IVM 则通过一个特殊的虚拟设备 VMC(Virtual Management Channel)与 POWER Hypervisor 进行通信,VMC 和 Hypervisor 之间不需要任何网络连接。通过 VMC,IVM 能够进行逻辑分区配置,控制并显示分区状态,管理虚拟网络和存储资源等操作(如图 1 所示)。因为 IVM 依赖于 VMC 这种虚拟设备进行分区管理,因此一个 IVM 只管理一台服务器。只有 IVM 才有 VMC 这种虚拟设备,HMC 管理下的普通 VIOS 不存在该设备(见清单 1)。
虽然 IVM 只是 VIOS 的一个组成部分,但是通常用户在使用 IVM 这个名词时,也指带有 IVM 功能的 VIOS。读者可以通过上下文来区分 IVM 在不同情况下的具体含义。 清单 1:虚拟设备 VMC 在具有 IVM 功能的 VIOS 上: $ lsdev -virtual | grep vmc ibmvmc0 Available Virtual Management Channel $ 在 HMC 管理的普通 VIOS 上: $ lsdev -virtual | grep vmc 实验环境
本文将通过图 2 所示的实验环境来说明如何利用 IVM 进行动态分区迁移。在 HMC 和 IVM 上进行动态分区迁移所需的系统配置大致相同,主要不同在于前者要求两个服务器连接在同一台 HMC 上,并通过 HMC 协调进行分区迁移,而后者则要求两台服务器分别由各自的 IVM 进行管理,分区迁移由两个 IVM 协调进行。
图 2:实验环境
该实验环境包含两个刀片服务器 uli13 和 uli14,网络和 SAN(Storage Area Network)。每个刀片服务器各安装一个 VIOS,由 IVM 进行管理。两个 VIOS 通过 SAN 共享存储子系统中的 LUN(Logical Unit Number),在 uli13 上通过 IVM 分配给两个逻辑分区 uli13lp1 和 uli13lp2。两个刀片服务器连接到同一个以太网中,uli13lp1 和 uli13lp2 通过 IVM 所提供的 VLAN(虚拟局域网)也连接到该网络。IVM 所在的 VIOS 的 MSP(Mover Service Partition)属性是默认打开的,没有任何选项用于打开或者取消 MSP 属性;这与 HMC 上的动态分区迁移不同,后者必须激活 VIOS 的 MSP 属性才能进行分区迁移。
在 IVM 上进行动态分区迁移
分区迁移前
图 3 和图 4 分别显示了分区迁移前源系统 uli13 和目标系统 uli14 上分区的状态,清单 2 和清单 3 则分别显示了迁移前两个系统上虚拟磁盘的映射情况。分区 uli13 是 VIOS,是系统 uli13 上 IVM 的宿主分区;uli13lp1 是其中的一个分区,处于运行状态,占用了 0.1 个处理器单元,1GB 内存和 5 个 SAN 磁盘 hdisk2/5/6/7/8,VIOS 使用虚拟设备 vhost0 和 vtscsi0/1/2/3/4 进行虚拟磁盘映射;uli13lp2 是另一个分区,处于关闭状态,占用了 0.1 个处理器单元,1GB 内存和 5 个 SAN 磁盘 hdisk1/9/10/11/12,VIOS 使用虚拟设备 vhost1 和 vtscsi5/6/7/8/9 进行虚拟磁盘映射。分区 uli14 也是 VIOS,是系统 uli14 上 IVM 的宿主分区;uli14 上没有其他分区,剩余的 1.8 个处理器单元和 2.69GB 内存能够满足迁移 uli13lp1 和 uli13lp2 所需的资源需求。服务器 uli13 和 uli14 上各有 13 个 SAN 磁盘,同名的磁盘被映射到 SAN 存储子系统中相同的 LUN。
由于 uli13lp1 处于运行状态,因此对它所做的分区迁移属于活动迁移;而 uli13lp2 处于关闭状态,因此分区迁移则属于非活动迁移。与 HMC 上的分区迁移类似,在 IVM 上活动迁移和非活动迁移的操作过程是一样的,IVM 根据分区的状态自动选择相应的迁移方式。本文以 uli13lp1 为例,讲解 IVM 上分区迁移的操作过程。
图 3:迁移前的 uli13
清单 2:迁移前 uli13 上的虚拟磁盘映射 $ lsdev | grep MPIO
hdisk0 Available MPIO Other FC SCSI Disk Drive hdisk1 Available MPIO Other FC SCSI Disk Drive hdisk2 Available MPIO Other FC SCSI Disk Drive hdisk3 Available MPIO Other FC SCSI Disk Drive hdisk4 Available MPIO Other FC SCSI Disk Drive hdisk5 Available MPIO Other FC SCSI Disk Drive hdisk6 Available MPIO Other FC SCSI Disk Drive hdisk7 Available MPIO Other FC SCSI Disk Drive hdisk8 Available MPIO Other FC SCSI Disk Drive hdisk9 Available MPIO Other FC SCSI Disk Drive hdisk10 Available MPIO Other FC SCSI Disk Drive hdisk11 Available MPIO Other FC SCSI Disk Drive hdisk12 Available MPIO Other FC SCSI Disk Drive $ lsdev -virtual | grep -E \vhost0 Available Virtual SCSI Server Adapter vhost1 Available Virtual SCSI Server Adapter vtscsi0 Available Virtual Target Device - Disk vtscsi1 Available Virtual Target Device - Disk vtscsi2 Available Virtual Target Device - Disk vtscsi3 Available Virtual Target Device - Disk vtscsi4 Available Virtual Target Device - Disk vtscsi5 Available Virtual Target Device - Disk vtscsi6 Available Virtual Target Device - Disk vtscsi7 Available Virtual Target Device - Disk vtscsi8 Available Virtual Target Device - Disk vtscsi9 Available Virtual Target Device - Disk
$ lsmap -all
SVSA Physloc Client Partition ID --------------- -------------------------------------------- ------------------ vhost0 U7998.61X.100390A-V1-C11 0x00000001
VTD vtscsi0
Status Available
LUN 0x8100000000000000 Backing device hdisk2
Physloc U78A5.001.WIH0402-P1-C6-T1-W5005076303030053-L4011400400000000
VTD vtscsi1
Status Available
LUN 0x8200000000000000
Backing device hdisk5
Physloc U78A5.001.WIH0402-P1-C6-T1-W5005076303030053-L4011400700000000
VTD vtscsi2
Status Available LUN 0x8300000000000000 Backing device hdisk6
Physloc U78A5.001.WIH0402-P1-C6-T1-W5005076303030053-L4011400800000000
VTD vtscsi3
Status Available LUN 0x8400000000000000
Backing device hdisk7
Physloc U78A5.001.WIH0402-P1-C6-T1-W5005076303030053-L4011400900000000
VTD vtscsi4
Status Available
LUN 0x8500000000000000
Backing device hdisk8
Physloc U78A5.001.WIH0402-P1-C6-T1-W5005076303030053-L4011400A00000000
SVSA Physloc Client Partition ID --------------- -------------------------------------------- ------------------ vhost1 U7998.61X.100390A-V1-C13 0x00000000
VTD vtscsi5
Status Available
LUN 0x8100000000000000 Backing device hdisk1
Physloc U78A5.001.WIH0402-P1-C6-T1-W5005076303030053-L4011400300000000