分享

在 IBM 集成虚拟化管理器上进行动态分区迁移

 wghbeyond 2012-03-17
动态分区迁移是基于 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 "vhost|vtscsi"
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

VTD vtscsi6
Status Available
LUN 0x8200000000000000
Backing device hdisk9
Physloc U78A5.001.WIH0402-P1-C6-T1-W5005076303030053-L4011400B00000000

VTD vtscsi7
Status Available
LUN 0x8300000000000000
Backing device hdisk10
Physloc U78A5.001.WIH0402-P1-C6-T1-W5005076303030053-L4011400C00000000

VTD vtscsi8
Status Available
LUN 0x8400000000000000
Backing device hdisk11
Physloc U78A5.001.WIH0402-P1-C6-T1-W5005076303030053-L4011400D00000000

VTD vtscsi9
Status Available
LUN 0x8500000000000000
Backing device hdisk12
Physloc U78A5.001.WIH0402-P1-C6-T1-W5005076303030053-L4011400E00000000

$



图 4:迁移前的 uli14

清单 3:迁移前 uli14 上的虚拟磁盘映射

$ 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 "vhost|vtscsi"
$ lsmap -all
$


迁移的验证

IVM 在任务列表(如图 5 所示)里面为分区迁移新增了“迁移性”这一个类别,包括“迁移”和“状态”两个选项。使用“迁移“选项,可以验证和发起分区迁移。使用“状态”选项,可以随时查看分区迁移的状态,这样当分区迁移开始后,系统管理员就可以继续其他操作,而不需要等待迁移的完成。


图 5:IVM 任务列表

在使用“迁移”选项前,必须先选择要迁移的分区,而且每次只能选择一个分区。每个分区都是可选的,包括 VIOS uli13 在内,虽然迁移 VIOS 是不恰当的。如果选择了 VIOS,那么 IVM 在验证分区迁移的时候就会报错,从而避免了不恰当的迁移请求。因为对于被选择的分区,管理员可以从任务列表选择多种不同的操作,因此 IVM 无法预先知道是否要进行分区迁移,所以不可能在分区列表里面禁止选择 VIOS 的操作,而是在选择“迁移”功能之后才进行判断。这里我们选择迁移的是 uli13lp1(如图 5 所示),在任务列表里面选择了“迁移”选项后,用户看到的是一个验证和迁移页面(如图 6 所示),其中包含几个字段和按钮。


图 6:验证和迁移页面

字段包括远程 IVM 的主机名(注意,不是目标系统的名称)或 IP 地址,以及登陆该远程系统所需的用户名和密码。有趣的是,远程 IVM 字段还标明了“HMC”字样,这可能意味着将来即使在 HMC 上进行动态分区迁移也不要求两台服务器必须由同一台 HMC 来管理,这样一来,由不同 HMC 管理的服务器之间,以及由 HMC 和 IVM 所管理的服务器之间也可以进行分区迁移,从而增加了分区迁移的灵活性。不过目前的动态分区迁移还不支持这一功能。

按钮用于验证分区迁移和开始分区迁移。HMC 也为分区迁移提供了验证和迁移两个功能,系统管理员可以选择先做验证,然后再开始分区迁移,也可以不使用验证功能,而直接开始分区迁移。由于分区迁移向导其中的一个环节就是进行自动验证,因此无论管理员采用什么方式,HMC 总能保证在迁移开始之前进行验证,尽早发现并提示管理员修复问题,提高分区迁移的效率。相比于 HMC,在 IVM 上进行验证和迁移所需的操作被大大简化了,用户只需要点击“验证”和“迁移”按钮就可以进行分区迁移的验证和开始分区迁移。IVM 上的分区迁移在开始阶段也同样包含了对迁移的验证,如果验证失败了,IVM 停止分区迁移,并报告错误信息。虽然分区迁移会自动进行验证,因此用户可以不用经过验证而直接开始分区迁移,但是还是建议用户在开始迁移之前事先进行验证。

填写完上述字段后,按下“验证”按钮就开始了分区迁移的验证。在验证过程中,IVM 显示一个等待对话框(如图 7 所示),过一小段时间后,验证完成,IVM 显示验证结果。如果验证没有发现问题,那么 IVM 显示“操作已经成功完成”(如图 8 所示);如果发现错误,管理员可以通过 IVM 所显示的错误信息去修复问题,然后再次进行验证。


图 7:分区迁移的验证


图 8:验证结果

开始分区迁移

验证成功后,按下“迁移”按钮就开始进行分区迁移了(如图 9 所示)。分区迁移所需的时间长短视分区物理内存大小,以及系统所承受的压力等因素而定。对分区 uli13lp1 进行的迁移是活动迁移,因此所用的时间通常比 uli13lp2 上的非活动迁移来得长。图 9 所显示的是 uli13lp1 的迁移状态,用户可以通过该页面监视迁移的进度。该页面还提供了“停止”和“恢复”两个按钮,通过前者,可以取消当前正在进行的分区迁移,通过后者,可以在迁移出现问题后回退迁移过程,修复问题,使系统恢复到正常状态。


图 9:分区迁移的状态

在分区迁移的过程中,系统管理员不必一直监视着迁移状态,可以在 IVM 上继续其他方面的系统维护工作。图 10 和图 11 分别显示的是 uli13 和 uli14 上 IVM“查看 / 修改分区”页面的内容,可以看到 IVM 正在迁移 uli13lp1,状态栏显示“迁移- 正在运行”,迁移过程在 uli14 创建了新的分区 uli13lp1,使用了相同数量的 CPU 和内存资源。这两幅图是迁移开始时的截图,这时候源系统 uli13 上 uli13lp1 分区的运行时状态还没有被完全迁移到目标系统 uli14,迁移过程还没有停止源分区的运行并激活目标分区,因此在 uli13 上仍旧可以看到 uli13lp1 正常运行时的参考码“Linux ppc64”,而在 uli14 上,uli13lp1 则显示了一个迁移中的中间参考码。类似的,源分区显示了 13.47 天“正常运行时间”和 0.03 个“利用的处理器单元数”,而目标分区因为还没有开始运行,因此不显示这些信息。


图 10:迁移中的 uli13


图 11:迁移中的 uli14

分区迁移后

当分区迁移成功后,我们可以在 uli13 和 uli14 上分别看到如图 12 和图 13 所示的分区状态。在源系统 uli13 上,迁移过程停止并删除了 uli13lp1,因此该分区不复存在,只剩下 VIOS 和分区 uli13lp2。在目标系统 uli14 上,迁移过程创建并激活了 uli13lp1,因此可以看到该分区正在运行中:首先分区状态由“迁移- 正在进行”变成了“正在运行”,其次参考码也从不断变化的中间值变成“Linux ppc64”,最后正常运行时间和利用的处理器单元数也显示出来了。这表明 uli13lp1 已经从源系统 uli13 成功的迁移到目标系统 uli14 上了。

再看看虚拟磁盘的映射情况。在 uli13 上,uli13lp2 的虚拟磁盘映射仍然存在,而 uli13lp1 的虚拟磁盘映射则被解除掉了,甚至它所占用的虚拟设备 vhost0 和 vtscsi0/1/2/3/4 也被删除掉了(见清单 4)。在 uli14 上则增加了 uli13lp1 的虚拟磁盘映射,5 个 SAN 磁盘 hdisk2/5/6/7/8 被映射给了该分区,显然这与原来的磁盘映射关系是相同的,同时虚拟设备 vhost0 和 vtscsi0/1/2/3/4 也被创建并用于虚拟磁盘映射(见清单 5)。通过对比清单 5 和清单 2,我们可以发现两个系统上映射给 uli13lp1 的 SAN 磁盘都是一样的,甚至虚拟设备的名称也都是一样的。不过虚拟设备的名称并不要求必须是一样的,这要看迁移前目标系统上虚拟设备资源的使用情况,如果源系统上所使用的虚拟设备名称在目标系统上已经被占用了,那么分区迁移时只能使用其他的设备名称,只要保证磁盘映射关系相同就可以了。在本文所举的例子中,由于 uli14 在迁移前除了 VIOS 外没有其他分区,uli13lp1 在 uli13 上所占用的虚拟设备名称在 uli14 上并没有被使用,因此迁移过程在目标系统上创建的虚拟设备也使用了相同的名称。


图 12:迁移后的 uli13

清单 4:迁移后 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 "vhost|vtscsi"
vhost1 Available Virtual SCSI Server Adapter
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
--------------- -------------------------------------------- ------------------
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

VTD vtscsi6
Status Available
LUN 0x8200000000000000
Backing device hdisk9
Physloc U78A5.001.WIH0402-P1-C6-T1-W5005076303030053-L4011400B00000000

VTD vtscsi7
Status Available
LUN 0x8300000000000000
Backing device hdisk10
Physloc U78A5.001.WIH0402-P1-C6-T1-W5005076303030053-L4011400C00000000

VTD vtscsi8
Status Available
LUN 0x8400000000000000
Backing device hdisk11
Physloc U78A5.001.WIH0402-P1-C6-T1-W5005076303030053-L4011400D00000000

VTD vtscsi9
Status Available
LUN 0x8500000000000000
Backing device hdisk12
Physloc U78A5.001.WIH0402-P1-C6-T1-W5005076303030053-L4011400E00000000

$



图 13:迁移后的 uli14

清单 5:迁移后 uli14 上的虚拟磁盘映射

$ 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 "vhost|vtscsi"
vhost0 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
$ lsmap -all
SVSA Physloc Client Partition ID
--------------- -------------------------------------------- ------------------
vhost0 U7998.60X.100E7DA-V1-C11 0x00000001

VTD vtscsi0
Status Available
LUN 0x8100000000000000
Backing device hdisk2
Physloc U78A5.001.WIH1106-P1-C10-T1-W5005076303030053-L4011400400000000

VTD vtscsi1
Status Available
LUN 0x8200000000000000
Backing device hdisk5
Physloc U78A5.001.WIH1106-P1-C10-T1-W5005076303030053-L4011400700000000

VTD vtscsi2
Status Available
LUN 0x8300000000000000
Backing device hdisk6
Physloc U78A5.001.WIH1106-P1-C10-T1-W5005076303030053-L4011400800000000

VTD vtscsi3
Status Available
LUN 0x8400000000000000
Backing device hdisk7
Physloc U78A5.001.WIH1106-P1-C10-T1-W5005076303030053-L4011400900000000

VTD vtscsi4
Status Available
LUN 0x8500000000000000
Backing device hdisk8
Physloc U78A5.001.WIH1106-P1-C10-T1-W5005076303030053-L4011400A00000000

$


查看迁移状态

上面说到系统管理员可以在分区迁移开始后在 IVM 上继续其他方面的系统管理工作,而不需要一直监视着分区迁移的状态。那么通过什么途径能够再次查看分区迁移的状态呢?

第一种方法是使用任务列表中“状态”选项(如图 14 所示)。在源系统的 IVM 上选择了该功能后,用户就可以再次看到分区迁移的状态页面了(如图 15 所示),通过该页面用户可以监视,停止或者恢复分区迁移。


图 14:IVM 任务列表


图 15:分区迁移的状态

另外一种方法是使用“服务管理”中的“监视任务”功能(如图 16 左部所示)。在源系统上选择了该功能后,IVM 会在窗口的右部显示所有任务的一个列表,其中包括分区迁移任务(如图 16 右部所示)。每个分区迁移任务只对应列表中的一项,迁移状态被持续的更新到该项中,因此每次看到的都是最新的状态。选择其中某个分区迁移任务,点击“属性”按钮,就可以看到当前分区迁移的状态(如图 16 右下角窗口所示)。图 16 所示的是 uli13lp1 迁移成功后的状态,如果在迁移过程中查看该项,则可以看到迁移的进度。


图 16:分区迁移的状态







命令行界面

除了上述 GUI 界面可用于分区迁移外,IVM 还提供了命令行界面(CLI)。GUI 界面使得系统管理员能够更加直观方便的进行分区迁移操作,而命令行界面则对于有计划的分区迁移和自动测试特别有用。

与 HMC 一样,IVM 也提供了 migrlpar 和 lslparmigr 两个新命令用于分区迁移。命令 migrlpar 用于检查,开始,停止分区迁移并从错误中恢复;命令 lslparmigr 用于查看分区迁移的状态。不过与 HMC 相比,IVM 提供的命令在语法上稍有不同。从清单 6 和清单 7 可以看出,IVM 命令行主要增加了 --ip <target HMC/IVM IP address>,-u <target HMC/IVM username> 和 --async 三个选项。

清单 6:IVM 上分区迁移命令的语法

 migrlpar [-o s | m | r | v -m <managed system> [-t <managed system>] [-
 -ip <target HMC/IVM IP address> [-u <target HMC/IVM username>]] -p
 <partition name> |--id <partition ID>[-n <profile name>][-f <input
 data file> | -i "input data>"] [-w <wait time>] [-d <detail level>] [-
 -async] [-v] [--force] [--stderr] [--help]

 lslparmigr -r manager | lpar | msp | procpool | sys | virtualio [-m
 <managed system] [-t <managed system>] [--ip <target HMC/IVM IP
 address> [-u <target HMC/IVM username>]] [--filter "<filter data>"] [-F
 [<attribute names>]] [--header] [--stderr] [--help]


清单 7:HMC 上分区迁移命令的语法

 migrlpar -o {m | r | s | v}
 -m managed-system [-t target-managed-system]
 {-p partition-name | --id partition-ID} [-n profile-name]
 [{-f input-data-file | -i "input-data"}]
 [-w wait-time] [-d detail-level] [-v] [--force]
 [--help]

 lslparmigr -r {lpar | msp | procpool | sys | virtualio}
 -m managed-system [-t target-managed-system]
 [--filter "filter-data"]
 [-F [attribute-names] [--header]] [--help]

选项 --ip 用于指明目标 HMC/IVM 的主机名或者 IP 地址,该选项与 -t <managed system> 选项比较容易引起混淆,因为系统管理员很可能将 IVM 的主机名与整个系统的名称设置成一样,用户需要注意不要把两者混为一谈。在本文的例子中,目标 IVM(或者说目标 IVM 的宿主 VIOS)的主机名是 uli14,可以通过 hostname 来查看(见清单 8);而刀片服务器 uli14 的系统名称是 Server-7998-60X-SN100E7DA,可以通过 lssyscfg(见清单 8)或者 IVM GUI 界面“查看 / 修改系统属性”的“系统名称”字段(如图 17 所示)来查看。

清单 8:uli14 的主机名和系统名称

$ hostname
uli14
$ lssyscfg -r sys -F name
Server-7998-60X-SN100E7DA
$



图 17:uli14 的系统名称

选项 -u 用于指明登陆目标 HMC/IVM 所需的用户名。如果分区迁移命令需要用户名但是用户没有提供 -u 选项,那么迁移过程会自动使用执行该命令的用户名。

如果使用了 --async 选项,那么命令 migrlpar 在迁移过程中完成迁移的验证后就马上返回,迁移过程继续进行,这样系统管理员就不需要等待整个迁移过程的完成,可以进行其他操作。如果系统管理员在做完其他操作后想查看分区迁移的状态,可以使用 lslparmigr 命令(见表单 9)。当迁移过程还在继续进行,那么 lslparmigr 显示“Migration Starting”状态;如果迁移已经完成,那么 lslparmigr 显示“Not Migrating”状态。

清单 9:用命令行进行分区迁移

用 migrlpar 进行分区迁移,使用 --async 选项
$ hostname
uli13
$ lssyscfg -r sys -F name
Server-7998-61X-SN100390A 
$ migrlpar -o m -m Server-7998-61X-SN100390A -t Server-7998-60X-SN100E7DA --ip uli14 
 -u padmin -p uli13lp1 --async
$

使用 --async 选项的 migrlpar 返回后迁移继续进行,可以使用 lslparmigr 查看迁移状态
$ lslparmigr -r lpar -m Server-7998-61X-SN100390A --filter "lpar_names=uli13lp1"
name=uli13lp1,lpar_id=2,migration_state=Migration 
Starting,migration_type=active,dest_sys_name=Server-7998-60X-SN100E7DA,dest_lpar_id=2,
source_msp_name=uli13,source_msp_id=1,dest_msp_name=uli14,dest_msp_id=1,
bytes_transmitted=2366013,bytes_remaining=1090875392,remote_manager=uli14,
remote_user=padmin
$

等待一段时间,分区迁移完成,再使用 lslparmigr 查看迁移状态
$ lslparmigr -r lpar -m Server-7998-61X-SN100390A --filter "lpar_names=uli13lp1"
name=uli13lp1,lpar_id=2,migration_state=Not Migrating
$

用 migrlpar 进行分区迁移,不使用 --async 选项,命令返回后马上用 lslparmigr 查看迁移状态
$ migrlpar -o m -m Server-7998-61X-SN100390A -t Server-7998-60X-SN100E7DA --ip uli14 
-u padmin -p uli13lp1 -w 5
$ lslparmigr -r lpar -m Server-7998-61X-SN100390A --filter "lpar_names=uli13lp1"
name=uli13lp1,lpar_id=2,migration_state=Not Migrating
$








IVM 和 HMC 上分区迁移的比较

从上述讨论中我们可以看到,相对于 HMC,IVM 上的动态分区迁移相对简化,这与 IVM 的设计原则是一致的。IVM 和 HMC 上的分区迁移所需的配置基本相同,比如对 System p 平台,Firmware 和 VIOS 版本,网络和外部存储的配置,RMC(Resource Monitoring and Control)daemon,以及被迁移分区所运行的操作系统版本的要求是相同的,而且被迁移分区都不能属于任何一个“Partition workload groups”;而由于 IVM 和 HMC 在管理界面的截然不同,因此操作过程相差较大。下面列举的是两种管理方式下动态分区迁移不同点的一些对比:

  • 服务器的管理:由 HMC 管理时,源和目标服务器必须由同一台 HMC 来管理,分区迁移由该 HMC 来协调;由 IVM 管理时,每台服务器由各自的 IVM 进行管理,分区迁移由两个 IVM 协调进行。
  • MSP 属性:在 HMC 上,需要激活 VIOS 上的 MSP 属性才能进行分区迁移;而在 IVM 上,MSP 是默认打开的,不需要激活。
  • MSP 的个数:在 HMC 上,一个系统上可以存在多个 MSP,每个 MSP 都可以用于分区迁移;而在 IVM 上,VIOS 就是 MSP,有且仅有一个 MSP。
  • GUI 界面:GUI 操作界面的截然不同是显而易见的,不过两者之间还是有不少相似之处,比如都提供验证和迁移功能等。
  • CLI 界面:相对于 HMC 而言,IVM 的用于分区迁移的命令主要增加了 --ip <target HMC/IVM IP address>,-u <target HMC/IVM username> 和 --async 三个选项。
  • -m 和 -t 选项的可选性:在 HMC 上使用命令 migrlpar 进行动态分区迁移时,-m <managed system> 和 -t <managed system> 都是必须的,这是因为 HMC 管理着多台服务器,如果不提供这些消息,HMC 无法知道哪个是源系统,哪个是目标系统。而在 IVM 上,-m <managed system> 则是可选的(见清单 10),这是因为一个 IVM 只管理着一台服务器,因此源系统就是发起分区迁移的 IVM 所在的系统;依此类推,-t <managed system> 本来也可以是可选的,因为源系统上的 IVM 可以通过 -ip 和 -u 选项和与目标系统上的 IVM 进行通信,自动获取目标系统的名称,但是事实上该选项在进行分区迁移时是必须的(见清单 10)。

清单 10:-m 和 -t 选项的可选性

$ migrlpar -o m --ip uli14 -u padmin -p uli13lp1
[VIOSE01040120-0006] Required parameter -t or its value is missing or not valid.

$ migrlpar -o m -t Server-7998-60X-SN100E7DA --ip uli14 -u padmin -p uli13lp1
$	


  • 用户名和密码:由于同一台 HMC 管理着参与动态分区迁移的两台服务器,因此迁移的时候不需要指定登陆到目标 HMC 的用户名和密码;而当两台服务器分别由两个不同的 IVM 来管理时,就需要指定登陆到目标 IVM 的用户名和密码。
  • Profile:在 HMC 上进行分区迁移时,用户可以指定一个 profile 名称用于记录迁移后分区当前的配置,保留现有的 profile。而在 IVM 上,因为每个逻辑分区有且仅有一个 profile,因此不需要指定新的 profile 名称,分区迁移过程总是把迁移后的分区配置记录在该 profile 里面;所以,IVM 的 GUI 界面并不提供输入新的 profile 的域,并且命令 migrlpar 所提供的“-n profile-name”选项并不起作用。
  • 等待时间(wait time):该参数是指等待由 HMC 或 IVM 向被迁移分区所发出的命令执行完成所花的最长时间(以分钟为单位)。在 HMC 上,分区迁移的 GUI 向导提供了该域,允许用户设定新的等待时间;而在 IVM 上,GUI 界面并不提供该域,因此只能使用默认的等待时间。当在 HMC 或者 IVM 上使用命令行进行分区迁移时,可以通过“-w <wait time>”来设定等待时间。
  • 其他特性:在 HMC 上进行分区迁移要避免使用“Barrier Synchronization Register”和“Huge pages”等特性,否则迁移验证会失败;而因为简化设计的缘故,IVM 并没有提供这些特性,因此也就不需要检查分区是否使用这些特性了。

这里还需要澄清 VASI(Virtual Asynchronous Services Interface)和物理 I/O 设备这两点。

  • VASI 是 MSP 和 Hypervisor 之间进行通信的一个虚拟设备。在源系统上,MSP 通过 VASI 从 Hypervisor 获取分区的运行时状态,然后通过网络传送给目标系统的 MSP;在目标系统上,MSP 通过 VASI 把分区的运行时状态传送给 Hypervisor。在 IVM 和 HMC 两种情况下,VASI 都是必须的。在早期支持动态分区迁移的 VIOS 版本(比如 VIOS 1.5.0.0)中,VASI 是需要用户自己去创建的;而在较新版本的 VIOS(比如 VIOS 1.5.2.0)中,VASI 是系统自动创建的。
  • 动态分区迁移对物理 I/O 设备的迁移做了限制:活动迁移不能使用物理设备,在迁移开始之前必须手动把所有物理设备删除掉;非活动迁移可以使用物理设备,但是迁移过程会自动把物理设备删除掉,因此如果要在目标分区使用物理设备,那么需要在迁移完成之后手动把物理设备加入目标分区的配置文件。在 HMC 上,逻辑分区拥有物理 I/O 设备是很正常的事情,用户在进行分区迁移之前要按照上述要求去处理物理设备的使用。版本较低的 VIOS,比如 VIOS 1.5.0.0 上的 IVM 只支持虚拟设备,除 VIOS 外,其他分区所使用的网卡和磁盘都是虚拟的;而从 VIOS 版本 1.5.1.1 开始,IVM 可以将物理设备直接分配给分区来使用,这时用户也同样需要注意上述要求。






小结

本文介绍了如何在 IBM 集成虚拟化管理器— IVM 上进行动态分区迁移,包括迁移所需的配置,迁移的验证,发起和状态的查看,以及用于迁移的命令。本文还对比了在 IVM 和 HMC 上的分区迁移,虽然两者的差别不是非常大,但是管理界面上的截然不同使得两者的操作方式差别较大。与 HMC 相比,IVM 上的动态分区迁移操作过程较为简化,这与 IVM 的设计原则是一致的。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多