IBM PowerHA System Mirror for AIX是集群软件,当系统发生故障时,它可以将资源或资源组(应用程序)自动或手动移动到另一个IBMAIX®系统。
心跳和故障检测是在群集可用的所有接口上执行的。 这可能是网络接口,光纤通道(FC)适配器接口和Cluster Aware AIX(CAA)存储库磁盘。
在PowerHA 6.1和早期版本中,不支持通过FC适配器接口进行心跳,而是使两个节点都可以使用SAN附加的心跳磁盘,该磁盘用于心跳和故障检测。 在PowerHA 7.1中,不再支持使用心跳磁盘,并且支持通过SAN配置心跳是代替心跳磁盘使用的受支持方法。
为了使SAN发生心跳,需要将AIX系统中的FC适配器配置为充当目标和发起方 。 在大多数SAN环境中,启动器设备属于服务器,该服务器通常是主机总线适配器(HBA),而目标通常是存储设备,例如存储控制器或磁带设备。 IBM AIX 7.1信息中心包含可以支持目标方式的受支持的FC适配器的列表。 这些适配器可用于SAN上的心跳。
总览
在本文中,我提供了有关如何在两种情况下设置SAN心跳的简单示例。 第一个示例使用物理I / O的两个AIX系统,另一个示例使用虚拟I / O服务器和N端口ID虚拟化(NPIV)的两个AIX逻辑分区(LPAR)。
在每个示例中,我们都有一个两节点的PowerHA 7.1集群,其中一个节点位于另一台基于IBMPOWER®处理器的服务器上。 本文不介绍如何配置共享存储,高级网络通信或应用程序控制器。 这是有关如何构建非常简单的群集并使SAN心跳正常运行的实际示例。
要求
必须满足以下最低要求,以确保我们可以创建集群并配置SAN心跳:
- 必须使用最新技术级别和Service Pack在两个AIX系统上安装AIX 6.1或AIX 7.1(最好是AIX 7.1)。
- 需要使用最新的Service Pack在两个AIX系统上安装PowerHA 7.1。
- 服务器中的FC适配器必须支持目标模式 ,并且如果正在使用NPIV,则它们必须是支持NPIV的8 GBps适配器。 本文介绍的方案2需要NPIV支持。
- 如果正在使用虚拟I / O服务器,则VIOS代码应该是IOS 2.2的最新Service Pack。 本文中的方案2是必需的。
- 如果正在使用NPIV,则光纤交换机必须启用NPIV支持,并且处于受支持的固件级别。 这是本文中介绍的方案2所必需的。
- 必须为两个AIX系统分配一个逻辑单元号(LUN),以用作CAA存储库磁盘。
- 必须为两个AIX系统分配一个LUN,以用作集群的共享存储。
方案1:使用物理I / O的两个节点
在这种情况下,我们有一个非常简单的环境,其中有两个基于POWER处理器的系统,每个系统都有一个AIX实例。 这些系统位于PowerHA集群中,并通过冗余SAN结构连接到共享存储。
下图从总体上概述了这种情况。
图1.场景1的概述
SAN分区要求
在创建群集之前,需要进行SAN分区。 您需要配置以下两种类型的区域。
- 储存区
- 心跳区
要配置分区,请首先登录每个节点,验证FC适配器是否可用,然后捕获每个适配器端口的全球端口号(WWPN),如以下示例所示。
root@ha71_node1:/home/root# lsdev -Cc adapter |grep fcs
fcs0 Available 02-T1 8Gb PCI Express Dual Port FC Adapter
fcs1 Available 03-T1 8Gb PCI Express Dual Port FC Adapter
fcs2 Available 02-T1 8Gb PCI Express Dual Port FC Adapter
fcs3 Available 03-T1 8Gb PCI Express Dual Port FC Adapter
root@ha71_node1:/home/root# for i in `lsdev -Cc adapter |awk '{print $1}'
|grep fcs `; do print ${i} - $(lscfg -vl $i |grep Network |awk '{print $2}'
|cut -c21-50| sed 's/../&:/g;s/:$//'); done
fcs0 - 10:00:00:00:C9:CC:49:44
fcs1 - 10:00:00:00:C9:CC:49:45
fcs2 - 10:00:00:00:C9:C8:85:CC
fcs3 - 10:00:00:00:C9:C8:85:CD
root@ha71_node1:/home/root#
root@ha71_node2:/home/root# lsdev -Cc adapter |grep fcs
fcs0 Available 02-T1 8Gb PCI Express Dual Port FC Adapter
fcs1 Available 03-T1 8Gb PCI Express Dual Port FC Adapter
fcs2 Available 02-T1 8Gb PCI Express Dual Port FC Adapter
fcs3 Available 03-T1 8Gb PCI Express Dual Port FC Adapter
root@ha71_node2:/home/root# for i in `lsdev -Cc adapter |awk '{print $1}'
|grep fcs `; do print ${i} - $(lscfg -vl $i |grep Network |awk '{print $2}'
|cut -c21-50| sed 's/../&:/g;s/:$//'); donefcs0 - 10:00:00:00:C9:A9:2E:96
fcs1 - 10:00:00:00:C9:A9:2E:97
fcs2 - 10:00:00:00:C9:CC:2A:7C
fcs3 - 10:00:00:00:C9:CC:2A:7D
root@ha71_node2:/home/root#
在知道WWPN之后,可以在光纤交换机上进行分区。 将HBA适配器分区到用于共享存储的存储控制器上的存储端口,并创建可用于心跳的区域。 下图概述了如何创建心跳区。
图2.创建心跳区概述(场景1)
确保将第一个节点上每个FC适配器的一个端口分区到第二个节点上每个FC适配器的另一个端口。
AIX中的设备配置
分区完成后,下一步是在AIX中的每个适配器设备上启用目标模式 。 这需要在已用于心跳区域的每个适配器上执行。 在SAN分区示例中,每个节点上的适配器fcs0
和fcs2
已用于SAN心跳区域。
要启用目标模式 ,必须在fscsi
设备上同时启用dyntrk
(动态跟踪)和fast_fail
,并且需要在fcs
设备上启用目标模式 。
要启用目标模式 ,请在要分区的两个节点上执行以下步骤。
root@ha71_node1:/home/root# rmdev –l fcs0 –R
fscsi0 Defined
fcs0 Defined
root@ha71_node1:/home/root# rmdev –l fcs2 –R
fscsi2 Defined
fcs2 Defined
root@ha71_node1:/home/root# chdev –l fscsi0 –a dyntrk=yes -a fc_err_recov=fast_fail
fscsi0 changed
root@ha71_node1:/home/root# chdev –l fscsi2 –a dyntrk=yes –a fc_err_recov=fast_fail
fscsi2 changed
root@ha71_node1:/home/root# chdev –l fcs0 -a tme=yes
fcs0 changed
root@ha71_node1:/home/root# chdev –l fcs2 -a tme=yes
fcs2 changed
root@ha71_node1:/home/root# cfgmgr
root@ha71_node1:/home/root#
root@ha71_node2:/home/root# rmdev –l fcs0 –R
fscsi0 Defined
fcs0 Defined
root@ha71_node2:/home/root# rmdev –l fcs2 –R
fscsi2 Defined
fcs2 Defined
root@ha71_node2:/home/root# chdev –l fscsi0 –a dyntrk=yes –a fc_err_recov=fast_fail
fscsi0 changed
root@ha71_node2:/home/root# chdev –l fscsi2 –a dyntrk=yes –a fc_err_recov=fast_fail
fscsi2 changed
root@ha71_node2:/home/root# chdev –l fcs0 -a tme=yes
fcs0 changed
root@ha71_node2:/home/root# chdev –l fcs2 -a tme=yes
fcs2 changed
root@ha71_node2:/home/root# cfgmgr
root@ha71_node2:/home/root#
如果设备繁忙,请在命令末尾使用–P
选项进行更改,然后重新启动服务器。 这将导致更改在服务器的下一次启动时应用。
可以通过检查fscsi
设备的属性来验证目标模式设置。 以下示例显示如何检查其中一个节点上的fscsi0
和fcs0
。 应该在两个节点上的每个fcs0
和fcs2
适配器上都进行检查。
root@ha71_node1:/home/root# lsattr -El fscsi0
attach switch How this adapter is CONNECTED False
dyntrk yes Dynamic Tracking of FC Devices True
fc_err_recov fast_fail FC Fabric Event Error RECOVERY Policy True
scsi_id 0xbc0e0a Adapter SCSI ID False
sw_fc_class 3 FC Class for Fabric True
root@ha71_node1:/home/root# lsattr -El fcs0 |grep tme
tme yes Target Mode Enabled True
root@ha71_node1:/home/root#
启用目标模式后,我们接下来应该寻找可用的sfwcomm
设备。 这些设备用于PowerHA错误检测和SAN心跳。
检查这些设备在两个节点上是否均可用。
root@ha71_node1:/home/root# lsdev -C |grep sfwcomm
sfwcomm0 Available 02-T1-01-FF Fibre Channel Storage Framework Comm
sfwcomm1 Available 03-T1-01-FF Fibre Channel Storage Framework Comm
sfwcomm2 Available 02-T1-01-FF Fibre Channel Storage Framework Comm
sfwcomm3 Available 03-T1-01-FF Fibre Channel Storage Framework Comm
root@ha71_node1:/home/root#
root@ha71_node1:/home/root# lsdev -C |grep sfwcomm
sfwcomm0 Available 02-T1-01-FF Fibre Channel Storage Framework Comm
sfwcomm1 Available 03-T1-01-FF Fibre Channel Storage Framework Comm
sfwcomm2 Available 02-T1-01-FF Fibre Channel Storage Framework Comm
sfwcomm3 Available 03-T1-01-FF Fibre Channel Storage Framework Comm
root@ha71_node1:/home/root#
方案2:使用虚拟I / O服务器的两个节点
在这种情况下,使用的环境稍微复杂一些,其中有两个基于POWER处理器的系统,每个系统都具有使用VIOS的双VIOS和LPAR。 这些LPAR位于PowerHA集群中,并使用冗余SAN结构连接到共享存储。
使用VIOS时,与物理I / O方案不同的是,必须将虚拟I / O服务器的FC端口分区在一起。 然后有一个私有虚拟LAN(VLAN),其端口VLAN ID为3358(3358是唯一可以使用的VLAN ID),用于通过虚拟机管理程序从虚拟I / O服务器到客户端LPAR进行心跳通信。是我们的PowerHA节点。
在这种情况下,需要执行以下高级步骤。
- 在VIOS FC适配器上打开目标模式 。
- 将VIOS端口分区在一起。
- 配置专用3358 VLAN用于心跳流量。
- 配置PowerHA集群。
下图从总体上概述了这种情况。
图3.方案2概述
SAN分区要求
在创建群集之前,需要进行SAN分区。 您需要配置以下两种类型的区域。
- 储存区
- 包含LPAR的虚拟WWPN
- 包含存储控制器的WWPN
- 心跳区(包含VIOS物理WWPN)
- 每台计算机上的VIOS应该一起分区。
- 客户端LPAR的虚拟WWPN不应分区在一起。
执行分区时,登录到每个VIOS(每个受管系统上的两个VIOS)并验证FC适配器是否可用,并捕获WWPN信息以进行分区。 以下示例显示了如何在一个VIOS上执行此步骤。
$ lsdev -type adapter |grep fcs
fcs0 Available 02-T1 8Gb PCI Express Dual Port FC Adapter
fcs1 Available 03-T1 8Gb PCI Express Dual Port FC Adapter
fcs2 Available 02-T1 8Gb PCI Express Dual Port FC Adapter
fcs3 Available 03-T1 8Gb PCI Express Dual Port FC Adapter
$ for i in `lsdev -type adapter |awk '{print $1}' |grep fcs `;
do print ${i} - $(lsdev -dev $i -vpd
|grep Network |awk '{print $2}' |sed 's/Address.............//g'
| sed 's/../&:/g;s/:$//'); done
fcs0 - 10:00:00:00:C9:B7:65:32
fcs1 - 10:00:00:00:C9:B7:65:33
fcs2 - 10:00:00:00:C9:B7:63:60
fcs3 - 10:00:00:00:C9:B7:63:61
还需要从客户端LPAR中为存储区域捕获虚拟WWPN。 以下示例显示了如何在两个节点上执行此步骤。
root@ha71_node1:/home/root# lsdev -Cc adapter |grep fcs
fcs0 Available 02-T1 Virtual Fibre Channel Client Adapter
fcs1 Available 03-T1 Virtual Fibre Channel Client Adapter
fcs2 Available 02-T1 Virtual Fibre Channel Client Adapter
fcs3 Available 03-T1 Virtual Fibre Channel Client Adapter
root@ha71_node1:/home/root# for i in `lsdev -Cc adapter |awk '{print $1}'
|grep fcs `; do print ${i} - $(lscfg -vl $i |grep Network |awk '{print $2}'
|cut -c21-50| sed 's/../&:/g;s/:$//'); done
fcs0 – c0:50:76:04:f8:f6:00:40
fcs1 – c0:50:76:04:f8:f6:00:42
fcs2 – c0:50:76:04:f8:f6:00:44
fcs3 – c0:50:76:04:f8:f6:00:46
root@ha71_node1:/home/root#
root@ha71_node2:/home/root# lsdev -Cc adapter |grep fcs
fcs0 Available 02-T1 Virtual Fibre Channel Client Adapter
fcs1 Available 03-T1 Virtual Fibre Channel Client Adapter
fcs2 Available 02-T1 Virtual Fibre Channel Client Adapter
fcs3 Available 03-T1 Virtual Fibre Channel Client Adapter
root@ha71_node2:/home/root# for i in `lsdev -Cc adapter |awk '{print $1}'
|grep fcs `; do print ${i} - $(lscfg -vl $i |grep Network |awk '{print $2}'
|cut -c21-50| sed 's/../&:/g;s/:$//'); done
fcs0 – C0:50:76:04:F8:F6:00:00
fcs1 – C0:50:76:04:F8:F6:00:02
fcs2 – C0:50:76:04:F8:F6:00:04
fcs3 – C0:50:76:04:F8:F6:00:06
root@ha71_node2:/home/root#
在知道WWPN之后,可以在光纤交换机上进行分区。 将LPAR的虚拟WWPN分区到用于共享存储的存储控制器上的存储端口,并创建包含VIOS物理端口的区域,这些区域将用于心跳。 下图概述了如何创建心跳区。
图4.创建心跳区概述(场景2)
虚拟I / O服务器FC适配器配置
分区完成后,下一步是在每个VIOS中的每个适配器设备上启用目标模式 。 这需要在已用于心跳区域的每个适配器上执行。 在SAN分区示例中,每个节点上的fcs0
和fcs2
适配器已用于SAN心跳线区域。
要启用目标模式 ,必须在fscsi
设备上同时启用dyntrk
(动态跟踪)和fast_fail
,并且需要在fcs
设备上启用目标模式 。
要启用目标模式 ,请在每个受管系统上的两个VIOS上执行以下步骤。
$ chdev -dev fscsi0 -attr dyntrk=yes fc_err_recov=fast_fail –perm
fscsi0 changed
$ chdev -dev fcs0 -attr tme=yes –perm
fcs0 changed
$ chdev -dev fscsi2 -attr dyntrk=yes fc_err_recov=fast_fail –perm
fscsi2 changed
$ chdev -dev fcs2 -attr tme=yes –perm
fcs2 changed
$ shutdown -restart
必须重新启动每个VIOS,因此,强烈建议一次修改一个VIOS。
虚拟I / O服务器网络配置
使用VIOS时,将属于VIOS的物理FC适配器分区在一起。 这样可以在每个受管系统上的VIOS之间提供连接,但是对于客户端LPAR(HA节点)连接,必须配置专用VLAN来提供此功能。
VLAN ID必须为3358才能起作用。 下图描述了虚拟以太网设置。
图5.虚拟以太网设置
首先,登录到每个VIOS,然后向每个共享的以太网桥适配器添加一个额外的VLAN。 这提供了VIOS与3358 VLAN的连接。
下图显示了如何将此附加VLAN添加到网桥适配器。
图6.将其他VLAN添加到网桥适配器
接下来,在客户端分区上创建虚拟以太网适配器,并将端口虚拟VLAN ID设置为3358。这将提供客户端LPAR与3358 VLAN的连接。
在AIX中,运行cfgmgr
命令并选择虚拟以太网适配器。
不要在该接口上放置IP地址。
图7.在客户端分区上创建虚拟以太网适配器
完成此操作后,我们可以创建我们的PowerHA集群,并且可以使用SAN心跳。
PowerHA集群配置
创建集群之前,第一步是执行以下任务:
- 编辑/ etc / environment并将/ usr / es / sbin / cluster / utilities和/ usr / es / sbin / cluster /添加到
$PATH
变量中。 - 填充/ etc / cluster / rhosts 。
- 填充/usr/es/sbin/cluster/netmon.cf 。
完成此操作后,可以使用smitty sysmirror或在命令行上创建集群。 在以下示例中,我创建了一个名为ha71_cluster的简单两节点集群。
root@ha71_node1:/home/root # clmgr add cluster ha71_cluster NODES="ha71_node1 ha71_node2"
Warning: to complete this configuration, a repository disk must be defined.
Cluster Name: ha71_cluster
Cluster Connection Authentication Mode: Standard
Cluster Message Authentication Mode: None
Cluster Message Encryption: None
Use Persistent Labels for Communication: No
Repository Disk: None
Cluster IP Address:
There are 2 node(s) and 1 network(s) defined
NODE ha71_node1:
Network net_ether_01
ha71_node1 172.16.5.251
NODE ha71_node2:
Network net_ether_01
ha71_node2 172.16.5.252
No resource groups defined
Initializing..
Gathering cluster information, which may take a few minutes...
Processing...
….. etc…..
Retrieving data from available cluster nodes. This could take a few minutes.
Start data collection on node ha71_node1
Start data collection on node ha71_node2
Collector on node ha71_node1 completed
Collector on node ha71_node2 completed
Data collection complete
Completed 10 percent of the verification checks
Completed 20 percent of the verification checks
Completed 30 percent of the verification checks
Completed 40 percent of the verification checks
Completed 50 percent of the verification checks
Completed 60 percent of the verification checks
Completed 70 percent of the verification checks
Completed 80 percent of the verification checks
Completed 90 percent of the verification checks
Completed 100 percent of the verification checks
IP Network Discovery completed normally
Current cluster configuration:
Discovering Volume Group Configuration
root@ha71_node1:/home/root #
创建集群定义后,下一步是检查每个节点上是否有可用磁盘,以便我们可以配置CAA存储库。
root@ha71_node1:/home/root# lsdev –Cc disk
hdisk0 Available 00-00-01 IBM MPIO FC 2107
hdisk1 Available 00-00-01 IBM MPIO FC 2107
root@ha71_node1:/home/root# lspv
hdisk0 000966fa5e41e427 rootvg active
hdisk1 000966fa08520349 None
root@ha71_node1:/home/root#
root@ha71_node2:/home/root# lsdev –Cc disk
hdisk0 Available 00-00-01 IBM MPIO FC 2107
hdisk1 Available 00-00-01 IBM MPIO FC 2107
root@ha71_node2:/home/root# lspv
hdisk0 000966fa46c8abcb rootvg active
hdisk1 000966fa08520349 None
root@ha71_node2:/home/root#
从上面的示例可以明显看出, hdisk1是每个节点上的空闲磁盘。 因此,这可用于存储库。 接下来,修改集群定义以包括集群存储库磁盘。 我们在两个节点上的可用磁盘都是hdisk1。
可以使用smitty hacmp或在命令行上执行此操作。 以下示例显示如何在命令行上执行此步骤。
root@ha71_node1:/home/root # clmgr modify cluster ha71_cluster REPOSITORY=hdisk1
Cluster Name: ha71_cluster
Cluster Connection Authentication Mode: Standard
Cluster Message Authentication Mode: None
Cluster Message Encryption: None
Use Persistent Labels for Communication: No
Repository Disk: hdisk1
Cluster IP Address:
There are 2 node(s) and 1 network(s) defined
NODE ha71_node1:
Network net_ether_01
ha71_node1 172.16.5.251
NODE ha71_node2:
Network net_ether_01
ha71_node2 172.16.5.252
No resource groups defined
Current cluster configuration:
root@ha71_node1:/home/root #
下一步是验证和同步集群配置。 可以使用smitty hacmp或在命令行上执行此操作。 以下示例显示如何在命令行上同步群集拓扑和资源。
root@ha71_node1:/home/root # cldare -rt
Timer object autoclverify already exists
Verification to be performed on the following:
Cluster Topology
Cluster Resources
Retrieving data from available cluster nodes. This could take a few minutes.
Start data collection on node ha71_node1
Start data collection on node ha71_node2
Collector on node ha71_node2 completed
Collector on node ha71_node1 completed
Data collection complete
Verifying Cluster Topology...
Completed 10 percent of the verification checks
WARNING: Multiple communication interfaces are recommended for networks that
use IP aliasing in order to prevent the communication interface from
becoming a single point of failure. There are fewer than the recommended
number of communication interfaces defined on the following node(s) for
the given network(s):
Node: Network:
---------------------------------- ----------------------------------
ha71_node1 net_ether_01
ha71_node2 net_ether_01
Completed 20 percent of the verification checks
Completed 30 percent of the verification checks
Saving existing /var/hacmp/clverify/ver_mping/ver_mping.log to
/var/hacmp/clverify/ver_mping/ver_mping.log.bak
Verifying clcomd communication, please be patient.
Verifying multicast communication with mping.
Verifying Cluster Resources...
Completed 40 percent of the verification checks
Completed 50 percent of the verification checks
Completed 60 percent of the verification checks
Completed 70 percent of the verification checks
Completed 80 percent of the verification checks
Completed 90 percent of the verification checks
Completed 100 percent of the verification checks
… etc…
Committing any changes, as required, to all available nodes...
Adding any necessary PowerHA SystemMirror entries to
/etc/inittab and /etc/rc.net for IPAT on node ha71_node1.
Adding any necessary PowerHA SystemMirror entries
to /etc/inittab and /etc/rc.net for IPAT on node ha71_node2.
Verification has completed normally.
root@ha71_node1:/home/root #
现在已经配置了基本群集,最后一步是验证SAN心跳是否启动。
lscluster –i
命令显示集群接口及其状态。 sfwcom
(存储框架通信)接口是SAN心跳。
在以下示例中,我们可以从一个节点中进行检查,以确保SAN心跳启动。 好消息!
root@ha71_node1:/home/root # lscluster -i sfwcom
Network/Storage Interface Query
Cluster Name: ha71_cluster
Cluster uuid: 7ed966a0-f28e-11e1-b39b-62d58cd52c04
Number of nodes reporting = 2
Number of nodes expected = 2
Node ha71_node1
Node uuid = 7ecf4e5e-f28e-11e1-b39b-62d58cd52c04
Number of interfaces discovered = 3
Interface number 3 sfwcom
ifnet type = 0 ndd type = 304
Mac address length = 0
Mac address = 0.0.0.0.0.0
Smoothed rrt across interface = 0
Mean Deviation in network rrt across interface = 0
Probe interval for interface = 100 ms
ifnet flags for interface = 0x0
ndd flags for interface = 0x9
Interface state UP
root@ha71_node1:/home/root #
本文未介绍群集配置的其余步骤,例如配置共享存储,镜像池,文件集合,应用程序控制器,监视器等。
翻译自: https://www.ibm.com/developerworks/aix/library/au-aix-powerha-heartbeat/index.html