要了解LVS原理请查阅我相关博客:Linux四层负载均衡——LVS_心平浪静BO的博客-CSDN博客
目录
一、LVS-DR模型构建
1、环境准备
所有主机网络采用仅主机模式,使用192.168.145.0网段;
VM1或Director(由eth0创建一张子网卡eth0:0):
eth0:192.168.145.11 eth0:0:192.168.145.100
安装软件:
yum -y install gcc gcc-c++
yum -y install ipvsadm
RS1(由lo创建一张子网卡lo:0):
eth0:192.168.145.12 lo:0:192.168.145.100 lo:0只用作响应报文时做源ip,不需被发现;
RS2(由lo创建一张子网卡lo:0):
eth0:192.168.145.13 lo:0:192.168.145.100
注:DR模型中,各主机上均需要配置VIP,解决地址冲突的方式有三种:
a、在前段网关做静态绑定;
b、在各RS使用arptables;
c、在各RS修改内核参数,来限制arp响应和通告的级别;
限制响应级别:arp_ignore
0:默认值,表示可使用本地任意接口上配置的任意地址进行响应;
1:仅在请求的目标IP配置在本地主机的接收到请求报文接口上时,才给予响应;
限制通告级别:arp_announce
0:默认值,把本机上的所有接口的所有信息向每个接口上的网络进行通告;
1:尽量避免向非直接连接网络进行通告;
2:必须避免向非本网络通告;
2、实际配置
0、RS1:192.168.145.12
1、安装web服务器
yum -y install httpd
2、配置RS上响应及通告级别
#!/bin/bash
case $1 in
start)
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
;;
stop)
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
;;
*)
echo "Usage: $(basename $0) start|stop"
exit 1
;;
esac
bash -x setparam.sh start
3、添加子网卡
ifconfig lo:0 192.168.145.100 netmask 255.255.255.255 broadcast 192.168.145.100 up
4、添加路由
route add -host 192.168.145.100 dev lo:0
1、RS2:192.168.145.13 同RS1做同样的操作
2、Director:192.168.145.11
1、添加100网络
ifconfig eth0:0 192.168.145.100 netmask 255.255.255.255 broadcast 192.168.145.100 up
2、配置ipvs规则
ipvsadm -A -t 192.168.145.100:80 -s rr
ipvsadm -a -t 192.168.145.100:80 -r 192.168.145.12 -g
ipvsadm -a -t 192.168.145.100:80 -r 192.168.145.13 -g
ipvsadm -Ln 查看详情
3、用本地客户端访问集群 :192.168.145.100
二、LVS-NAT模型构建
1、环境准备
0、Director(两张网卡)
eth0:192.168.145.11
eth1:10.10.10.11
1、RS1
eth0:10.10.10.12
2、RS2
eth0:10.10.10.13
2、实际配置
0、负载调度器(192.168.145.11和10.10.10.11)
1、开启路由转发
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p
2、配置防火墙规则
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j SNAT --to-source 192.168.145.11
iptables -t nat -L
3、配置负载均衡规则
ipvsadm -A -t 192.168.145.11:80 -s rr
ipvsadm -a -t 192.168.145.11:80 -r 10.10.10.12:80 -m
ipvsadm -a -t 192.168.145.11:80 -r 10.10.10.13:8080 -m
ipvsadm -Ln
service ipvsadm save
chkconfig ipvsadm on
1、RS1(10.10.10.12)
配置网关为10.10.10.11即Director
2、RS2(10.10.10.13)
配置网关为10.10.10.11即Director
修改httpd默认端口为8080
vim /etc/httpd/conf/httpd.conf
Listen 8080
3、打开客户机访问集群地址:192.168.145.11