前面我们了解了关于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