前面我们了解了关于LVS三种模式(LVS/NAT,LVS/DR,LVS/TUN)的工作原理,以及它们间区别和优势,下面我们逐一介绍关于这三种模式的实例部署,本节主要介绍LVS/NAT实例部署,如下:
LVS/NAT实例部署
如图所示为整体的拓扑图:
一.部署前说明:
(1)系统版本: centos 6.6
(2)角色及ip相关信息:
CIP:192.168.10.13/24
VIP:192.168.10.100/24 (这里VIP的地址为DIR链接外网的ip地址)
DIR:eth0:192.168.1.100/24 Eth1:192.168.10.100/24
Real-server:192.168.1.10/24 和 192.168.1.11/24. 192.168.1.12/24(提供http服务)
二.部署操作:
负载均衡器上配置操作
(1)在DIR上安装ipvsadm软件包以及相关依赖包:
# yum install openssl-devel popt-devel libnl-devel ipvsadm -y
(2)在DIR上新建一个shell脚本文件,如下操作所示:
# vim /etc/init.d/lvs-nat
脚本内容如下
#!/bin/sh
#
# Startup script handle the initialisation of LVS
# chkconfig: - 28 72
# description: Initialise the Linux Virtual Server for NAT
#
### BEGIN INIT INFO
# Provides: ipvsadm
# Required-Start: $local_fs $network $named
# Required-Stop: $local_fs $remote_fs $network
# Short-Description: Initialise the Linux Virtual Server
# Description: The Linux Virtual Server is a highly scalable and highly
# available server built on a cluster of real servers, with the load
# balancer running on Linux.
# description: start LVS of Nat
LOCK=/var/lock/ipvsadm.lock
VIP=192.168.10.100
RIP1=192.168.1.10
RIP2=192.168.1.11
RIP3=192.168.1.12
. /etc/rc.d/init.d/functions
start() {
PID=`ipvsadm -Ln | grep ${VIP} | wc -l`
if [ $PID -gt 0 ];
then
echo "The LVS-NAT Server is already running !"
else
echo "1" >/proc/sys/net/ipv4/ip_forward
echo "0" >/proc/sys/net/ipv4/conf/all/send_redirects
echo "0" >/proc/sys/net/ipv4/conf/default/send_redirects
echo "0" >/proc/sys/net/ipv4/conf/eth0/send_redirects
echo "0" >/proc/sys/net/ipv4/conf/eth1/send_redirects
/bin/touch $LOCK
#Clear IPVS table
/sbin/ipvsadm -C
#set LVS
/sbin/ipvsadm -At $VIP:80 -s rr
/sbin/ipvsadm -at $VIP:80 -r $RIP1:80 -m -w 1
/sbin/ipvsadm -at $VIP:80 -r $RIP2:80 -m -w 1
/sbin/ipvsadm -at $VIP:80 -r $RIP3:80 -m -w 1
echo "starting LVS-NAT Server is ok!"
fi
}
stop() {
echo "0" >/proc/sys/net/ipv4/ip_forward
echo "1" >/proc/sys/net/ipv4/conf/all/send_redirects
echo "1" >/proc/sys/net/ipv4/conf/default/send_redirects
echo "1" >/proc/sys/net/ipv4/conf/eth0/send_redirects
echo "1" >/proc/sys/net/ipv4/conf/eth1/send_redirects
/sbin/ipvsadm -C
rm -rf $LOCK
echo "stopping LVS-NAT server is ok!"
}
status() {
if [ -e $LOCK ];
then
echo "The LVS-NAT Server is already running !"
else
echo "The LVS-NAT Server is not running !"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
*)
echo "Usage: $1 {start|stop|restart|status}"
exit 1
esac
exit 0
授权并启动该脚本
# chmod 777 /etc/init.d/lvs-dr
# service lvd-nat start
RS server 上配置操作
(1)分别在每个RIP上安装http服务,并创建测试页,如下分别为RIP上测试页面:
RIP1上的测试页:
RIP2上的测试页:
RIP3上的测试页:
(2)RIP上关于lvs部分配置:
LVS-NAT 模式的后端机器关于LVS不需要做任何配置.特别需要注意的是:LVS-NAT模式中需要将后端的RS server即RIP的网关统一指向到DIR的内网地址Eth0的ip,即DIR的内网地址充当后端RS server的网关;
三.LVS负载测试:
在客户端上访问:http://vip,这时我们就可以看到如下的页面,此时页面为RIP1的页面
多次刷新页面会分别跳转到RIP2,RIP3上,如下:
这时我们用命令ipvsadm -Ln -c 可以看到如下链接信息:
通过这里我们就可以看到相关lvs链接信息。
总结 : LVS/NAT是所有模式中最方便配置的一种模式,配置时,只需要配置DIR,不需要配置后端RS server 但后端RS server的网关必须为与之直连的网卡地址。
转载于:https://blog.51cto.com/blief/1746858