手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

在Linux下构造高性能、高可用、高可伸缩性的服务集群(一)

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

/sbin/ipvsadm -A -t 192.168.7.110:telnet -s rr
/sbin/ipvsadm -A -t 192.168.7.110:http - rr
/sbin/ipvsadm -a -t 192.168.7.110:telnet -r 192.168.7.11 -g -w 1
/sbin/ipvsadm -a -t 192.168.7.110:http -r 192.168.7.11 -g -w 1


然后运行:/etc/rc.d/init.d/ipvsadm save

就能够保存当前配置到/etc/sysconfig/ipvsadm文档中。

在具备HA系统的Director上,ipvsadm能够方便地被Heartbeat管理-启动、停止。Director上的VIP(虚拟)服务器地址由Heartbeat负责配置和转换。

做法如下:

在Heartbeat的配置文档haresources中加类似入如下一行:

linuxha1 IPaddr::192.168.7.110/24/192.168.7.255 ipvsadm ldirectord::www ldirectord::mail

2.6.3.2. RealServers上:


#!/bin/bash
#----------mini-rc.lvs_dr-realserver------------------
#installing default gw 192.168.7.254 for vs-dr
/sbin/route add default gw 192.168.7.254
#showing routing table
/bin/netstat -rn
#checking if DEFAULT_GW 192.168.1.254 is reachable
ping -c 1 192.168.7.254

#set_realserver_ip_forwarding to OFF (1 on, 0 off).
echo 0 >/proc/sys/net/ipv4/ip_forward
cat /proc/sys/net/ipv4/ip_forward

#looking for DIP 192.168.7.9
ping -c 1 192.168.7.9

#looking for VIP (will be on director)
ping -c 1 192.168.7.110

#install_realserver_vip
/sbin/ifconfig lo:0 192.168.7.110 broadcast 192.168.7.110 netmask 255.255.255.255 up
#ifconfig output
/sbin/ifconfig lo:0
#installing route for VIP 192.168.1.110 on device lo:0
/sbin/route add -host 192.168.7.110 dev lo:0
#listing routing info for VIP 192.168.7.110
/bin/netstat -rn

#hiding interface lo:110, will not arp
echo 1 >/proc/sys/net/ipv4/conf/all/hidden
cat /proc/sys/net/ipv4/conf/all/hidden
echo 1 >/proc/sys/net/ipv4/conf/lo/hidden
cat /proc/sys/net/ipv4/conf/lo/hidden

#----------mini-rc.lvs_dr-realserver------------------


该段脚本和上面的脚本比较类似,相信不用再多做介绍了。需要注意的是:LVS-DR模式下,缺省网关的配置。集群的网关是外部网关,而不是负载均衡 器。更有就是RealServer上绑定的VIP地址的设备lo:0。另外不要忘了开启not arp补丁的配置开关。相信您已很清楚了。

您也能够把以上脚本改写成符合init语法的标准脚本,放到/etc/rc.d/init.d/下面运行,或直接加到/etc/init.d/rc.local下运行。

改写为标准init语法脚本如下:



#!/bin/bash
#
# hidden This shell script takes care of starting and stopping
# the ipvs-hidden subsystem (hiddend).
#
# chkconfig: 2345 78 12
# description: ipvs-hidden
# processname: hiddend

prog="hidden"

start(){

echo 0 >/proc/sys/net/ipv4/ip_forward
/sbin/ifconfig lo:0 192.168.7.110 broadcast 192.168.7.110 netmask 255.255.255.255 up
# installing route for VIP 192.168.1.110 on device lo:0
/sbin/route add -host 192.168.7.110 dev lo:0
# listing routing info for VIP 192.168.7.110
/bin/netstat -rn
# hiding interface lo:0, will not arp
# echo 1 >/proc/sys/net/ipv4/conf/all/hidden
echo 1 >/proc/sys/net/ipv4/conf/lo/hidden

}

stop(){

echo 1 >/proc/sys/net/ipv4/ip_forward
/sbin/ifconfig lo:0 192.168.7.110 broadcast 192.168.7.110 netmask 255.255.255.255 down
/sbin/route del -host 192.168.7.110 dev lo:0
# echo 0 >/proc/sys/net/ipv4/conf/all/hidden
echo 0 >/proc/sys/net/ipv4/conf/lo/hidden
}

restart(){
stop
start
}

condrestart(){
[ -e /var/lock/subsys/hiddend ] && restart || :
}

# See how we were called.
case "" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: "
exit 1
esac

exit $?

然后:


cp rc.lvs /etc/rc.d/init.d/hiddend
chmod 755 /etc/rc.d/init/d/hiddend
chkconfig - -add hiddend



文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!