某用户ERP系统运行了8年,其中冷轧车间系统运行近5年,其核心业务系统为冷轧数据汇总查询系统,基于WAS,DB2,Power小型机环境构建,稳定运行至今。由于冷轧查询功能开通了其他业务系统接口的查询功能,因此数据查询负载剧增,目前的Web负载拙荆见肘,基于业务系统的工业控制性,我们测试并比对了几种负载均衡方案,最后在F5等方案中脱颖而出,我们采用了EdgeServer的负载均衡方案。主要原因如下:
1、IBM WAS的负载均衡方案,和WAS的session负载均衡功能的java会话级负载均衡功能兼容性最佳,和硬件F5以及开源方案相比,省下了很多的配置风险。
2、对于WAS管理员的学习维护成本最低
3、可以充分利用sessionDB的数据库配置,并可以进行多层配置
4、免费!还有IBM 800的支持,何乐而不为呢?
我们的配置方式如下:
冷轧系统基于AIX环境,并基于版本依赖性的WAS版本。含Fixpack小版本号。
AIX操作系统的机器上安装 Load Balancer 组件的硬件和软件先决条件:
·AIX 版本: AIX 5.1 5100-04 维护包或 AIX 5.2 5200-01 维护包。支持 32 位或 64 位方式。
·软件和文档所需的可用磁盘空间:50 MB,加上日志文件所需的附加空间。
·以下网络接口卡(NIC)之一:
·16Mb 令牌环。
·10Mb 以太网。
·100Mb 以太网。
·1Gb 以太网。
·光纤分布式数据接口(FDDI)。
·多端口以太网 NIC。
·Java 2 Runtime Environment:此软件在 IBM AIX Developer Kit, Java 2 Technology Edition, 1.4.1.x 的任何版本中提供。
系统拓扑:
Edge Server安装 (172.16.5.30和172.16.5.31)
Web服务器层群集配置暨Edge Server设置
对于该层群集的设置主要集中在对于30和31两台机器上。在该阶段中,我们需要分别配置并验证从Edge服务器(30上或31上)均可成功分发请求到30和31的Web服务器上。(Web服务器通过插件同后端应用服务器一级的连接分发,我们已经在上一节做了验证)所以在这里我们以30作分发控制器为例说明配置:
31主机上操作
vi /etc/hosts 添加:
172.16.5.30 edgesvr1
172.16.5.31 edgesvr2
172.16.5.13 wisco_sit
其中后一条是我们要用于访问Web服务器的群集名和群集地址
配置LoopBack 网卡,并删除额外路由
ifconfig lo0 alias 172.16.5.13 netmask 255.255.255.0
route delete 172.16.5/24 172.16.5.13
30主机上操作
vi /etc/hosts 添加:
172.16.5.30 edgesvr1
172.16.5.31 edgesvr2
172.16.5.13 wisco_sit
在已安装了Edge Server的30主机上发出 dsserver start命令启动DispatchingServer (由于/usr/java131已经在系统的环境路径中,所以可以直接执行)
执行lbadmin,打开Load Balancer 配置窗口
点击 Dispatcher – 右键 – Connect to Host
在跳出的提示“选择主机名:EDGESVR1 on port 10099”窗口中点OK
管理配置客户端窗口成功连接连接到Host:EDGESVR1,选Host:EDGESVR1 – 右键– Start Executor
出现Executor: 172.16.5.30,选中它,右键Add Cluster,在弹出窗口中输入
Cluster Wisco_sit
Cluster Address 172.16.5.13
其余采用默认设置,并点OK
出现Cluster: Wisco_sit,选中它,右键 – Add Port
Port 80
Forwarding Method 保持缺省的MAC设置
点OK
选中出现的Port: 80 标志,右键 – Add Server
Server EDGESVR1
Server address 172.16.5.30
选 OK
重复一次添加Server edgesvr2 (172.16.5.31)
选Host: EDGESVR1,右键 – Start Manager
选中出现的Manager,右键 – Start Advisor
Advisor name: HTTP
Port number: 80
点 OK
选中 Advisor: Http 80
在en0上添加地址别名(作为广播地址)
ifconfig en0 alias 172.16.5.13 netmask 255.255.255.0
(Optional)同被分发机一样,在非HA情况下,为了在reboot主机后地址不丢失,我们要将上面的添加别名的命令加入/etc/rc.net中保证每次启动服务器时都被执行,在测试中未被配置
此时再观察Load Balancer窗口中,选中Advisor: Http80,可以看到服务器EDGESVR1和edgesvr2出现在右边的CurrentStatistics页面中,并呈现相应的动态权重。(如果此时30和31上的IBM Http Server处于关停状态,则相应数值显示为“-1”,需要分别启动它们:/usr/IBMHttpServer/bin/apachectlstart )
最后,我们要保存我们的设置。选中Host: EDGESVR1,右键 – SaveConfiguration File As ,在弹出窗口中选default.cfg,选 OK
同样,在31主机上也作同样的操作。
Edge Server 接管设置
要进行Edge Server的接管设置
在主机30上
修改default.cfg
vi /opt/ibm/edge/lb/servers/configurations/dispatcher/default.cfg
在dscontrol executor start命令后加入如下命令段落:
dscontrol highavailabilityheartbeat add 172.16.5.30 172.16.5.31
dscontrol highavailabilitybackup add primary=172.16.5.31 auto 10006
dscontrol highavailabilityreach add 172.16.5.33
删除下面的命令
dscontrol cluster add wisco_sitaddress 172.16.5.33 primaryhost 172.16.5.30
要温暖还是怕麻烦。