将 IBM PowerHA SystemMirror 集群迁移到 IBM POWER7

本文提供将 IBM® PowerHA® SystemMirror 集群从 IBM POWER6® 迁移到基于 IBM POWER7® 处理器的服务器的技巧。这个分步指南介绍了如何将一个高可用性 (HA) 集群迁移到 POWER7,如何将集群从 IBM HACMP™ 升级到 PowerHA,以及如何迁移共享的集群卷组来实现快速磁盘接管。

Chris Gibson, AIX 专家

/developerworks/i/p-cgibson.jpgChris Gibson 是一位 AIX 系统专家,居住在澳大利亚墨尔本市。他是 IBM CATE(System p 平台和 AIX 5L),同时也是 IBM Redbook “NIM from A to Z in AIX 5L” 的作者之一。


developerWorks 投稿作者

2013 年 6 月 27 日

目的

文本的目的是提供一个分步指南,指导您将现有 IBM HACMP (PowerHA) 集群从基于 POWER6 处理器的服务器迁移到基于 POWER7 处理器的新服务器。本文基于一个真实的客户场景。尽管您的环境和需求可能与这里给出的情况不符,但其他大部分情况都可以应用类似的方法。

客户购买了两个基于 POWER7 处理器技术的新的 IBM Power Systems™ 795 (9119-FHB) 服务器。他们需要将现有的 HACMP 集群从旧的 POWER6 硬件迁移到新系统。除了进行服务器迁移之外,他们还需要升级 HACMP(因为他们当前的版本很快将停止提供支持)。作为 POWER7 迁移的一部分,我们认为可以适当地升级集群,因为反正在迁移期间集群需要处于离线状态。

客户的工作负载分散在两个基于 POWER6 处理器技术的现有的 IBM Power 595 (9119-FHA) ) 系统上。现有的集群安装了 HACMP v5.4。它是由两节点组成的一个集群,每个 Power 595 服务器上有一个集群节点。LPAR 和该集群已构建多年。因此,作为迁移过程的一部分,需要更改或升级以下组件:

  • 新的 POWER7 逻辑分区 (LPAR),它具有新的 8 GB 光纤通道 (FC) 和 1 GB 以太网适配器。旧的 POWER6 LPAR 和 Power 595 服务器将一起退役。
  • 在引入新的磁盘存储之后,我们需要将集群共享的卷组磁盘从 IBM System Storage® DS8300 磁盘迁移到 Hitachi Data Systems (HDS) 虚拟服务处理器 (VSP) 磁盘设备。
  • 子系统设备驱动程序 (Subsystem Device Driver, SDD) 和关联的 vpath 设备需要删除,因为新的 LPAR 上不再有 IBM 存储设备。
  • 为了支持新的 HDS 磁盘设备,我们需要安装 HDS Object Data Manager (ODM) 文件集(并配置新的 HDS VSP hdisk 设备)。
  • 集群中共享的卷组将从标准模式转换为增强并发模式。
  • 引入了新网络交换机。POWER7 LPAR 中的 1GB 以太网适配器将连接到新的交换机。
  • IBM AIX® 5.3*(从 TL8)更新到 TL12。
  • HACMP 5.4 迁移到 PowerHA 6.1.

*注意:AIX 5.3 不再受支持。在计划执行 POWER7 迁移时(2011 年 9 月),鉴于客户的应用软件尚未验证能否在 AIX 7.1(或 6.1)上运行,他们希望仍然使用 AIX 5.3。他们计划今年(2013 年)将集群升级到 AIX 7.1。


迁移概述

开始迁移之前,我们生成了实现我们的目标所需的步骤的(非常)笼统的列表。总体迁移步骤如下所示:

  1. 通过新的 POWER7 LPAR 上的网络安装管理器 (Network Installation Management, NIM) 从 mksysb 还原 LPAR (recover devices = yes)。
  2. 将共享和非共享的磁盘配置从 IBM 迁移到 HDS 磁盘。
  3. 导入非共享的卷组。
  4. 导入共享的卷组。
  5. 执行 HACMP 发现,查找新的 (HDS) hdisk 设备,而不是 vpath (SDD)。
  6. 同步/验证集群。
  7. 启动集群服务。
  8. 重新配置磁盘心跳,以便使用 hdisk 代替 vpath。
  9. 同步/验证集群。
  10. 启用共享的卷组,以便实现快速磁盘接管(增强并发模式)。
  11. 同步/验证集群。
  12. 停止两个节点上的集群服务。
  13. 启动两个节点上的集群服务。
  14. 验证共享的磁盘组在增强并发模式下是否已连接。
  15. 停止两个节点上的集群服务。
  16. 将两个节点上的 HACMP 5.4 升级(迁移)到 PowerHA 6.1 SP6。
  17. 重新启动两个节点。
  18. 启动集群服务。
  19. 同步/验证集群。
  20. 执行集群故障转移测试。
  21. 确保迁移已完成。

迁移结束时,集群节点位于基于 POWER7 处理器的系统上,也就是说,每个节点位于一个 Power 795 服务器上。每个节点都将运行 PowerHA 6.1,对所有 AIX 卷组利用 HDS 磁盘设备。

操作手册

基本来讲,以下就是我们将每个集群迁移到新的基于 POWER7 处理器的服务器的 “操作手册”。有 6 个双节点集群需要迁移到 POWER7。我们的 “操作手册” 提供了简单的步骤,在 POWER7 迁移项目期间,客户 UNIX 管理团队的每个成员都可执行这些步骤。这些步骤是使用基于 POWER6 和基于 POWER7 处理器的系统上的一个实验室/测试集群环境来开发和测试的。在生产环境中实现迁移过程之前,团队多次测试并完善了迁移过程。此测试对迁移项目的成功至关重要。

A. 准备步骤

  1. POWER7 系统上的新 LPAR 预先配置了用于 AIX OS 的新 HDS 磁盘 (rootvg)。该磁盘在启动任何迁移活动之前已进行分配和测试。测试通常包括对新 LPAR 执行虚拟的 mksysb 还原,确保磁盘可正常运行并且 mksysb 可成功恢复。
  2. 分配给新的 LPAR 的以太网和光纤通道适配器已提前连接到正确的网络和 SAN 交换机。重要的是确保网络配置是正确的,PowerHA 才能在迁移后继续正常运行。我们已确保 HA 适配器上的网络接口(en0 和 en2)在合适的虚拟局域网 (VLAN) 中配置。此配置等同于 POWER6 系统上的节点的配置。我们在迁移前执行了测试,确保各个接口位于正确的 VLAN 中,并且每个节点都可以与其伙伴进行通信。

    注意:如果网络适配器/接口未分配给同一个 VLAN,那么集群可能出现异常行为。例如,在测试期间,我们发现在转移某个资源组后,我们的测试集群无法通过引导接口进行通信。我们通过该问题跟踪到这样一个事实,HA(引导)接口位于网络交换机上的不同 VLAN 中。将两个接口转移到交换机上的同一个 VLAN 中就可以解决这个问题。

  3. 开始之前,我们首先需要确保在双节点集群上禁用了监视功能。我们将集群节点设置为维护模式(在我们的特定情况下,我们禁用了集群节点上的客户 Nagios 监视)。

    在迁移期间,节点和集群基本上不可用。此步骤可预防在迁移期间出现任何不想要的警报。我们还在进行更改之前记录了每个 AIX 系统的当前配置。

  4. 在迁移之前,我们需要确保集群是健康和稳定的。我们执行了一个 HACMP 同步和验证 操作,验证情况是否相符。如果集群不稳定或没有同步,则需要更正这种情况,然后再开始迁移。在集群损坏时,迁移集群是毫无意义的,而且这样做可能导致迁移失败。我们还可以使用工具 clstatcldump 来查看集群和节点的当前状态。
    # smit hacmp
    Initialization and Standard Configuration
    Verify and Synchronize HACMP Configuration
    	
    # clstat		< On both nodes. Is everything UP?
    	
    # cldump		< On both nodes. Is the cluster currently STABLE?
    	
    # vi /tmp/hacmp.out     < On both nodes, checking for any events, errors or failures.
    	
    # errpt
  5. 在对 HA 集群执行任何更改前(从主节点)创建集群的快照,这是一个好主意。在出现问题时,可使用此快照将集群恢复到已知状态。我们运行了一段脚本来创建快照。
    # /usr/local/bin/cluster_snap.sh
  6. 我们将 LPAR 的 mksysb 备份放在 NIM 主目录中。在遇到迁移问题时,可以使用这个备份镜像将 AIX 节点还原到已知状态。我们还对 IBM Tivoli® Storage Manager 执行了文件数据备份。
    # /usr/local/bin/saveskelvg >> /var/log/saveskelvg.log 2>&1
    # /usr/local/bin/mksysb2nim -s rootvg >> /var/log/mksysb2nim.log 2>&1
    # dsmc i
  7. 集群从 IBM 存储设备迁移到 HDS 磁盘。我们必须将最新的 HDS ODM 驱动程序版本安装到每个节点上,以支持这种新设备。可以使用一个 NFS 挂载点将该驱动程序安装到 NIM 主软件存储库中。
    # mount nim1:/software/HDS/HDS_odm_driver/HTCMPIO3 /mnt
    # cd /mnt
    # smit install
    devices.fcp.disk.Hitachi.array.mpio.rte
  8. 现在可以启动迁移过程了。首先停止两个节点 上的集群服务。现在,所有集群资源都已处于离线状态。所有集群化的应用程序均不可用。
    nodeA# smit clstop
  9. 在迁移之前,必须断开和导出所有数据卷组。还必须(使用 rmdev)从 AIX ODM 移除关联的设备 (vpaths) 。
    # varyoffvg vgname
    # exportvg vgname
    # rmdev –dl vpathX
    # rmdev –dl hdiskX
  10. 所有 595 服务器上的两个节点和 LPAR 现在都已关闭。
    node1 # shutdown –F
    node2 # shutdown -F

B. 使用 NIM 将 LPAR 迁移到 POWER7

  1. 集群节点以前配置了 rootvg 磁盘镜像。新存储上不再需要它们;新 LPAR 为 rootvg 配置了一个磁盘。为了确保 mksysb 成功还原到新的 POWER7 LPAR(使用单个 rootvg 磁盘),必须为每个节点创建一个自定义 image.data 文件。这个 image.data 文件将确保 mksysb 还原过程不会尝试为根卷组建立镜像。如果保持 image.data 文件原封不动,还原过程将会失败,并指出没有足够的磁盘空间来容纳 mksysb 镜像。

    我们从 NIM 上节点的 mksysb 镜像提取 image.data 文件。更改 LV_SOURCE_DISK_LISTPP=COPIES= 值,以反映 rootvg 的非镜像的磁盘配置。然后,使用自定义的 image.data 文件创建一个新的 image_data NIM 资源。

    root@nim1 : /home/cgibson # restore -xvqf /export/images/nodeB-mksysb.530802-.Thu 
    ./image.data
    	
    root@nim1 : /home/cgibson # cp image.data node2.image.data
    	
    root@nim1 : /home/cgibson # vi node2.image.data
    	
    root@nim1 : /home/cgibson # grep LV_SOU node1.image.data
            LV_SOURCE_DISK_LIST= hdisk0
            ...etc...
    	
    root@nim1 : /home/cgibson # grep PP= node2.image.data
            PP= 1
            ...etc..
    	
    root@nim1 : /home/cgibson # grep COPIES node1.image.data
            COPIES= 1
            ...etc...

    上述过程是手动执行的。可使用此 脚本(感谢 Kristijan Milos 提供)自动化此过程。

    我们使用自己的自定义 image.data 文件定义了一个新的 NIM image_data 资源。

    root@nim1 : / # smit nim_mkres
    image_data
    	                                                Define a Resource
    	
    Type or select values in entry fields.
    Press Enter AFTER making all desired changes.
    	
                                              [Entry Fields]
    * Resource Name                           [cg-node2-image-data]
    * Resource Type                           image_data
    * Server of Resource                      [master]  
    * Location of Resource                    [/home/cgibson/node2.image.data]
  2. 现在,我们可以使用 NIM 将每个 LPAR 的 mksysb 还原到每个 Power 795 服务器。我们必须指定在上一步中创建的自定义镜像数据文件。
    • 使用 AIX 531204 lpp_source 和 SPOT。
    • 选择恢复设备并导入用户数据。
      IMAGE_DATA to use during installation [cg-node2-image-data] +

    请参阅以下文章,获取将 AIX LPAR 迁移到新 Power Systems 硬件的详细信息。

  3. 完成 mksysb 还原后,进行检查,确保系统目前正在所需的 AIX 版本上运行。
    # oslevel -s
    5300-12-04-1119
    # instfix -i |grep AIX
    # instfix –icqk 5300-12_AIX_ML| grep ":-:"
    # lppchk -m3 –v

C. 验证 LPAR 网络配置

  1. 确保每个网络针对每个节点上的 HA 进行了正确配置。网络 10.1.2 (en0) 和 10.1.3 (en2) 用于客户的 HACMP 网络配置。
    	e.g. nodeA.
    	
    en0: flags=5e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,
    		64BIT,CHECKSUM_OFFLOAD(ACTIVE),PSEG,LARGESEND,CHAIN>
    		inet 10.1.2.19 netmask 0xffffff00 broadcast 10.1.2.255
    	
    en2: flags=5e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,
    		64BIT,CHECKSUM_OFFLOAD(ACTIVE),PSEG,LARGESEND,CHAIN>
    	    inet 10.1.3.14 netmask 0xffffff00 broadcast 10.1.3.255
    
    en4: flags=5e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,
    		64BIT,CHECKSUM_OFFLOAD(ACTIVE),PSEG,LARGESEND,CHAIN>
    	    inet 10.1.4.4 netmask 0xffffff00 broadcast 10.1.4.255
    	    
    en6: flags=5e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,
    		64BIT,CHECKSUM_OFFLOAD(ACTIVE),PSEG,LARGESEND,CHAIN>
    	    inet 10.1.5.7 netmask 0xfffffc00 broadcast 10.1.5.255
    	    
    lo0: flags=e08084b<UP,BROADCAST,LOOPBACK,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT>
    	        inet 127.0.0.1 netmask 0xff000000 broadcast 127.255.255.255
    	        inet6 ::1/0
  2. 确保每个引导接口可 ping 通它位于备用节点上的网络接口。验证主机名称是否解析为引导和服务标签的正确 IP 地址。例如:

    在 nodeA 上:

    # ping nodeBb1
    # ping nodeBb2
    	
    # host nodeAb1
    # host nodeAb2
    # host nodeBb1
    # host nodeBb2
    # host nodeAsvc
    # host nodeBsvc

    在 nodeB 上:

    # ping nodeAb1
    # ping nodeAb2
    	
    # host nodeAb1
    # host nodeAb2
    # host nodeBb1
    # host nodeBb2
    # host nodeAsvc
    # host nodeBsvc
  3. 注释掉 /etc/rc.net 中的以下行。在启动时,这个错误的入口点会将集群节点主机名更改为一个意外的值。我们发现有必要在客户的集群上禁用此功能。
    # vi /etc/rc.net
    
    # Below are examples of how you could bring up each interface using
    # ifconfig.  Since you can specify either a hostname or a dotted
    # decimal address to set the interface address, it is convenient to
    # set the hostname at this point and use it for the address of
    # an interface, as shown below:
    #
    #/bin/hostname nodeAnim

D. 准备存储迁移

  1. 从每个 LPAR 中删除旧 SDD 文件集。因为我们不再访问 IBM 存储,所以不再需要安装 IBM Subsystem 设备驱动程序。
    # stopsrc –s sddsrv
    # installp -u devices.sdd.53.rte
    # installp -u ibm2105.rte
    # installp -u devices.fcp.disk.ibm.rte
  2. 我们还抓住这个机会删除了 rootvg 中所有旧的 multibos 实例(在适当时)。
    # multibos -R
  3. 重新启动两个 LPAR。

E. 存储迁移

  • 移交给存储团队执行数据逻辑单元编号 (logical unit number, LUN) 迁移

    在此阶段,存储团队将接管工作。他们执行从 IBM 磁盘到 HDS 磁盘的实际数据迁移。完成数据迁移后,数据 LUN 将重新分区到与新 POWER7 LPAR 中的新 8GB FC 适配器有关联的新的全球端口名称 (worldwide port name, WWPN)。基本而言,重新启动 LPAR 时,我们预计会看到新的 HDS 磁盘(而不是 IBM)。但是,所有数据都将原封不动。数据迁移使用 HDS 存储复制技术实现。使用此方法不需要采用传统过程,传统过程涉及到使用 migratepvmirrorvg 等实用程序的 AIX Logical Volume Manager (LVM) 迁移技术。如果有兴趣了解使用 AIX LVM 执行存储迁移的更多信息,建议您阅读我在 2010 年撰写的有关该项目的 文章

F. 迁移集群存储设备

  1. 运行 cfgmgr 命令,在两个节点上配置 HDS 磁盘和 FC 适配器。
    # cfgmgr
    # lsdev –Cc disk
    # chdev –l fscsi{y} –a fc_err_recov=fast_fail –a dyntrk=yes –P
    # chdev –l hdisk{x} –a reserve_policy=no_reserve -P
    # chdev –l hdisk{x} –a algorithm=round_robin -P
    # lsattr –El fscsi{y}
    # lsattr –El hdisk{x}
    	
     fscsi{y} 是 LPAR 中对应 FC 适配器的名称。
     hdisk{x} 对应的是所有的磁盘。
  2. 检查物理卷标识符 (Physical Volume Identifier, PVID) 是否原封未动(也就是说,在 LUN 重新分区/迁移后未更改)并且在两个节点上相同。
    nodeA# lspv
    nodeB# lspv
  3. 导入数据卷组,包括共享和非共享的卷组。
    • 非共享的卷组:
      # importvg –y appvg hdisk4
    • 共享的卷组:
      • 在两个节点上执行 importvg。例如:

        nodeA 上:

        # importvg –y sharedvgA hdisk2
        # lsvg –l sharedvgA
        # varyoffvg sharedvgA

        nodeB 上:

        # importvg –y sharedvgA hdisk2
        # lsvg –l sharedvgA
        # varyoffvg sharedvgA
      • 挂载非共享的文件系统。检查文件系统挂载顺序是否正确,因为这可能在导入卷组 (VG) 后更改。确保没有文件系统过度挂载。
        # for i in `lsvgfs appvg`
        	do
        	 mount $i
        	done
        # lsvg –l appvg
        # df
        # lspath
  4. 执行一次 HACMP 发现,找到共享卷组的新的 HDS hdisk 设备。
    # smit hacmp
    Extended Configuration
    Discover HACMP-related Information from Configured Nodes
  5. 现在执行一次 “验证和同步 HACMP 配置” 操作。
  6. 在两个节点上启动集群服务。使用 clstat 确认集群是稳定的。

G. 配置新的集群心跳设备

  1. 重新配置磁盘心跳设备,以便使用 hdisk 代替 vpath。

    点击查看代码清单

    # smit hacmp
    Extended ConfigurationConfigure HACMP Communication Interfaces/DevicesChange/Show Communication Interfaces/Devices
    │      Select one or more Communication Interfaces/Devices to Remove       │
    │                                                                          │
    │ Move cursor to desired item and press F7. Use arrow keys to scroll.      │
    │     ONE OR MORE items can be selected.                                   │
    │ Press Enter AFTER making all selections.                                 │
    │                                                                          │
    │   # Node / Network                                                       │
    │   #       Interface/Device  IP Label/Device Path              IP Address │
    │                                                                          │
    │                                                                          │
    │   # nodeA / net_diskhb_01				                   │ 
    │	    vpath1            nodeA_vpath1_01        /dev/vpath           │
    │                                                                          │
    │   # nodeA / net_ether_01                                                 │
    │           en0               node1b1                        10.1.2.       │
    │           en2               node1b2                        10.1.3.       │
    │                                                                          │
    │   # nodeA / net_ether_02                                                 │
    │           en4               nodeA                       10.1.4.          │
    │                                                                          │
    │	  # nodeB / net_diskhb_01                                         │
    │	           vpath0            nodeB_vpath0_01      /dev/vpath      │
    │                                                                          │
    │   # nodeB / net_ether_01                                                │
    │           en0               node2b1                        10.1.2.       │
    │           en2               node2b2                        10.1.3.       │
    │                                                                          │
    │   # nodeB / net_ether_02                                                 │
    │           en4               nodeB                       10.1.4.          │
    
        Remove Communication Interfaces/Devices# nodeA / net_diskhb_01                                          ││           vpath1            nodeA_vpath1_01             /dev/vpath ││   # nodeB / net_diskhb_01                                          ││           vpath0            nodeB_vpath0_01             /dev/vpath │Add Discovered Communication Interface and Devices
                                                                
    │  Select Point-to-Point Pair of Discovered Communication Devices to Add   │
    │                                                                          │
    │ Move cursor to desired item and press F7.                                │
    │     ONE OR MORE items can be selected.                                   │
    │ Press Enter AFTER making all selections.                                 │
    │                                                                          │
    │   # Node                              Device   Pvid                      │
    │     >nodeA                       hdisk1   00c69b9edd04057b               │
    │     >nodeB                       hdisk1   00c69b9edd04057b               │
    │                                                                          │
        
    Change/Show Communication Interfaces/Devices
                                                                
    │          Select a Communication Interface/Device to Change/Show          │
    │                                                                          │
    │ Move cursor to desired item and press Enter. Use arrow keys to scroll.   │
    │                                                                          │
    │   # Node / Network                                                       │
    │   #       Interface/Device  IP Label/Device Path              IP Address │
    │                                                                          │
    │                                                                          │
    │   # nodeA / net_diskhb_01                                                ││           hdisk1            nodeA_hdisk1_01             /dev/hdisk       ││                                                                          │
    │   # nodeA / net_ether_01                                                 │
    │           en0               node1b1                        10.1.2.       │
    │           en2               node1b2                        10.1.3.       │
    │                                                                          │
    │   # nodeA / net_ether_02                                                 │
    │           en4               nodeA                       10.1.4.          │
    │                                                                          │
    │   # nodeB / net_diskhb_01                                                ││           hdisk1            nodeB_hdisk1_01             /dev/hdisk       ││                                                                          │
    │   # nodeB / net_ether_01                                                 │
    │           en0               node2b1                        10.1.2.       │
    │           en2               node2b2                        10.1.3.       │
    │                                                                          │
    │   # nodeB / net_ether_02                                                 │
    │           en4               nodeB                       10.139.64.       │
  2. 现在执行一次 “验证和同步 HACMP 配置” 操作。等待几分钟,检查 clstat 输出中是否出现了新的 diskhb 设备。
    clstat - HACMP Cluster Status Monitor
    	                -------------------------------------
    	
    	Cluster: HA1    (1110178227)
    	Tue Oct 11 15:07:17 EETDT 2011
    	                State: UP               Nodes: 2
    	                SubState: STABLE
    	
    	        Node: nodeA               State: UP
    	           Interface: nodeA (2)           Address: 10.1.4.4
    	                                                State:   UP
    	           Interface: node1b1 (1)            Address: 10.1.2.19
    	                                                State:   UP
    	           Interface: node1b2 (1)            Address: 10.1.3.14
    	                                                State:   UP
    	           Interface: nodeA_hdisk1_01 (0)         Address: 0.0.0.0
    	                                                State:   UP
    	           Interface: node1 (1)              Address: 10.1.1.9
    	                                                State:   UP
    	           Resource Group: ResGrpA                     State:  On line
    	
    	        Node: nodeB               State: UP
    	           Interface: nodeB (2)           Address: 10.1.4.5
    	                                                State:   UP
    	           Interface: node2b1 (1)            Address: 10.1.2.12
    	                                                State:   UP
    	           Interface: node2b2 (1)            Address: 10.1.3.15
    	                                                State:   UP
    	           Interface: nodeB_hdisk1_01 (0)         Address: 0.0.0.0
    	                                                State:   UP
    	           Interface: node2 (1)              Address: 10.1.1.3
    	                                                State:   UP
    	           Resource Group: ResGrpA             State:  On line
  3. 验证这些节点能否通过新的磁盘心跳通信。

    nodeA 上:

    # /usr/sbin/rsct/bin/dhb_read -p hdisk1 -t
    DHB CLASSIC MODE
     First node byte offset: 61440
    Second node byte offset: 62976
    Handshaking byte offset: 65024
           Test byte offset: 64512
    
    Receive Mode:
    Waiting for response . . .
    Magic number = 0x87654321
    Magic number = 0x87654321
    Magic number = 0x87654321
    Magic number = 0x87654321
    Link operating normally

    nodeB 上:

    # /usr/sbin/rsct/bin/dhb_read -p hdisk1 -r
    DHB CLASSIC MODE
     First node byte offset: 61440
    Second node byte offset: 62976
    Handshaking byte offset: 65024
           Test byte offset: 64512
    
    Transmit Mode:
    Magic number = 0x87654321
    Detected remote utility in receive mode.  Waiting for response . . .
    Magic number = 0x87654321
    Magic number = 0x87654321
    Link operating normally

H. 将共享卷组转换为增强并发模式

  1. 为共享卷组实现快速磁盘接管,也就是设置增强并发模式。首先,确保在两个节点上都安装了 bos.clvm.enh 文件集。对每个共享的卷组执行以下任务。随后立即同步共享卷组定义。
    # smit hacmp
    System Management (C-SPOC)
    HACMP Logical Volume Management
    Shared Volume Groups
    Enable a Shared Volume Group for Fast Disk Takeover
    ResGrpA   sharedvgA
    * Resource Group Name                                 ResGrpA
    * SHARED VOLUME GROUP name                            sharedvgA
    
    # smit cl_lvm
    Synchronize a Shared Volume Group Definition
    sharedvgA
  2. 现在执行一次 “验证和同步 HACMP 配置” 操作。
  3. 停止两个节点上的集群服务。
  4. 启动两个节点上的集群服务。验证所有共享磁盘卷组现在是否已在增强并发模式下连接,也就是说,在主节点上为 active-read/write,在备用节点上为 active-passive-only
    nodeA# lspv
    hdisk0          00c342c6c73137a9                    rootvg          active
    hdisk1          00c69b9edd04057b                    diskhbvg        concurrent
    hdisk2          00c40a8e97f5cca1                    sharedvgA     concurrent
    hdisk3          00c40a8e97f5dc8a                    sharedvgB     concurrent
    hdisk4          00c40a8e04e87819                    appvg           active
    hdisk5          00c40a8e97f0dda8                    appvg           active
    
    nodeB# lspv
    hdisk0          00c334b6c7cca4b1                    rootvg          active
    hdisk1          00c69b9edd04057b                    diskhbvg        concurrent
    hdisk2          00c40a8e97f5cca1                    sharedvgA     concurrent
    hdisk3          00c40a8e97f5dc8a                    sharedvgB     concurrent
    hdisk4          00c69b9e97fe3331                    appvg           active
    hdisk5          00c69b9e04e9bc20                    appvg           active
    
    nodeA# lsvg sharedvgA     
    VOLUME GROUP:       sharedvgA        VG IDENTIFIER:  00c40a8e00004c000000010280d7161f
    VG STATE:           active                   PP SIZE:        64 megabyte(s)
    VG PERMISSION:      read/write               TOTAL PPs:      527 (33728 megabytes)
    MAX LVs:            512                      FREE PPs:       357 (22848 megabytes)
    LVs:                4                        USED PPs:       170 (10880 megabytes)
    OPEN LVs:           4                        QUORUM:         2 (Enabled)
    TOTAL PVs:          1                        VG DESCRIPTORS: 2
    STALE PVs:          0                        STALE PPs:      0
    ACTIVE PVs:         1                        AUTO ON:        no
    Concurrent:         Enhanced-Capable         Auto-Concurrent: Disabled
    VG Mode:            Concurrent
    Node ID:            1                        Active Nodes:       2
    MAX PPs per VG:     130048
    MAX PPs per PV:     1016                     MAX PVs:        128
    LTG size:           128 kilobyte(s)          AUTO SYNC:      no
    HOT SPARE:          no                       BB POLICY:      relocatable
    
    nodeB# lsvg sharedvgB     
    VOLUME GROUP:       sharedvgB        VG IDENTIFIER:  00c40a8e00004c000000010280d7161f
    VG STATE:           active                   PP SIZE:        64 megabyte(s)
    VG PERMISSION:      passive-only             TOTAL PPs:      527 (33728 megabytes)
    MAX LVs:            512                      FREE PPs:       357 (22848 megabytes)
    LVs:                4                        USED PPs:       170 (10880 megabytes)
    OPEN LVs:           0                        QUORUM:         2 (Enabled)
    TOTAL PVs:          1                        VG DESCRIPTORS: 2
    STALE PVs:          0                        STALE PPs:      0
    ACTIVE PVs:         1                        AUTO ON:        no
    Concurrent:         Enhanced-Capable         Auto-Concurrent: Disabled
    VG Mode:            Concurrent
    Node ID:            2                        Active Nodes:       1
    MAX PPs per VG:     130048
    MAX PPs per PV:     1016                     MAX PVs:        128
    LTG size:           128 kilobyte(s)          AUTO SYNC:      no
    HOT SPARE:          no                       BB POLICY:      relocatable

I. 将 HACMP 5.4 迁移到 PowerHA 6.1

  1. 停止两个节点上的集群服务。
    # smit clstop
  2. 将 HACMP 5.4 升级到 PowerHA 6.1 SP6。确保 “ACCEPT new license agreements?” 已更改为 Yes。检查 clconvert.log 日志文件,确认已成功完成从 5.4 到 6.1 的 HA 迁移。验证是否显示了正确的 HA 级别。
    # mount nim1:/software/PowerHA6.1 /mnt
    # cd /mnt
    # smitty update_all
    # lslpp -L cluster*server*rte
    Fileset                      Level  State  Type  Description (Uninstaller)
    ----------------------------------------------------------------------------
    cluster.es.server.rte      6.1.0.0    C     F    ES Base Server Runtime
    
    # cd /mnt/SP6/
    # smitty update_all
    # lslpp -L cluster*server*rte
    Fileset                      Level  State  Type  Description (Uninstaller)
    ----------------------------------------------------------------------------
    cluster.es.server.rte      6.1.0.6    A     F    ES Base Server Runtime
    # cd /
    # umount /mnt
    	
    # view /tmp/clconvert.log
    	
    Command line is:
    /usr/es/sbin/cluster/conversion/cl_convert -F -v 5.4.1
    
    No source product specified.
    Assume source and target are same product.
    Parameters read in from command line are:
    Source Product is HAES.
    Source Version is 5.4.1.
    Target Product is HAES.
    Target Version is 6.1.0.
    Force Flag is set.
    …etc..
    odmdelete -o HACMPtopsvcs: 0518-307 odmdelete: 1 objects deleted.
    odmadding HACMPtopsvcs
    odmdelete -o HACMPcluster: 0518-307 odmdelete: 1 objects deleted.
    odmadding HACMPcluster
    	
    ***************************
    *** End of ODM Manager  ***
    ***************************
    	
    Done execution of ODM manipulator scripts.
    	
    Cleanup:
           Writing resulting odms to /etc/es/objrepos.
           Restoring original ODMDIR to /etc/es/objrepos.
           Removing temporary directory /tmp/tmpodmdir.
    	
    Exiting cl_convert.
    	
    Exiting with error code 0. Completed successfully.
    	
    --------- end of log file for cl_convert: Sat Oct 15 16:32:33 EETDT 2011
    	
    # halevel -s
    6.1.0 SP6

    现在更新第二个节点,然后继续执行下一步。

  3. 现在重新启动两个节点。
  4. 启动两个节点上的集群服务。使用 clstat 验证集群是稳定的。
  5. 现在执行一次 “验证和同步 HACMP 配置” 操作。
  6. 升级 PowerHA 的 Tivoli Storage Manager 客户端。
    1. 升级两个集群节点上的 Tivoli Storage Manager 客户端。如果 Tivoli Storage Manager 客户端安装在集群节点上,请参阅 我的博客,了解在 PowerHA 环境中升级 Tivoli Storage Manager 客户端的过程。
    2. 现在执行一次 “验证和同步 HACMP 配置” 操作。

J. 测试集群资源组迁移

  1. 将一个资源组迁移到另一个节点,也就是说,将 nodeA 上的资源组 A 迁移到 nodeB。验证迁移是否成功完成。
    # smit hacmp
    System Management (C-SPOC)
    Resource Group and Applications
    Move a Resource Group to Another Node / Site
    Move Resource Groups to Another Node
    ResGrpA                          ONLINE               nodeA /
    nodeB
    # clGRinfo
    # clstat
    # df
    # lsvg –o
    # ping serviceipaddressssh to serviceipaddress (should connect to second node in cluster)
  2. 将资源组迁移回主节点,例如 nodeA。验证迁移是否已成功完成。
    # clGRinfo
    # clstat
    # df
    # lsvg –o
    # ping serviceipaddressssh to serviceipaddress (should connect to home node in cluster)

K. 测试集群故障转移

  1. 执行标准集群故障转移测试(客户已定义)- 包括针对故障转移场景的应用程序测试。
  2. 将旧 POWER6 LPAR 配置文件定义更改为在系统管理服务 (SMS) 模式下引导,将 LPAR 配置文件重命名为 OLD_LPARname。这有助于预防错误地启动旧的 LPAR(在 Power 595 服务器退役之前会出现这种情况)。
  3. 将应用程序移交给应用程序团队进行测试。
  4. 确保迁移已成功完成。

结束语

本文介绍了如何将现有的双节点 PowerHA 集群从 POWER6 迁移到 POWER7,如何升级 PowerHA,以及如何将共享卷组转换为增强并发模式。

参考资料

学习

讨论

  • 加入 developerWorks 中文社区。查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户交流。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX
ArticleID=935738
ArticleTitle=将 IBM PowerHA SystemMirror 集群迁移到 IBM POWER7
publish-date=06272013