LVS是Linux Virtual Server的简写,即Linux虚拟服务器,是一个虚拟的服务器集群系统。
在下面的案例中,我们用了3台主机,IP地址分别为:
192.168.1.100
192.168.1.101
192.168.1.102
其中,192.168.1.100将安装LVS做为负载均衡器来分发请求,另外2台做为真实提供服务的主机,以DR模式进行部署。
首先,我们应先在192.168.1.101和192.168.1.102上部署好Apache或是Nginx,还有PHP,这里就不详细说明了,可以参考本站的《Nginx + PHP(FastCGI)安装配置笔记》(http://www.sunbloger.com/article/242.html)。
为了便于测试,我们在192.168.1.101上放置一个test.php,代码如下:
PHP
echo '101';
?>
并在192.168.1.102上也放置一个同名文件test.php,代码如下:
echo '102';
?>
分别通过浏览器访问http://192.168.1.101:80/test.php和http://192.168.1.102:80/test.php,正常的话会分别显示101和102。
接下来,我们分别在192.168.1.101和192.168.1.102上添加用于LVS的脚本,我们可以将脚本添加到/etc/rc.d/init.d下,作为系统服务随Linux一起启动,方法如下:
vi /etc/rc.d/init.d/lvs-rs //创建名为lvs-rs的脚本
chmod +x /etc/rc.d/init.d/lvs-rs //添加执行权限
chkconfig --add lvs-rs //加入到系统服务中
lvs-dr脚本代码如下:
#!/bin/bash
# chkconfig: 35 90 10
# description: LVS of RealServer
VIP=192.168.1.100
. /etc/init.d/functions
case "$1" in
start)
ifconfig lo:0 $VIP netmask 255.255.255.255
/sbin/route add -host $VIP dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
echo "LVS of RealServer Start."
;;
stop)
ifconfig lo:0 down
route del $VIP >/dev/null 2>&1
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "LVS of RealServer Stoped."
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
接下来,我们开始为192.168.1.100安装LVS。
yum install ipvsadm
在CentOS下推荐采用yum安装,可以避免内核版本对LVS的影响。
ipvsadm安装完毕后,我们为192.168.1.100添加一个名为lvs-ds的服务启停脚本,代码如下:
#!/bin/bash
# chkconfig: 35 90 10
# description: LVS of DirectorServer
VIP=192.168.1.100
RIP1=192.168.1.101
RIP2=192.168.1.102
. /etc/init.d/functions
case "$1" in
start)
/sbin/ipvsadm -A -t $VIP:80 -s wlc
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g -w 1
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g -w 1
touch /var/lock/subsys/ipvsadm >/dev/null 2>&1
echo "LVS of DirectorServer start."
;;
stop)
/sbin/ipvsadm -C
rm -rf /var/lock/subsys/ipvsadm >/dev/null 2>&1
echo "LVS of DirectorServer stoped."
;;
status)
if [ ! -e /var/lock/subsys/ipvsadm ];then
echo "LVS of DirectorServer stoped."
exit 1
else
echo "LVS of DirectorServer OK."
fi
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0
将lvs-ds添加到系统服务中:
vi /etc/rc.d/init.d/lvs-ds //创建名为lvs-rs的脚本
chmod +x /etc/rc.d/init.d/lvs-ds //添加执行权限
chkconfig --add lvs-ds //加入到系统服务中
至此,3台主机部署完毕,开始测试
首先在192.168.1.101和192.168.1.102上分别启动lvs-rs
service lvs-rs start
然后在192.168.1.100上启动lvs-ds
service lvs-ds start
通过http://192.168.1.100:80/test.php来测试LVS工作是否正常,反复刷新页面会看到随机显示101或102就代码部署成功了。
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔