通往仙境 下载:使用 SSA Target 模式配置 HACMP

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 05:04:01

简介: HACMP 在客户环境下有着广泛的应用,如果客户环境中使用 7133 做共享存储,可以直接利用 SSA 做心跳。本文主要描述 SSA 卡做心跳的规划、配置、检测过程,读者可以根据文章的描述在自己的环境中学习配置。

配置 SSA Target Mode

HACMP 的工作原理是利用 LAN 来监控主机及网络、网卡的状态。在一个 HACMP 环境中有 TCP/IP 网络和非 TCP/IP 网络。TCP/IP 网络即应用客户端访问的公共网,该网可以是大多数 AIX 所支持的网络,如 Ethernet,T.R.,FDDI,ATM,SOCC,SLIP,等等。非 TCP/IP 网络用来为 HACMP 对 HA 环境(Cluster)中的各节点进行监控而提供的一个替代 TCP/IP 的通讯路径,它可以是用 RS-232 串口线将各节点连接起来,也可以是将各节点的 SCSI 卡或 SSA 卡设置成 Target Mode 方式。

我们的环境是一台 F85,一台 43P140,操作系统为 AIX5.1ML9,HACMP 版本为 5.1。由于 140 机型比较老,线序与市场上一般使用的 RS-232 线序不同,我们在市场中购买的普通 RS-232 9 针母对母串口线将两台机器连接起来并正确配置 tty0 设备后,两台机器不能正常通讯,则放弃使用 RS-232 串口线作为心跳线的方案。实验环境使用的共享存储是 IBM 7133 D40,其采用 SSA 卡与两台主机相连,我们则考虑使用 SSA 的 Target Mode 做心跳的方案。

本文假设读者已经配置过基于 RS-232 的 Cluster,了解 HACMP 的具体步骤。

配置 SSA Target Mode

如希望使用 SSA 卡的 Target Mode,则需要安装 devices.ssa.tm.rte 驱动。所有 SSA 驱动安装好后,使用:

#lsdev –C |grep ssa            

系统将列出下面设备

ssa0 Available 04-01 IBM SSA 160 SerialRAID Adapter (14109100)            ssar Defined SSA Adapter Router            

我们的 HACMP 环境网络部分规划如下:

43P140 F85 主机名称 test140 test85 网络掩码 255.255.255.0 255.255.255.0 IP 地址规划 en0 test140_boot:192.168.1.140
test140_svc:192.168.2.140 test185_boot:192.168.1.85
test185_svc:192.168.2.85 en1 test140_stb:192.168.3.140 test185_stb:192.168.3.85 ssatm /dev/tmssa140 /dev/tmssa85

如下图所示:


实验环境拓扑图

其中,140 上采用 SSA Target Mode 设备为 /dev/tmssa140,F85 上采用 SSA Target Mode 设备为 /dev/tmssa85,因此需要在两台机器上进行如下配置。

在 43P140 上执行:

#chdev -l ssar -a node_number=85            

其中 node_number=85 为 43P140 为 F85 配置的设备名称,该命令成功后,使用

#lsdev –C |grep ssa            

系统将会增加 tmssar 设备:

ssa0 Available 04-01 IBM SSA 160 SerialRAID Adapter (14109100)            ssar Defined SSA Adapter Router            tmssar Available Target Mode SSA Router            

在 F85 上执行:

chdev -l ssar -a node_number=140

其中 node_number=140 为 F85 为 43P140 配置的设备名称,该命令成功后,使用命令:

#lsdev –C |grep ssa            

系统将会增加 tmssar 设备:

ssa0 Available 04-01 IBM SSA 160 SerialRAID Adapter (14109100)            ssar Defined SSA Adapter Router            tmssar Available Target Mode SSA Router            

此时在 43P140 上运行:

#cfgmgr -v            

命令结束后,运行:

#ls –al /dev/ |grep ssa            

应出现以下设备:

crw-rw-rw- 1 root system 18,4096 Oct 12 02:57 dssa0            crw-rw-rw- 1 root system 18, 0 Oct 12 02:57 ssa0            c-wx------ 1 root system 53, 0 Jan 01 13:28 tmssa140.im            cr-x------ 1 root system 53, 1 Jan 01 13:28 tmssa140.tm            cr-------- 1 root system 53,65535 Jan 01 13:28 tmssako            

在 F85 上运行:

#cfgmgr -v            

命令结束后,运行:

#ls –al /dev/ |grep ssa            

应出现以下设备:

crw-rw-rw- 1 root system 18,4096 Oct 12 02:57 dssa0            crw-rw-rw- 1 root system 18, 0 Oct 12 02:57 ssa0            c-wx------ 1 root system 53, 0 Jan 01 13:28 tmssa85.im            cr-x------ 1 root system 53, 1 Jan 01 13:28 tmssa85.tm            cr-------- 1 root system 53,65535 Jan 01 13:28 tmssako            

因为两台机器的速度差异,有可能运行 cfgmgr 命令后,上述设备未出现,此时分别在两台机器上再次运行 cfgmgr 即可。

测试 SSA Target Mode 连通性。

当在 43P140 上出现可用的设备 tmssa140.tm,tmssa140.im,F85 上出现可用的设备 tmssa85.tm,tmssa85.im 后 SSA Target Mode 配置完成。我们为了避免混淆,采用了与 IP 地址相同的 nodenum,而系统仅仅要求每个 nodenum 不同即可。下面我们测试 SSA Target Mode 的连通性

在 43P140 上执行命令 :

#cat < /dev/tmssa140.tm            

在 F85 上执行

#cat /etc/hosts > /dev/tmssa85.im            

在 43P140 上出现了 F85 主机上 hosts 文件的内容,表示 SSA Target Mode 通信成功。如果测试失败,需要检查 SSA 卡与 IBM 7133 D40 连接情况,查看系统 ERRPT,并使用 Diagnostic Service Aids 对 SSA 卡进行诊断。


配置 HACMP

配置 AIX 网络部分

我们先使用的是 smit mktcpip 菜单配置网络接口的 IP 地址,由于该菜单会同时修改希望的 DNS、网关、主机名称等,不太方便,因此我们使用命令行配置 IP 地址。

根据网络规划,我们在 43P140 上依次执行以下命令:

#chdev –l en0 –a netmask=255.255.255.0            #chdev –l en0 –a netaddr=192.168.1.140            #chdev –l en0 –a alias4=192.168.2.140            #chdev –l en0 –a state=up            #chdev –l en1 –a netmask=255.255.255.0            #chdev –l en1 –a netaddr=192.168.3.140            #chdev –l en1 –a state=up            

我们在 F85 上依次执行以下命令:

#chdev –l en0 –a netmask=255.255.255.0            #chdev –l en0 –a netaddr=192.168.1.85            #chdev –l en0 –a alias4=192.168.2.85            #chdev –l en0 –a state=up            #chdev –l en1 –a netmask=255.255.255.0            #chdev –l en1 –a netaddr=192.168.3.85            #chdev –l en1 –a state=up            

在 43P140 和 F85 的 /etc/hosts 文件和 /.rhosts 文件中增加如下内容:

/etc/hosts /.rhosts 192.168.1.140 test140_boot
192.168.2.140 test140_svc
192.168.3.140 test140_stb

192.168.1.85 test85 _boot
192.168.2.85 test85 _svc
192.168.3.85 test85 _stb test140_boot
test140_svc
test140_stb

test85 _boot
test85 _svc
test85 _stb

规划 Cluster

我们的 Cluter 规划如下:

43P140 F85 Cluster name db2_cluster db2_cluster node name db2_140 db2_85 Network net_ether_01 net_ether_01 Network test140_boot
test140_stb
test140_svc
test85_boot
test85_stb
test85_svc 非 IP Network net_tmssa_01 net_tmssa_01 非 IP Network tmssa_140 /dev/tmssa140 tmssa_85 /dev/tmssa85 Resource Group Group Name db2_gr1 db2_gr2 Cluster Mode cascading cascading Cluster Node db2_140, db2_85 db2_85 ,db2_140 Service IP Label test140_svc test85_svc Share VG
Share LV
Share FS db2_vg
db2_lv
db2_fs db2_vg
db2_lv
db2_fs Application Server db2_svr db2_svr

配置 Cluster

我们使用 smit hacmp 菜单,依次配置 Cluster Definition、Cluster Nodes、IP Network、非 IP Network、Resource Group、Application Server

我们假设读者已经配置基于 RS-232 的 Cluster,在这里不详细列举每项配置。我们把非 IP 的配置过程列出。首先增加网络选择 Pre-defined Serial Device Types 中的 tmssa:

 Add a Serial Network to the HACMP Cluster            Type or select values in entry fields.            Press Enter AFTER making all desired changes.            [Entry Fields]            * Network Name [net_tmssa_01]            * Network Type tmssa            

在完成网络增加后,增加通信设备,选择 Add Communication Interfaces/Devices,选择 Pre-Defined Communication type 中的 Communication Devices,分别增加 tmssa_140 和 tmssa_85。

 Add a Communication Device            Type or select values in entry fields.            Press Enter AFTER making all desired changes.            [Entry Fields]            * Device Name [tmssa_140]            * Network Type tmssa            * Network Name net_tmssa_01            * Device Path [/dev/tmssa140]            * Node Name [db2_140] +            

 Add a Communication Device            Type or select values in entry fields.            Press Enter AFTER making all desired changes.            [Entry Fields]            * Device Name [tmssa_85]            * Network Type tmssa            * Network Name net_tmssa_01            * Device Path [/dev/tmssa85]            * Node Name [db2_85] +            

在完成所有 Cluster 的定义后执行 Verify and Synchronize HACMP Configuration 即可完成配置。

验证 Cluster

网卡故障验证

网络接口故障:

用命令:# ps -ef | grep cluster,确认所有节点上的 HACMP 已启动,其中至少包括 HACMP 主进程 clstrmgr,HACMP 通讯进程 clcomd。

root 13286 7228 0 Jan 20 - 0:57 /usr/es/sbin/cluster/clcomd -d            root 84982 7228 0 09:25:45 - 0:00 /usr/es/sbin/cluster/clsmuxpd            root 88014 7228 2 09:25:34 - 0:00 /usr/es/sbin/cluster/clstrmgr            

用命令:# errclear 0,清空系统错误日志。

用命令:# tail -f /tmp/hacmp.out,监控 HACMP 的运行状态。

用命令:# ifconfig en0 down,宕掉 Service 网卡。

用命令:# netstat -in,查看 Standby 网卡是否接管了宕掉的 Service 网卡的 IP 地址,,输出如下:

en1 1500 link#2 0.6.29.dc.d5.88 1289860 0 130 0 0            en1 1500 192.168.3 192.168.3.140 1289860 0 130 0 0            en1 1500 192.168.2 192.168.2.140 1289860 0 130 0 0            en0* 1500 link#3 0.6.29.bc.b.a4 1793526 0 546358 0 0            en0* 1500 192.168.1 192.168.1.140 1793526 0 546358 0 0            lo0 16896 link#1 1174 0 18305 0 0            lo0 16896 127 127.0.0.1 1174 0 18305 0 0            lo0 16896 ::1 1174 0 18305 0 0            

用命令:# ifconfig en0 up 重新启动 en0,ifconfig en1 down,宕掉接管了 Service 网卡 IP 地址 Standby 网卡。

用命令:# netstat -in,查看 boot 网卡是否将 IP 地址接管回来,输出如下:

en1* 1500 link#2 0.6.29.dc.d5.88 1289860 0 130 0 0            en1* 1500 192.168.3 192.168.3.140 1289860 0 130 0 0            en0 1500 link#3 0.6.29.bc.b.a4 1793526 0 546358 0 0            en0 1500 192.168.1 192.168.1.140 1793526 0 546358 0 0            en0 1500 192.168.2 192.168.2.140 1289860 0 130 0 0            lo0 16896 link#1 1174 0 18305 0 0            lo0 16896 127 127.0.0.1 1174 0 18305 0 0            lo0 16896 ::1 1174 0 18305 0 0            

网络故障

如果发往 node1 上的 service 和 standby 网卡上的 K-A (Keep-Alive 信息 ) 包全都丢失,而非 TCP/IP 网络上的 K-A 仍然存在,那么 HACMP 判断 node1 仍然正常而网络发生故障。此时 HACMP 执行一个 network_down 事件。

网卡连接电缆故障:

用命令:# ps –ef | grep cluster,确认所有节点上的 HACMP 已启动。

用命令:# errclear 0,清空系统错误日志。

用命令:# tail –f /tmp/hacmp.out,监控 HACMP 的运行状态。

断开与 Service 网卡连接的网线。

用命令:# netstat –in,查看 Standby 网卡是否接管了 Service 网卡的 IP 地址

重新连接上与原 Service 网卡连接的网线。

用命令:# netstat –in,查看此时原 Service 网卡的 IP 地址是否为原 Standby 网卡的 IP 地址。

断开与原 Standby 网卡连接的网线。

用命令:# netstat –in,查看 Service 网卡的 IP 地址是否恢复为原来的 Service 网卡的 IP 地址。

重新连接上与 Standby 网卡连接的网线。

用命令:# netstat –in,查看 Standby 网卡的 IP 地址是否恢复为原来的 Standby 网卡的 IP 地址。

节点故障

如果不仅 TCP/IP 网络上的 K-A 全部丢失,而且非 TCP/IP 网络上的 K-A 也丢

失,那么 HACMP 断定该节点发生故障,并产生 node-down 事件。此时将有资源接管,

即放在共享磁盘陈列上的资源将由备份节点接管,接管包括一系列操作:

  • Acquire disks
  • Varyon VG
  • Mount file systems
  • Export NFS file systems
  • Assume IP networkAddress
  • Restart highly available applications

其中 IP 地址接管和重新启动应用由 HACMP 来实现,而其它是由 AIX 来完成。

当整个节点发生故障时,HACMP 将故障节点的 service IP address 转移到备份节点上,使网络上的 client 仍然使用这个 IP 地址,这个过程称为 IP 地址接管

(IPAT)。当一个节点 down 掉后,如果设置了 IP 地址接管,网络上的 clients 会自动连接到接管节点上;同样,如果设置了应用接管,该应用会在接管节点上自动重启,从而使系统能继续对外服务。对于要实现接管的应用,只需在 HACMP 中把它们设置成 application server, 并告诉 HACMP 启动这个应用的 start script 的全路径名和停止该应用的 stop script 的全路径名。由此可见,应用接管的配置在 HACMP 中十分简单,重要的是 start script 和 stop script 的编写,这需要用户对自己应用的了解。

模拟操作系统崩溃

用命令:# ps –ef | grep cluster,确认所有节点上的 HACMP 已启动。

用命令:# errclear 0,清空系统错误日志。

用命令:# tail –f /tmp/hacmp.out,监控 HACMP 的运行状态。

用命令:# cat /etc/hosts > /dev/kmem,模拟操作系统崩溃状态。

用命令:# netstat –in ,# lsvg –o,# ps –ef APP_PID(APP_ID 为应用程序进程的 ID),查看备份节点是否接管了故障节点的 Service 地址、共享卷组和应用程序。

(故障节点修复中 ......................)

重新启动故障节点,并启动 HACMP。

用命令:# netstat –in,# lsvg –o,# ps –ef APP_PID,查看该节点是否将原属于他的 Service 地址、共享卷组和应用程序接管回来了。

模拟 CPU 故障

用命令:# ps –ef | grep cluster,确认所有节点上的 HACMP 已启动。

用命令:# errclear 0,清空系统错误日志。

用命令:# tail –f /tmp/hacmp.out,监控 HACMP 的运行状态。

直接断开某个节点的电源,模拟 CPU 故障(此操作有一定风险,请谨慎使用)。

用命令:# netstat –in,# lsvg –o,# ps –ef APP_PID,查看备份节点是否接管了故障节点的 Service 地址、共享卷组和应用程序。

(故障节点修复中 ......................)

重新启动故障节点,并启动 HACMP。

用命令:# netstat –in,# lsvg –o,# ps –ef APP_PID,查看该节点是否将原属于他的 Service 地址、共享卷组和应用程序接管回来。

总结

IBM HACMP 的配置和使用十分灵活,用户可以根据实际情况选择 RS-232 模式、SCSI Target 模式、SSA Target 模式或者 Enhanced Concurrent Mode Disk HB 配置 Non-IP Network。SSA Target 模式具有速度快、可靠性高等特性,在使用 IBM 7133 作为共享存储时不失为一种较好的非 IP 网络心跳选择方案。


参考资料

学习

  • AIX and UNIX 专区:developerWorks 的“AIX and UNIX 专区”提供了大量与 AIX 系统管理的所有方面相关的信息,您可以利用它们来扩展自己的 UNIX 技能。

  • AIX and UNIX 新手入门:访问“AIX and UNIX 新手入门”页面可了解更多关于 AIX 和 UNIX 的内容。

  • AIX Wiki:发现 AIX 相关技术信息的协作环境。

  • 按主题搜索“AIX and UNIX”库:
    • 系统管理
    • 应用程序开发
    • 性能
    • 移植
    • 安全性
    • 提示
    • 工具和实用程序
    • Java™ 技术
    • Linux
    • 开放源代码

  • Safari 书店:访问此电子参考资料库可查找特定的技术资源。

  • developerWorks 技术事件和网络广播:了解最新的 developerWorks 技术事件和网络广播。

  • Podcasts:收听 Podcast 并与 IBM 技术专家保持同步。

获得产品和技术

  • IBM 试用软件:从 developerWorks 可直接下载这些试用软件,您可以利用它们开发您的下一个项目。

讨论

  • 参与 developerWorks Blog,从而加入到 developerWorks 社区中来。

  • 参与“AIX and UNIX”论坛:
    • AIX 5L——技术论坛
    • AIX for Developers 论坛
    • 集群系统管理
    • IBM Support Assistant
    • 性能工具——技术
    • 虚拟化——技术
    • 更多“AIX and UNIX”论坛