政府机关

关于webshere edge load balancer ipv4 8.8.5.11 高可用集群的单点故障问题和一些困惑

整个环境是在Windows 2008 R2上搭建的前端两台服务器搭建高可用负载均衡集群(MAC方式),对两台IHS的web服务器做负载均衡,现在问题是其中一台IHS如果停机(关闭服务),load balancer ipv4不会做故障转移,想了些办法,比如监控两台IHS的80端口(自己写程序),如果出现端口不同调用如...显示全部

整个环境是在Windows 2008 R2上搭建的

前端两台服务器搭建高可用负载均衡集群(MAC方式),对两台IHS的web服务器做负载均衡,现在问题是其中一台IHS如果停机(关闭服务),load balancer ipv4不会做故障转移,想了些办法,比如监控两台IHS的80端口(自己写程序),如果出现端口不同调用如下脚本:

--宕机

dscontrol server down WAS_CLUSTER:80:IHS01

--运行

dscontrol server up WAS_CLUSTER:80:IHS01


,但这个解决方式总感觉不太对劲,想知道有load balancer ipv4是否有自动故障转移来解决"单点故障"的问题,在IBM Knowledge Center查了大量资料也没结果,只是在“Edge Components 的概念、规划和安装”文档里看见一句话:

负载平衡通过显式群集内容服务器来提高 Web 站点的可用性和可伸缩性,此处的内容服务器包含 HTTP 服务器、应用程序服务器和代理服务器,它们是代用品内容服务器。可用性是通过并行性、负载平衡和故障转移支持来完成的。当服务器当机时,业务不会被中断。这可显著提高基础结构的可伸缩性,因为它可明显增加后端的处理能力。


1.想知道当某台web服务器出现宕机或服务停止维护,load balancer是否支持故障转移?

2.metric,系统度量我理解的是监控集群中的服务器状态,说是要部署到要监控的所有服务器上,该怎么部署?只看到部署路径下IBM\edge\lb\ms\script cupload.exe等三个exe文件。

收起
参与2

返回userhu的回答

userhuuserhu软件架构设计师胡伟

看了半天IBM Knowledge Center,终于把metrc server搞定了,原来是没有配置 用lbkeys命令生成key文件,并拷贝的server机器。现在metrc server可以正常监控server端的机器,并根据cpu和内存使用情况负载均衡,但是“单点故障”的问题怎么解决呢?想了半天,能自定义一个metrc来解决单点故障的问题,于是写了个脚本命名成portlaod.cmd,放在server端metrc server目录的script目录下,脚本如下:

/***************************************************************************/

@echo off

netstat -aon | findstr \"\\<0.0.0.0:80\\>\" | findstr \"LISTENING\" > nul

IF ERRORLEVEL 1 GOTO err

IF ERRORLEVEL 0 GOTO ok

GOTO unknown

:err

echo 100

exit /B 2

:unknown

echo 0

exit /B 3

:ok

echo 0

exit /B 0

/********************************************************************************/

实际就是ihs服务开启时返回0,没开启时返回100。并设置portload 这个metrc的权重最高。load balancer顾问程序根据这个返回值判断,当值为100时不向这台服务器发请求。关机时由于rmi连通不了这台server,返回值就是-1,也不向这台服务器发请求。

政府机关 · 2017-02-13
浏览839

回答者

userhu
软件架构设计师胡伟

userhu 最近回答过的问题

回答状态

  • 发布时间:2017-02-13
  • 关注会员:1 人
  • 回答浏览:839
  • X社区推广