PowerVM动态分区迁移准备过程.docx
《PowerVM动态分区迁移准备过程.docx》由会员分享,可在线阅读,更多相关《PowerVM动态分区迁移准备过程.docx(22页珍藏版)》请在冰豆网上搜索。
PowerVM动态分区迁移准备过程
PowerVM动态分区迁移准备过程
动态分区迁移(LivePartitionMobility,以下简称LPM)是IBM基于POWER6技术提供的
新特性,它特指将运行
AIX或Linux操作系统的逻辑分区从一台物理系统迁移到另外一台完全不同
的物理系统的过程。
在这个过程中,操作系统和应用程序不受任何破坏,对外提供的服务也不受任何影响。
1,LPM的主要用途
LPM给与管理员更灵活的控制职能,目前它的用途主要体现在以下几个方面:
当逻辑分区所在的系统需要Firmware或者硬件的升级,但是这个逻辑分区由于正对外提供服务而不能关闭时,就可以利用LPM功能将它先迁移到另一台物理系统上,待升级完毕后,再将逻辑分区迁移回来。
可以用来平衡日益增长的工作量和资源需求,将服务较少的多个逻辑分区迁移到同一台物理系统上,然后将多余的物理系统关闭,从而降低能耗。
这个也符合了目前提倡的绿色环保的理念。
随着业务的发展,逻辑分区上的工作量可能会越来越大,这时可以利用LPM功能将逻辑分区迁移到资源更多的物理系统上,以提供更优质的服务。
当物理系统的硬件存在潜在问题时,可以利用LPM功能将其上正在提供服务的逻辑分区迁移到安全的系统上。
当用户购买了更新型号的硬件时,也可以利用LPM功能将以前提供服务的逻辑分区迁移到新机器上。
未来LPM功能将会发挥越来越大的作用。
试想一下:
对外提供服务的逻辑分区都将不被固定在一个硬件系统上,而是随着服务规模和硬件环境的变化,随时被迁移到另外的系统上。
2,术语
在讲述LPM准备过程之前,让我们首先了解一下涉及到的术语:
Power服务器中用来管理主机硬件的板卡,系统插电后FSP即开始FSP
工作。
该板上有插口用于将系统连接到HMC网络。
可以通过ASMI(FlexibleServiceProces
(AdvancedSystemManagementInterface)控制FSP进而执行sor)
电源重启、查看系统信息等操作。
MSP即移动服务分区。
VIOS的一个系统设置,由它控制是否允许迁移逻辑
(MoverServicePartition分区的状态。
)
RMC
RMC是一个分布式的框架和体系结构,它允许HMC和被管理的逻辑(ResourceMonitorandC
分区进行通讯
ontrol)
更多的基本概念和操作过程可以通过查看参考资源。
3,LPM及其分类
标准的LPM过程是由验证操作和迁移操作两部分组成的。
即:
验证操作(Validation):
验证是进行LPM之前可选的一步操作,它可以帮助用户检查环境是否已经准备就绪。
验证操作提供的错误信息和警告信息可以帮助用户及时修正错误,以保证迁移过程的顺利进行。
迁移操作(Migration):
由HMC或IVM提供的功能。
使用迁移操作,可以完成活动分区从源系统到目标系统的动态分区迁移。
LPM按照逻辑分区的情况分为下面两种类型的迁移:
冷迁移(InactiveMigration):
被迁移的逻辑分区是断电的。
在参考资料中称为非活动迁移,在本文中将使用冷迁移这个翻译。
热迁移(ActiveMigration):
被迁移的逻辑分区是不断电的,且一直对外提供服务。
在迁移过程中逻辑分区能继续提供服务,不会影响用户行为。
在参考资源中称为活动迁移,在本文中将使用热迁移这个翻译。
LPM按照系统的管理方式分为下面两种类型的迁移:
HMC之间的动态分区迁移:
逻辑分区使用HMC管理的LPM。
IVM之间的动态分区迁移:
逻辑分区使用IVM管理的LPM。
4,LPM的准备过程
无论我们选择进行冷迁移还是热迁移,首先物理系统的硬件要符合LPM功能的特定要求,然后还需对其环境进行特殊的配置以满足LPM操作的条件。
冷迁移相比于热迁移在系统配置方面要宽松一些,下面仅以热迁移为例进行说明,没有明确说明的条件均适用于冷、热迁移。
主要准备过程包括以下若干方面:
源系统和目标系统的FSP的设置。
具体包括:
PowerVM企业版代码已被激活。
逻辑内存块的大小相同。
管理源系统和目标系统的HMC或IVM满足如下要求:
HMC的硬件支持LPM功能。
HMC和IVM的操作系统版本支持LPM功能
远程的HMC和IVM之间已建立密钥认证。
源系统和目标系统的设置。
具体包括:
源系统和目标系统使用Power6或者更高版本的硬件。
源系统和目标系统的管理方式相同,即都使用HMC或都使用IVM进行管理。
源系统和目标系统的Firmware版本支持LPM功能。
目标系统上有足够闲置的内存和处理器用来支持LPM功能。
目标系统不可运行在电池系统上。
源VIOS和目标VIOS满足如下要求:
VIOS的版本支持LPM功能。
启用MSP功能(冷迁移无此要求)。
时钟同步(冷迁移无此要求)。
活动分区满足如下要求:
运行的操作系统支持LPM功能。
RMC连接已建立(冷迁移无此要求)。
关闭冗余错误路径报告功能。
虚拟串行适配器(VirtualSerialAdapter)不得多于2个,即只能通过HMC或IVM取得对活动分区的虚拟终端连接。
不属于任何一个逻辑分区负载管理组(WorkloadManagerGroup)。
不能使用线程同步寄存器(Barrier-synchronizationRegister)(冷迁移无此要求)。
不能使用大页内存(HugePage)。
不能使用物理或专属的I/O设备(冷迁移无此要求)。
运行的应用程序是可安全迁移的。
外部存储满足如下条件:
源系统和目标系统连接相同的SAN存储。
将整块的SAN存储以虚拟磁盘的形式分配给活动分区。
SAN逻辑单元的reservepolicy属性置为noreserve。
目标系统上有足够的虚拟插槽(VirtualSlot)。
网络配置满足:
源VIOS和目标VIOS配置共享以太网适配器。
活动分区使用虚拟网卡。
上面的LPM准备过程在红皮书《IBMPowerVMLivePartitionMobility》中都有所涉及,所以本文只就LPM准备环境过程中的最重要、最困难和最繁琐的部分进行着重讲解,并且结合在LPM测试过程中发现的问题进行分析。
4.1,FSP的设置
查看是否已激活了PowerVM企业版代码
LPM是PowerVM企业版才支持的功能,所以在进行LPM操作之前,要首先确认FSP上已经激活了PowerVM企业版的代码。
以HMC管理的系统为例,可以通过
在
HMC的Server
Management->Servers
里选定系统,打
开
Properties->
Capability
进行查看。
如果
PowerVM企业版代码已激活,
则
ActivePartition
Mobility
Capable
和
InactivePartitionMobility
Capable的值
为
True,如图1
所示。
图1.通过HMC查看系统是否已经激活了PowerVM企业版代码
LPM的详细信息可以在Migration标签页中查看,如图2所示。
图2.查看LPM的详细信息
4.2,LMB的修改跟操作系统管理虚拟内存类似,PowerVMHypervisor以逻辑内存块(LogicalMemoryBlock,以下简称LMB)而不是字节为单位管理服务器的物理内存。
LPM要求源系统和目标系统上LMB大小的设置必须相同。
我们可以通过ASMI对其进行修改。
具体的修改步骤为,打开ASMI页面,在PerformanceSetup部分进行LMB的修改,如图3所示。
图3.修改LMB的大小
4.3建立密钥认证
LPM功能仅限于在两种类型的管理方式上使用:
即源服务器和目标服务器使用同一台或两台不同
的HMC管理,或源服务器和目标服务器均使用IVM管理。
目前还不支持HMC和IVM之间的LPM功能。
当LPM操作发生在两台HMC之间时,需要为这它们建立密钥认证。
分别登陆到两台HMC上,执行mkauthkey命令。
以hmc-gira和hmc-folk这两台HMC为例,后者的IP地址是9.3.117.211,建立密钥认证的过程如清单1所示(需要在hmc-folk上执行类似的操作),即:
先在.ssh目录下的authorized_keys2文件中查找,如果密钥已经写入该文件,则hmc-gira已经建立了与hmc-folk的密钥认证,否则执行mkauthkey命令。
清单1.使用mkauthkey命令建立密钥认证实例
hscroot@hmc-gira:
~>cat.ssh/authorized_keys2|grephmc-folkhscroot@hmc-gira:
~>hosthmc-folkhmc-hasaddress9.3.117.211hscroot@hmc-gira:
~>mkauthkeys-g--ip9.3.117.211-uhscroot
Enterthepasswordforuserhscrootontheremotehost9.3.117.211:
hscroot@hmc-gira:
~>
建立密钥认证后,如有需要,可以查看authorized_keys2文件获取具体的密钥。
在没有建立密钥认证的HMC之间执行LPM的验证操作时,会得到如图4所示的错误信息图4.HMC之间没有建立密钥认证时,执行LPM验证操作的错误信息
IVM之间的迁移同样需要建立密钥认证,否则也会出现类似的错误信息,清单2给出的是在IVM上使用命令行进行验证操作时得到的错误信息。
清单2.在IVM上执行LPM验证的错误信息
$migrlpar–ov–muli13–tuli14–ip9.3.111.64-puli13lp1[VIOSE0104202E-0409]Themigrationprocessfailedbecauseofanunknownerroronthedestinationsystem.Additionalinformation:
Permissiondenied
(publickey,password,keyboard-interactive).
IVM之间密钥认证的建立方法与HMC相同,这里不再累述。
4.5源系统和目标系统的Firmware版本的兼容源系统和目标系统的Firmware版本要分别符合LPM功能的要求,才能够进行LPM的操作。
仅仅满足这个条件还不够,还要注意源系统和目标系统的Firmware版本是否兼容。
在表1中,我们可以看到在各种Firmware版本的对LPM的支持。
表1.源系统和目标系统的Firmware版本对LPM的支持
目标系
统Firmware
版本
源系
统Firmware版本
EM320_031
EM320_040
EM320_046
EM320_061
EM320_028
EM320_039
EM320_031
支持
支持
支持
禁止
禁止
禁止
EM320_040
支持
支持
支持
禁止
禁止
禁止
EM320_046
支持
支持
支持
支持
支持
支持
EM320_061
禁止
禁止
支持
支持
支持
支持
EM320_028
禁止
禁止
支持
支持
支持
支持
EM320_039
禁止
禁止
支持
支持
支持
支持
清单3列出的是Firmware不兼容时出现的错误信息。
清单3.Firmware不兼容时的错误信息
HSCLA359Thedestinationmanagedsystemhasfailedthecompatibilitydatacheckingperformedonthemigratingpartitionwiththefollowingerror:
PartitionFirmwareIncompatible.
4.6,启用源VIOS和目标VIOS的MSP功能
激活MSP功能后,VIOS就具备了分区迁移的功能,它可以通过VASI适配器与hypervisor进行通讯,进行数据拷贝等操作。
因为热迁移涉及到对内存、处理器和其它各种资源状态等动态数据的拷贝,所以需要MSP参与进来。
对于冷迁移则没有这个要求。
为了满足不同迁移类型的要求,建议打开源系统和目标系统的MSP功能,否则会出现如图5所示的的错误信息。
图5.没有启用MSP功能时,执行LPM验证操作的错误信息
具体的开启MSP功能的步骤是:
打开HMC,进SystemManagement->Servers选项选择要修改的系统。
选择VIOS的逻辑分区,在左键菜单中选择Property。
在Property的General标签页中进行修改。
具体如图6所示:
图6.设置MSP功能
4.7VIOS的内存设置
活动分区运行一般的程序时,是不需要对VIOS的内存进行特殊设置的。
但是当活动分区负载较大时,就要为VIOS分配较多的内存(建议至少为2GB),以满足分区迁移过程中VIOS大量拷贝并传
送活动分区内存时的资源需求。
如果被迁移分区是共享内存(ActiveMemorySharing,更多内容请查看参考资源)分区或VIOS是页面交换分区时,则VIOS需要配置更多的内存(建议至少为3GB)来避
免内存的不足。
否则LPM在迁移期间会停滞在0%的进度,但是在验证阶段不会出现任何错误或者警告。
这是因为:
VIOS的MSP代码会因为得不到足够的内存而中止。
entstat是AIX操作系统提供的命令,用于显示以太网设备驱动器和设备统计信息。
该命令在内存不足的时也会中止。
活动分区上RMC连接的建立在执行热迁移的活动分区上需要建立RMC连接,否则在LPM验证阶段会得到如图7所示的错误信息:
图7.活动分区没有建立RMC连接时,执行LPM验证操作的错误信息
使用lsrsrcIBM.ManagementServer命令来查看RMC连接是否建立,当该命令没有输出或者返回的Man
agerType属性值不为HMC时,说明该活动分区上的RMC连接没有建立。
清单4给出了在一个已经建立RMC连接的逻辑分区上执行lsrsrcIBM.ManagementServer命令的输出。
清单4.lsrsrcIBM.ManagementServer命令验证RMC连接是否建立
giftlp3:
~
#lsrsrc
IBM.ManagementServer
Resource
Persistent
AttributesforIBM.ManagementServer
resource
1:
Name
="9.3.117.84"
Hostname
="9.3.117.84"
ManagerType
="HMC"
LocalHostname
="9.3.111.77"
ClusterTM
="9078-160"
ClusterSNum
ActivePeerDomain=""
NodeNameList
={"giftlp3"}
giftlp3:
~
#
RMC连接的建立方法可以查看参考资源。
4.8活动分区上物理I/O设备的使用
执行热迁移的活动分区不允许分配任何物理或者专属的I/O设备,否则在LPM验证阶段就会得到如图8所示的错误信息。
如果活动分区的物理I/O设备在当前的概要文件(Profile)中被标为desired,可以使用DLPAR(DynamicLogicalPartitioning)操作将其移除,如果被标为required,则只能在关闭
该活动分区后,修改概要文件来将其删除。
进行冷迁移的活动分区虽然不受此条件的约束,但是物理或者专属的I/O设备是不会被迁移的,只有虚拟设备才会被成功迁移。
图8.活动分区使用物理I/O设备时,执行LPM验证操作的错误信息
4.9SAN存储的设置
执行LPM操作的源系统和目标系统都必须以SAN存储作为它们的外部存储。
将源系统和目标系统物理上连接到相同的SAN存储,然后通过SAN交换机(SANSwitch)进行分组(Zone)操作使它们能够访问相同的SAN逻辑单元。
判断系统上是否连接了SAN存储,可以登陆到VIOS上,如清单5所示的方法进行查看,要注意观察第二个数据是否为“Available”,如果为Defined,则系统并不是真的可以访问SAN存储。
清单5.在VIOS上查看系统上的SAN硬盘情况
$lsdev
-typedisk|grep
Available
|grep
MPIO
hdisk21
Available
MPIO
Other
FC
SCSI
Disk
Drive
hdisk22
Available
MPIO
Other
FC
SCSI
Disk
Drive
hdisk23
Available
MPIO
Other
FC
SCSI
Disk
Drive
hdisk24
Available
MPIO
Other
FC
SCSI
Disk
Drive
hdisk25
Available
MPIO
Other
FC
SCSI
Disk
Drive
hdisk26
Available
MPIO
Other
FC
SCSI
Disk
Drive
hdisk27
Available
MPIO
Other
FC
SCSI
Disk
Drive
hdisk28
Available
MPIO
Other
FC
SCSI
Disk
Drive
hdisk29
Available
MPIO
Other
FC
SCSI
Disk
Drive
hdisk30
Available
MPIO
Other
FC
SCSI
Disk
Drive
hdisk31
Available
MPIO
Other
FC
SCSI
Disk
Drive
hdisk32
Available
MPIO
Other
FC
SCSI
Disk
Drive
源系统和目标系统是否连接相同的SAN逻辑单元,可以通过SAN逻辑单元的唯一标识字符串进行验
证。
登陆到VIOS,使用下面的命令分别查看源系统和目标系统的每个SAN逻辑单元,比较对应的SAN
逻辑单元的lun_id属性值是否相同,如清单6所示。
清单6.SAN硬盘的lun_id和reserve_policy属性
$lsdev-devattribute
hdisk21-attr
user_settable
value
description
PCM
PCM/friend/fcpother
PathControl
FALSE
Module
algorithm
fail_over
Algorithm
TRUE
clr_q
no
DeviceCLEARSits
TRUE
Queueonerror
dist_err_pcnt
0
DistributedError
TRUE
Percentage
dist_tw_width
50
DistributedError
TRUE
SampleTime
hcheckcmd
testunitrdy
HealthCheck
TRUE
Command
hcheck_interval
60
HealthCheck
Interval
TRUE
hcheck_mode
nonactive
HealthCheckMode
TRUE
location
LocationLabel
TRUE
lun_id
0x400040fa00000000
LogicalUnit
NumberID
FALSE
lun_reset_spt
yes
LUNResetSupported
TRUE
max_retry_delay
60
MaximumQuiesce
Time
TRUE
max_transfer
0x40000
MaximumTRANSFER
Size
TRUE
node_name
0x5005076304ffce9f
FCNodeName
FALSE
pvid
none
Physicalvolumeidentifier
FALSE
q_err
yes
UseQERRbit
TRUE
q_type
simple
QueuingTYPE
TRUE
queue_depth
16
QueueDEPTH
TRUE
reassign_to
120
REASSIGNtimeoutvalue
TRUE
reserve_policy
no_reserve
ReservePolicy
TRUE
rw_timeout
30
READ/WRITEtimeoutvalue
TRUE
scsi_id
0x89800
SCSIID
FALSE
start_timeout
60
STARTu