IBM Support

IBM i上HTTP server集群的配置

Technical Blog Post


Abstract

IBM i上HTTP server集群的配置

Body

 

 原文地址:http://www.ibmsystemsmag.com/ibmi/HA_easy_clustering/33554p1.aspx

IBM iHTTP 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运行于主或备节点中。备节点保持空闲状态并在主节点失败或发生主备节点切换的时候切换为主节点。目前,对IPv6HTTP 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. 改变网络属性为允许创建clusterCHGNETA 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
配置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应用中的HTMLGIFs等等,并把这些文件放在和主节点web应用中相同的目录结构下。
提示:主备serverHTTP实例名字必须是相同的。

步骤四:集群运行测试
1.
用如下命令启动IBM i节点AB上的HTTP servers
STRTCPSVR SERVER (*HTTP) HTTPSVR (<instance_name>)

2. 运行CL命令NETSTAT并选择option 1. 可以看见当前的IP takeover 地址,这个IP takeover 地址应该被主节点A上的HTTP server监听。
使用命令DSPCRGINF CLUSTER(HATEST) CRG(*LIST)查看集群的信息。ActiveCluster Resource Group位于节点A
                           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                    NODEA 
      AXHAU80N5O              *DATA            Inactive                 NODEA  
 You can see the primary node is NodeA and is active.
 
打开浏览器,输入请求http://9:123:96:249:10108/A_HAPBIP.html
如果当前主系统在节点A。该html页面将被处于节点AHTTP server解析。

3. 你可以通过命令CHGCRGPRI来模拟手动的切换主备节点。 该命令运行后,主节点将从Node A切换至Node B
CHGCRGPRI CLUSTER(HATEST) CRG(<instance name>)

为了更好的模拟客户的实际环境,可以把位于主节点AHTTP Server停掉,或者关闭主节点ALPAR
节点AHTTP Server被停掉后,IP takeover地址将立刻被节点B接管。

4. 运行CL命令NETSTAT并选择option 1. 可以看见当前的IP takeover 地址,这个IP takeover 地址应该被节点B上的HTTP server监听。
使用命令DSPCRGINF CLUSTER(HATEST) CRG(*LIST)查看集群的信息。ActiveCluster 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.
再次打开浏览器,输入http://9:123:96:249:10108/A_HAPBIP.html

html页面将被处于节点BHTTP server解析。

至此简单的Web server集群配置完成了。大家可以方便的在这个集群环境下部署自己的WEB应用了。

 

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

UID

ibm11145716