LVS三种模式

 LVS实验一:(LVS负载均衡群集DR模式)

 名称
角色
IP地址
Load Balancer
(RHEL5)
均衡器
eth0:0(Vip):172.16.1.198
eth0:172.16.1.196
RealServer1
(RHEL5)
服务器群集节点1
(Web服务器)
lo:0(Vip):172.16.1.198
eth0:172.16.1.191
RealServer2
(RHEL5)
服务器群集节点2
(Web服务器)
lo:0(Vip):172.16.1.198
eth0:172.16.1.192
 

LVS三种模式_第1张图片

实验1步骤:
一、 Load Balancer 配置
1 )设置网卡 IP 地址
[root@LVS-Master /]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
HWADDR=00:0c:29:7c:1a:c4
NETMASK=255.255.0.0
IPADDR=172.16.1.196
GATEWAY=172.16.1.254
TYPE=Ethernet
2 )安装 ipvsadm 管理器
[root@LVS-Master /]# mount /dev/cdrom /media/
[root@LVS-Master /]# cd /media/Cluster
[root@LVS-Master Cluster]# rpm -ivh ipvsadm-1.24-8.1.i386.rpm
3 )配置 VIP 设定脚本
[root@LVS-Master ~]# vi /opt/vip.sh
#!/bin/bash
VIP=172.16.1.198
/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev eth0:0
4 )设置脚本可执行权限
[root@LVS-Master ~]# chmod u+x /opt/vip.sh
5 )执行 VIP 脚本
[root@LVS-Master ~]# echo "/opt/vip.sh" >> /etc/rc.local
[root@LVS-Master ~]# /opt/vip.sh
[root@LVS-Master ~]# ifconfig eth0:0
eth0:0 Link encap:Ethernet HWaddr 00:0C:29:7C:1A:C4
inet addr:172.16.1.198 Bcast:172.16.1.198 Mask:255.255.255.255
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:67 Base address:0x2000
6 )使用 ipvsadm 命令工具设置 DR 模式负载均衡群集
[root@LVS-Master ~]# ipvsadm -A -t 172.16.1.198:80 -s rr
[root@LVS-Master ~]# ipvsadm -a -t 172.16.1.198:80 -r 172.16.1.191:80 -g
[root@LVS-Master ~]# ipvsadm -a -t 172.16.1.198:80 -r 172.16.1.192:80 –g
保存 ipvsadm 设置到 /etc/sysconfig/ipvsadm 文件以后,下次启动可以直接执行“ service ipvsadm start ”命令,不再需要逐条输入命令。
[root@LVS-Master ~]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@LVS-Master ~]# ipvsadm –l // 查看 ipvsadm 列表
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.16.1.198:http rr
-> 172.16.1.192:http Route 1 0 0
-> 172.16.1.191:http Route 1 0 0
二、 Realserver 服务器上的配置
提供服务的 RealServer1 RealServer2 不需要安装任何 IPVS 软件,只需要设置在开机后自动执行以下脚本:
1 )在 RealServer1 上的设置
[root@localhost ~]# vi /opt/lvs-dr // 编写 lvs-dr 脚本
#!/bin/bash
VIP="172.16.1.198"
/sbin/ifconfig eth0 172.16.1.191/16 up
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/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
[root@localhost ~]# chmod u+x /opt/lvs-dr // 添加脚本 lvs-dr 的执行权限
[root@localhost ~]# echo "/opt/lvs-dr" >> /etc/rc.local // 让脚本 lvs-dr 随机开机启动
[root@localhost ~]# /opt/lvs-dr // 执行 lvs-dr 脚本
[root@localhost ~]# echo "1111" > /var/www/html/index.html // RealServer1 添加测试页
[root@localhost ~]# servcie httpd restart // 重启 web 服务器
2 )在 RealServer2 上的设置
[root@localhost ~]# vi /opt/lvs-dr // 编写 lvs-dr 脚本
#!/bin/bash
VIP="172.16.1.198"
/sbin/ifconfig eth0 172.16.1.192/16 up
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/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
[root@localhost ~]# chmod u+x /opt/lvs-dr // 添加脚本 lvs-dr 的执行权限
[root@localhost ~]# echo "/opt/lvs-dr" >> /etc/rc.local // 让脚本 lvs-dr 随机开机启动
[root@localhost ~]# /opt/lvs-dr // 执行 lvs-dr 脚本
[root@localhost ~]# echo "2222" > /var/www/html/index.html // RealServer1 添加测试页
[root@localhost ~]# servcie httpd restart // 重启 web 服务器
三、测试
在两台客户机上分别打开浏览器,输入 http://172.16.1.198, 将分别看到不同的页面。
Balancer 中的查看测试
[root@LVS-Master ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.16.1.198:80 rr
-> 172.16.1.192:80 Route 1 0 5
-> 172.16.1.191:80 Route 1 0 4
 
LVS实验二:(LVS负载均衡群集NAT模式)
 
 
名称
角色
IP地址
Load Balancer
(RHEL5)
均衡器
eth0:172.16.1.198
eth1:192.168.1.1
RealServer1
(RHEL5)
服务器群集节点1
(Web服务器)
eth0:192.168.1.191
RealServer2
(RHEL5)
服务器群集节点2
(Web服务器)
eth0:192.168.1.192
 

LVS三种模式_第2张图片

实验步骤:
一、 Load Balancer 配置
1) 设置网卡 IP 地址
[root@LVS-Master ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
HWADDR=00:0c:29:7c:1a:c4
NETMASK=255.255.0.0
IPADDR=172.16.1.198
GATEWAY=172.16.1.1
TYPE=Ethernet
[root@LVS-Master ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1   #内网不用配置网关
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
HWADDR=00:0c:29:7c:1a:ce
NETMASK=255.255.255.0
IPADDR=192.168.1.1
TYPE=Ethernet
[root@LVS-Master ~]# service network restart
2) 开启内核 IPV4 的路由转发功能
[root@LVS-Master ~]# vi /etc/sysctl.conf
将第七行 : net.ipv4.ip_forward = 0 改为: net.ipv4.ip_forward = 1
添加一条防火墙规则( NAT 转换)
iptables –t nat –A POSTROUTNG –s 192.168.6.0/24 –o eth0 –j SNAT --to-source 172.16.1.198
[root@LVS-Master ~]# sysctl -p // 使上面做的修改生效
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 4294967295
kernel.shmall = 268435456
3 )使用 ipvsadm 命令工具设置 NAT 模式负载均衡群集
[root@LVS-Master ~]# ipvsadm -A -t 172.16.1.198:80 -s wlc
[root@LVS-Master ~]# ipvsadm -a -t 172.16.1.198:80 -r 192.168.1.191:80 -m -w 1
[root@LVS-Master ~]# ipvsadm -a -t 172.16.1.198:80 -r 192.168.1.192:80 –m -w 1
二、 Realserver 服务器上的配置
提供服务的 RealServer1 RealServer2 不需要安装任何 IPVS 软件,只需要设置每台机器的 IP 地址,并开启 apache 服务器就好。
1 )在 RealServer1 上的设置
设置本服务器的 ip 地址为: 192.168.1.191/24 网关为: 192.168.1.1 。启动 apache 服务器
[r oot@localhost ~]# yum install httpd
[root@localhost ~]# echo "1111" > /var/www/html/index.html // RealServer1 添加测试页
[root@localhost ~]# servcie httpd restart // 重启 web 服务器
2 )在 RealServer2 上的设置
设置本服务器的 ip 地址为: 192.168.1.192/24 网关为: 192.168.1.1 。启动 apache 服务器
[r oot@localhost ~]# yum install httpd
[root@localhost ~]# echo "2222" > /var/www/html/index.html // RealServer1 添加测试页
[root@localhost ~]# servcie httpd restart // 重启 web 服务器
三、测试
在两台客户机上分别打开浏览器,输入 http://172.16.1.198, 将分别看到不同的页面。
Balancer 中的查看测试
[root@LVS-Master ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.16.1.198:80 rr
-> 192.168.1.192:80 Masq 1 0 5
-> 192.168.1.191:80 Masq 1 0 5
 
                               LVS 实验三:( LVS 负载均衡群集 TUN 模式)
 
名称
角色
IP地址
Load Balancer
(RHEL5)
均衡器
eth0:192.168.5.196
eth0:0:192.168.5.198
RealServer1
(RHEL5)
服务器群集节点1
(Web服务器)
eth0:192.168.5.191
tunl0:192.168.5.198
RealServer2
(RHEL5)
服务器群集节点2
(Web服务器)
eth0: 192.168.5.192
tunl0:192.168.5.198
 

LVS三种模式_第3张图片

实验步骤:
一、 Load Balancer 配置
1 )安装 ipvsadm 管理器
[root@LVS-Master /]# mount /dev/cdrom /media/
[root@LVS-Master /]# cd /media/Cluster
[root@LVS-Master Cluster]# rpm -ivh ipvsadm-1.24-8.1.i386.rpm
2 )通过脚本 /opt/ld-tun 设置 IP 地址,并调整内核参数
[root@localhost ~]# vi /opt/ld-tun
#!/bin/bash
/sbin/service network stop &> /dev/null
/sbin/ifconfig eth0 192.168.5.196/24 up
/sbin/ifconfig eth0:0 192.168.5.198 broadcast 192.168.5.198 netmask 255.255.255.255 up
/sbin/route add -host 192.168.5.198 dev eth0:0
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
[root@localhost ~]# chmod +x /opt/ld-tun
[root@localhost ~]# /opt/ld-tun
3 )使用 ipvsadm 命令工具设置 TUN 模式负载均衡群集
[root@localhost ~]# ipvsadm -A -t 192.168.5.198:80 -s wlc
[root@localhost ~]# ipvsadm -a -t 192.168.5.198:80 -r 192.168.5.191:80 -i
[root@localhost ~]# ipvsadm -a -t 192.168.5.198:80 -r 192.168.5.192:80 -i
[root@localhost ~]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@localhost ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.5.198:80 wlc
-> 192.168.5.192:80 Tunnel 1 0 0
-> 192.168.5.191:80 Tunnel 1 0 0
二、 Realserver 服务器上的配置
提供服务的 RealServer1 RealServer2 不需要安装任何 IPVS 软件,只需要设置每台机器的 IP 地址及修改内核参数,并开启 apache 服务器就好。
1 )在 RealServer1 上的设置
[root@localhost ~]# vi /opt/lvs-tun
#!/bin/bash
#
modprobe ipip
/sbin/service network stop &> /dev/null
/sbin/ifconfig eth0 192.168.5.191/24 up
/sbin/ifconfig tunl0 192.168.5.198 broadcast 192.168.5.198 netmask 255.255.255.255 up
/sbin/route add -host 192.168.5.198 dev tunl0
echo "0" > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/conf/tunl0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/tunl0/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/tunl0/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter [root@localhost ~]# chmod +x /opt/lvs-tun
[root@localhost ~]# /opt/lvs-tun
1 )在 RealServer2 上的设置
[root@localhost ~]# vi /opt/lvs-tun
#!/bin/bash
#
modprobe ipip
/sbin/service network stop &> /dev/null
/sbin/ifconfig eth0 192.168.5.192/24 up
/sbin/ifconfig tunl0 192.168.5.198 broadcast 192.168.5.198 netmask 255.255.255.255 up
/sbin/route add -host 192.168.5.198 dev tunl0
echo "0" > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/conf/tunl0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/tunl0/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/tunl0/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
三、测试
在两台客户机上分别打开浏览器,输入 http://192.168.5.198, 将分别看到不同的页面。
[root@localhost ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.5.198:80 wlc
-> 192.168.5.192:80 Tunnel 1 0 7
-> 192.168.5.191:80 Tunnel 1 0 7

 

你可能感兴趣的:(LVS,三种模式)