LVS集群NAT/DR工作模式原理及搭建

LVS集群搭建


文章目录

  • LVS集群搭建
    • 一、LVS-NAT模式工作原理
    • 二、LVS-DR模式工作原理
    • 三、LVS-NAT集群搭建
    • 四、LVS-DR集群搭建


一、LVS-NAT模式工作原理

LVS集群NAT/DR工作模式原理及搭建_第1张图片

二、LVS-DR模式工作原理

LVS集群NAT/DR工作模式原理及搭建_第2张图片

三、LVS-NAT集群搭建

1.实验背景:

公网客户端 lvs调度器 RS1 RS2
VMnet1:10.10.10.100 VMnet1:10.10.10.11 VMnet2:192.168.66.12 VMnet2:192.168.66.13
VMnet2:192.168.66.11 网关:192.168.66.11 网关:192.168.66.11

2.设置四台机器IP、网关:

①公网客户端设置IP:

# vim /etc/sysconfig/network-scripts/ifcfg-eth0
	▲修改以下信息:
	IPADDR=10.10.10.100						#修改IP
	ONBOOT=yes								#设置开机自启
	NETMASK=255.255.255.0					#设置子网掩码
	BOOTPROTO=static						#设置地址类型为static
# service network restart

②lvs调度器设置IP:

⑴第一张网卡:

# vim /etc/sysconfig/network-scripts/ifcfg-eth0
	▲修改以下信息:
	IPADDR=10.10.10.11						#修改IP
	ONBOOT=yes								#设置开机自启
	NETMASK=255.255.255.0					#设置子网掩码
	BOOTPROTO=static						#设置地址类型为static
# service network restart

⑵第二张网卡:

# cp -a /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1
# vim /etc/sysconfig/network-scripts/ifcfg-eth1
	▲修改以下信息:
	DEVICE=eth1								#修改网卡名
	IPADDR=192.168.66.11					#修改IP
	ONBOOT=yes								#设置开机自启
	NETMASK=255.255.255.0					#设置子网掩码
	BOOTPROTO=static						#设置地址类型为static
	HWADDR=									#删除MAC地址和UUID
	UUID=
# service network restart

⑶RS1设置IP和网关:

# vim /etc/sysconfig/network-scripts/ifcfg-eth0
	▲修改以下信息:
	IPADDR=192.168.66.12					#修改IP
	ONBOOT=yes								#设置开机自启
	NETMASK=255.255.255.0					#设置子网掩码
	BOOTPROTO=static						#设置地址类型为static
	GATEWAY=192.168.66.11					#添加网关,指向lvs调度器
# service network restart

⑷RS2设置IP和网关:

# vim /etc/sysconfig/network-scripts/ifcfg-eth0
	▲修改以下信息:
	IPADDR=192.168.66.13					#修改IP
	ONBOOT=yes								#设置开机自启
	NETMASK=255.255.255.0					#设置子网掩码
	BOOTPROTO=static						#设置地址类型为static
	GATEWAY=192.168.66.11					#添加网关,指向lvs调度器
# service network restart

3.两台真实服务器均安装apache并启动:

# yum -y install httpd
# service httpd start
# chkconfig httpd on

4.两台真实服务器网页首页写入不同内容:(便于实验观察)

①RS1写入"PAGE 1":

# echo "PAGE 1" >> /var/www/html/index.html		#向网页首页文件内写入PAGE 1
# service httpd restart
# curl localhost								#访问查看效果

②RS2写入"PAGE 2":

# echo "PAGE 2" >> /var/www/html/index.html		#向网页首页文件内写入PAGE 2
# service httpd restart
# curl localhost								#访问查看效果

5.lvs调度器设置:

①lvs调度器开启路由转发:

# vim /etc/sysctl.conf							#开启路由转发
	▲修改以下信息:
	net.ipv4.ip_forward = 1						#1代表开启,0代表关闭
# sysctl -p										#刷新

②lvs调度器加载ipvs模块:

# modprobe ip_vs								#加载ipvs模块
# cat /proc/net/ip_vs							#查看进程是否加载成功

③lvs调度器安装ipvsadm管理工具:

# yum -y install ipvsadm

④lvs调度器添加调度策略:

# ipvsadm -A -t 10.10.10.11:80 -s rr				
▲若要开启持久化则加-p选项
#添加TCP集群
#-A:添加一个新的集群
#10.10.10.11:80:lvs调度器公网网卡的地址信息
#-s:指定算法

# ipvsadm -a -t 10.10.10.11:80 -r 192.168.66.12:80 -m
#向集群内添加一台真实服务器
#10.10.10.11:80:lvs调度器公网网卡的IP
#-r:指定真实服务器
#192.168.66.12:80:RS1的地址信息
#-m:指NAT模式

# ipvsadm -a -t 10.10.10.11:80 -r 192.168.66.13:80 -m
#向集群内添加一台真实服务器
#10.10.10.11:80:lvs调度器公网网卡的IP
#-r:指定真实服务器
#192.168.66.13:80:RS2的地址信息
#-m:指NAT模式

# ipvsadm -Ln									
#查看集群信息

如下图所示:

LVS集群NAT/DR工作模式原理及搭建_第3张图片

⑤永久记录调度策略:(此规则记录在内存中,重载会丢失,需要设置永久保存)

# service ipvsadm save							#永久保存调度策略
# service ipvsadm restart						#重启ipvsadm
# chkconfig ipvsadm on							#设置ipvsadm开机自启

⑥lvs调度器开启防火墙并添加防火墙规则:

# service iptables start						#开启防火墙
# chkconfig iptables on							#设置防火墙开机自启
# iptables -L									#查看防火墙现有规则
# iptables -F									#清空防火墙现有规则
# iptables -t nat -A POSTROUTING -s 192.168.66.0/24(内网网段) -o eth0(lvs公网网卡名称) -j SNAT --to-source 10.10.10.11(调度器公网地址)
#匹配内网网段,把原地址改为出口地址
# iptables -t nat -L							#查看防火墙nat规则

如下图所示:

LVS集群NAT/DR工作模式原理及搭建_第4张图片

⑦永久记录防火墙规则:

# service iptables save							#永久保存防火墙规则

6.公网客户端测试:

# while 2>1; do curl 10.10.10.11; sleep 1s; done		
#当2>1的条件成立时,每间隔1秒访问一次集群

如下图所示:

LVS集群NAT/DR工作模式原理及搭建_第5张图片

7.调度器检查当前连接信息:

# ipvsadm -Ln --stats							#调度器检查当前连接信息

如下图所示:

LVS集群NAT/DR工作模式原理及搭建_第6张图片

四、LVS-DR集群搭建

1.实验背景:

客户端 lvs调度器 RS1 RS2
VMnet2:192.168.66.14 VMnet2:192.168.66.11 VMnet2:192.168.66.12 VMnet2:192.168.66.13
eth0:0 192.168.66.100(vip) lo:0 192.168.66.100 lo:0 192.168.66.100

2.所有服务器,若是图形化界面,则需要关闭网卡守护进程:(NetworkManager服务)

# service NetworkManager stop					#关闭网卡守护进程
# chkconfig NetworkManager off

3.设置所有真实服务器:

①所有真实服务器均设置回环网卡子接口:

# cd /etc/sysconfig/network-scripts/
# cp -a ifcfg-lo ifcfg-lo:0						#复制得到网卡子接口配置文件
# vim ifcfg-lo:0
	▲修改以下信息:
	DEVICE=lo:0									#修改设备名
	IPADDR=192.168.66.100(虚拟IP)				#修改为虚拟IP(vip)
	NETMASK=255.255.255.255						#修改掩码,防止与他人通信

②所有真实服务器均修改当前ARP响应公告级别:

# vim /etc/sysctl.conf
	▲在结尾处添加以下信息即可:
	net.ipv4.conf.all.arp_ignore = 1
	net.ipv4.conf.all.arp_announce = 2
	net.ipv4.conf.default.arp_ignore = 1
	net.ipv4.conf.default.arp_announce = 2
	net.ipv4.conf.lo.arp_ignore = 1
	net.ipv4.conf.lo.arp_announce = 2
# sysctl -p									#刷新

③所有真实服务器均开启回环网卡子接口:

# ifup lo:0									#开启网卡子接口
# ifconfig									#检查是否启动成功

④所有真实服务器均添加路由记录:

# /sbin/route add -host 192.168.66.100(虚拟IP) dev lo:0		
#添加路由记录
# route -n													
#查看路由记录是否添加成功
# echo "/sbin/route add -host 192.168.66.100(虚拟IP) dev lo:0" >> /etc/rc.local
#设置为开机自动添加此路由记录

⑤所有真实服务器安装并启动apache:

# yum -y install httpd
# service httpd start
# chkconfig httpd on

⑥两台真实服务器网页首页写入不同内容:(便于实验观察)

⑴RS1写入"PAGE 1":

# echo "PAGE 1" >> /var/www/html/index.html		#向网页首页文件内写入PAGE 1
# service httpd restart
# curl localhost								#访问查看效果

⑵RS2写入"PAGE 2":

# echo "PAGE 2" >> /var/www/html/index.html		#向网页首页文件内写入PAGE 2
# service httpd restart
# curl localhost								#访问查看效果

4.设置lvs调度器:

①调度器设置网卡子接口:

# cd /etc/sysconfig/network-scripts/
# cp -a ifcfg-eth0 ifcfg-eth0:0					#复制得到网卡子接口配置文件
# vim ifcfg-eth0:0
	▲修改以下信息:
	DEVICE=eth0:0								#修改设备名
	IPADDR=192.168.66.100(虚拟IP)				#修改为虚拟IP(vip)	
	NETMASK=255.255.255.0						#修改掩码为255.255.255.0
	ONBOOT=yes									#设置开机自启
	BOOTPROTO=static							#设置地址类型为static
	HWADDR=										#删除MAC地址和UUID
	UUID=

②调度器开启网卡子接口:

# ifup eth0:0									#启动网卡子接口
# ifconfig										#查看是否开启成功

③调度器修改网卡重定向功能:

# vim /etc/sysctl.conf							#修改网卡重定向功能
	▲在结尾处添加以下信息即可:
	net.ipv4.conf.eth0.send_redirects = 0
	net.ipv4.conf.all.send_redirects = 0
	net.ipv4.conf.default.send_redirects = 0
# sysctl -p										#刷新

④调度器安装安装ipvsadm管理工具:

# yum -y install ipvsadm

⑤调度器添加调度策略:

# ipvsadm -A -t 192.168.66.100:80(虚拟IP) -s rr		
▲若要开启持久化则加-p选项
#添加TCP集群
#-A:添加一个新的集群
#192.168.66.100:80:lvs调度器虚拟IP
#-s:指定算法

# ipvsadm -a -t 192.168.66.100:80(虚拟IP) -r 192.168.66.12:80 -g
#向集群内添加一台真实服务器
#-r:指定真实服务器
#192.168.66.12:80:RS1的地址信息
#-g:指DR模式

# ipvsadm -a -t 192.168.66.100:80(虚拟IP) -r 192.168.66.13:80 -g
#向集群内添加一台真实服务器
#-r:指定真实服务器
#192.168.66.13:80:RS2的地址信息
#-g:指DR模式

# ipvsadm -Ln									#查看集群信息

如下图所示:

LVS集群NAT/DR工作模式原理及搭建_第7张图片

⑥永久记录调度策略:(此规则记录在内存中,重载会丢失,需要设置永久保存)

# service ipvsadm save							#永久保存调度策略
# service ipvsadm restart						#重启ipvsadm
# chkconfig ipvsadm on							#设置ipvsadm开机自启

5.公网客户端测试:

# while 2>1; do curl 192.168.66.100(虚拟IP); sleep 1s; done		
#当2>1的条件成立时,每间隔1秒访问一次集群

6.调度器检查当前连接信息:

# ipvsadm -Ln --stats							#调度器检查当前连接信息

如下图所示:
▲此处调度器不负责出站,所以调度器接收出站连接、分配给真实服务器的连接都为0

LVS集群NAT/DR工作模式原理及搭建_第8张图片


你可能感兴趣的:(集群,linux,nginx,lvs)