基于LVS实现负载均衡
LVS-NAT模型: 工作原理:将内部地址转化为Internets上可用的外部地址。NAT的工作原理是报文头(目标地址、源地址和端口等)被正确改写后,客户相信它们连接一个IP地址,而不同IP地址的服务器组也认为它们是与客户直接相连的。由此,可以用NAT方法将不同IP地址的并行网络服务变成在一个IP地址上的一个虚拟服务。 实验环境:3台虚拟机,其中一台做Director Server配备2个网卡,另外2台是Real Server 操作步骤: 一:在Real Server上: 1:RIP1:# ifconfig eth0 172.16.100.101/24 --->配置Real Server 1的IP地址 2:RIP1:# route add default gw 172.16.100.100 -->指定默认网关为Director Server的DIP 3:RIP1:# vim /var/www/html/index.html 4:RIP1:# service httpd start ---> 启动http服务。 5:RIP2:# ifconfig eth0 172.16.100.102/24 6:RIP2:# route add default gw 172.16.100.100 7:RI2:# vim /var/www/html/index.html 8:RIP2:# service httpd start 二:在Director Server上: 1:# yum -y install ipvsadm --->安装ipvs的rpm包 1:# ifconfig eth1 172.16.100.100/24 --->配置DIP 2:# ifconfig eth0 192.168.0.109/24 --->配置VIP 3:# vim /etc/sysctl.conf --->启动路由转发功能 4:# sysctl -p --->让修改的路由转发立即生效 5:# ipvsadm -A -t 192.168.100.100:80 -s rr--->添加集群服务 6:# ipvsadm -a -t 192.168.0.109:80 -r 172.16.100.101 -m --->把两个主机添加到集群服务 7:# ipvsadm -a -t 192.168.0.109:80 -r 172.16.100.102 -m 验证:1:LVS-DR模型之 工作原理:调度器根据各个服务器的负载情况,动态地选择一台服务器,不修改也不封装IP报文,而是将数据帧的MAC地址改为选出服务器的MAC地址,再将修改后的数据帧在与服务器组的局域网上发送。因为数据帧的MAC地址是选出的服务器,所以服务器肯定可以收到这个数据帧,从中可以获得该IP报文。当服务器发现报文的目标地址VIP是在本地的网络设备上,服务器处理这个报文,然后根据路由表将响应报文直接返回给客户。(1)DIP、VIP、RIP、处于同一网段: 拓扑图:实验环境:3台虚拟机,其中一台做Director Server配备2个网卡,另外2台是Real Server
Director Server:配置:# ifconfig eth0:0 192.168.2.100/24 --->配置VIP# vim /etc/sysctl.conf --->配置转发net.ipv4.ip_forward = 1# sysctl -pReal Server的配置:
修改2个内核参数:# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore# echo 1 > /proc/sys/net/ipv4/conf/etho/arp_ignore# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce配置VIP 禁止广播,禁止响应# ifconfig lo:0 192.168.2.100 netmask 255.255.255.255 broadcast 192.168.2.100 up配置转发接口# route add -host 192.168.2.100 dev lo:0开启httpd服务,并提供测试页面# service httpd start# vim /var/www/html/index.html<h1>This is web1 </h1>验证:三:LVS-TUN: 工作原理:是将一个IP报文封装在另一个IP报文的技术,这可以使得目标为一个IP地址的数据报文能被封装和转发到另一个IP地址。IP隧道技术亦称为IP封装技术实验拓扑:Real Server 修改内核参数:# cat /proc/sys/net/ipv4/conf/all/arp_ignore1# cat /proc/sys/net/ipv4/conf/eth0/arp_ignore1# cat /proc/sys/net/ipv4/conf/eth0/arp_announce2# cat /proc/sys/net/ipv4/conf/all/arp_announce2 指定默认网关:
# route add default gw 172.16.20.13# routeKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Ifacelink-local * 255.255.0.0 U 1002 0 0 eth0172.16.0.0 * 255.255.0.0 U 0 0 0 eth0default 172.16.20.13 0.0.0.0 UG 0 0 0 eth0 配置VIP并指定转发机制:
# ifconfig lo:0 192.168.2.200 netmask 255.255.255.255 broadcast 192.168.2.200 up
# route add -host 192.168.2.200 dev lo:0
开启httpd服务,提供测试页面并测试Director Servver配置:
# yum -y install ipvsadm# ipvsadm start# echo 1 > /proc/sys/net/ipv4/ip_forward# ifconfig eth0:0 192.168.2.200/24 up# ipvsadm -A -t 192.168.2.200:80 -s rr# ipvsadm -a -t 192.168.2.200:80 -r 172.16.20.11 -i# ipvsadm -a -t 192.168.2.200:80 -r 172.16.20.12 -i# ipvsadm -L -n
页:
[1]