Technical Blog Post
Abstract
IBM i上HTTP server集群的配置
Body
原文地址:http://www.ibmsystemsmag.com/ibmi/HA_easy_clustering/33554p1.aspx
IBM i上HTTP server集群的配置
越来越多的企业意识到集群对web服务的重要性。集群对企业最大的好处是可以提供更好的高可用性和易维护性。
IBM i上HTTP servers可以利用IBM i的集群技术来建立高可用的web集群环境。
目前在IBM i上支持如下三种集群模式
• Primary or backup with takeover Internet Protocol (IP) model
• Primary or backup with a network dispatcher model
• Peer model
这篇文章将重点介绍怎么以第一种模式即 takeover IP模式在IBM i上建立HTTP server的集群。这种模式可以快速便捷的建立高可用的web servers集群服务,并且不需要其它额外软件的支持。另两种模式需要诸如IBM WebSphere Edge server等来建立集群环境。
Primary or backup with takeover Internet Protocol (IP) model
在主备takeover Ip模式里。Web server运行于主或备节点中。备节点保持空闲状态并在主节点失败或发生主备节点切换的时候切换为主节点。目前,对IPv6的HTTP server集群访问模式在V7R1之后支持。
图1描述了主备takeover Ip模式。
Figure 1
下面将详细介绍怎么在IBM i上配置HA。
软件需求:
V7R1:
5770SS1 41 HA Switchable Resources
5770DG1 *BASE IBM HTTP Server for i
5770HAS *BASE IBM PowerHA for i Standard Edition
5770HAS 1 PowerHA for i Enterprise Edition
V6R1:
5761SS1 41 HA Switchable Resources
5761DG1 *BASE IBM HTTP Server for i
5761HAS *BASE iHASM
V5R4:
5722SS1 41 HA Switchable Resources
5722DG1 *BASE IBM HTTP Server for i
步骤1:系统配置
分别在Machine1 和Machine2上配置如下IP地址和IP takeover地址。
System Name I/P Address Use
Machine1 9:123:96:141/32 Primary System - Node A
Machine2 9:123:96:53/32 Backup System - Node B
Machine1 & Machine2 9.123.96.249/255.255.255.255 IP takeover address
使用下面的命令在主备系统创建IP takeover address。
ADDTCPIFC INTNETADR('9:123:96:249') LIND(*VIRTUALIP) SUBNETMASK('255.255.255.255')
提示:
1. IP address必须配置为Virtual IP Address with proxy Apache Portable Runtime (VIPA with proxy ARP)并且VIPA可路由到同一子网内别的IP地址。
2. 参数AUTOSTART须指定为*NO,因为在HTTP Server启动之前IP Takeover address必须是inactive的。
如图2所示。
Figure 2.
Ip地址配置完成后,分别在两个系统上运行下面的指令。确保集群运行所需要的服务都运行了。
1. 改变网络属性为允许创建cluster:CHGNETA ALWADDCLU(*ANY)
2. 集群服务要使用TCP服务 *INETD。用如下命令查看是否 启动QTOGINTD job。如果该job没有启动。用strtcpsvr命令启动*INETD TCP服务。
WRKACTJOB JOB(QTOGINTD)
STRTCPSVR *INETD
3. 通过命令DSPSBSD查看是否QBATCH子系统能处理多个批处理的工作
DSPSBSD QBATCH
选6得到如下结果
Seq Job Max ---------Max by Priority----------
Nbr Queue Library Active 1 2 3 4 5 6 7 8 9
10 QBATCH QGPL *NOMAX * * * * * * * * *
4. 通过CFGTCP命令查看在是否两台系统中的LOOPBACK地址都起来了。
步骤二: 设置集群服务
为确保集群服务的正常运行必须先设置主节点。命令如下:
CRTCLU CLUSTER(HATEST) NODE((NodeA ('9:123:96:141')))
运行如下命令增加节点B到该集群中:
ADDCLUNODE CLUSTER(HATEST) NODE(NodeB ('9:123:96:53'))
提示:可以使用DSPCLUINF命令查看集群的信息, 使用DSPCRGINF命令查看集群的状态。
Cluster Resource Group (CRG)不用手动去创建,系统会根据节点的起停状态动态的产生和删除。
配置IBM HTTP server监听IP takeover的地址和端口。图3是主节点A的一个配置文件示例
Figure 3
在主节点A建立一个测试使用的web页面A_HABPIP.html。页面信息如下:
************Beginning of data**************
<Html>
<Head><title>Welcome
</title></head>
<Body>
<H1 ALIGN="CENTER">A_HAPBIP.html</H1>
<h3>Welcome page for node A"(on node B, this should be "Welcome page for node B" in order to see the change while the primary system was changed)</h3>
<Hr>
This is Primary or Backup with IP takeover.
</body>
</html>
************End of Data********************
在备用server上,拷贝和粘贴整个主节点下web应用中的HTML,GIFs等等,并把这些文件放在和主节点web应用中相同的目录结构下。
提示:主备server的HTTP实例名字必须是相同的。
步骤四:集群运行测试
1. 用如下命令启动IBM i节点A和B上的HTTP servers。
STRTCPSVR SERVER (*HTTP) HTTPSVR (<instance_name>)
使用命令DSPCRGINF CLUSTER(HATEST) CRG(*LIST)查看集群的信息。Active的Cluster Resource Group位于节点A。
Display CRG Information
Cluster resource group . . . . . : *LIST
Consistent information in cluster: Yes
Number of cluster resource groups: 2
Cluster Resource Group List
Cluster Resource Group CRG Type Status Primary Node
A_HAPBIP *APP Active NODEA
AXHAU80N5O *DATA Inactive NODEA
You can see the primary node is NodeA and is active.
3. 你可以通过命令CHGCRGPRI来模拟手动的切换主备节点。 该命令运行后,主节点将从Node A切换至Node B。
CHGCRGPRI CLUSTER(HATEST) CRG(<instance name>)
为了更好的模拟客户的实际环境,可以把位于主节点A的HTTP Server停掉,或者关闭主节点A的LPAR。
节点A的HTTP Server被停掉后,IP takeover地址将立刻被节点B接管。
使用命令DSPCRGINF CLUSTER(HATEST) CRG(*LIST)查看集群的信息。Active的Cluster Resource Group位于节点B。
Display CRG Information
Cluster . . . . . . . . . . . . . . . . . . . . .: HATEST
Cluster resource group . . . . . . . . . : *LIST
Consistent information in cluster: Yes
Number of cluster resource groups: 2
Cluster Resource Group List
Cluster Resource Group CRG Type Status Primary Node
A_HAPBIP *APP Active NodeB
AXHAU80N5O *DATA Inactive NodeA
You can see the primary node is NodeA and is active.
该html页面将被处于节点B的HTTP server解析。
至此简单的Web server集群配置完成了。大家可以方便的在这个集群环境下部署自己的WEB应用了。
UID
ibm11145716