基于LVS实现负载均衡
2014-05-03 11:40
363 查看
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:配置:
三:LVS-TUN:
工作原理:是将一个IP报文封装在另一个IP报文的技术,这可以使得目标为一个IP地址的数据报文能被封装和转发到另一个IP地址。IP隧道技术亦称为IP封装技术
实验拓扑:
Real Server
修改内核参数:
配置VIP并指定转发机制:
开启httpd服务,提供测试页面并测试
Director Servver配置:
工作原理:将内部地址转化为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
修改内核参数:
[root@web1 ~]# cat /proc/sys/net/ipv4/conf/all/arp_ignore 1 [root@web1 ~]# cat /proc/sys/net/ipv4/conf/eth0/arp_ignore 1 [root@web1 ~]# cat /proc/sys/net/ipv4/conf/eth0/arp_announce 2 [root@web1 ~]# cat /proc/sys/net/ipv4/conf/all/arp_announce 2指定默认网关:
[root@web1 ~]# route add default gw 172.16.20.13 [root@web1 ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface link-local * 255.255.0.0 U 1002 0 0 eth0 172.16.0.0 * 255.255.0.0 U 0 0 0 eth0 default 172.16.20.13 0.0.0.0 UG 0 0 0 eth0
配置VIP并指定转发机制:
[root@web1 ~]# ifconfig lo:0 192.168.2.200 netmask 255.255.255.255 broadcast 192.168.2.200 up [root@web1 ~]# 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
相关文章推荐
- LVS基于DR模型实现负载均衡集群实验
- 实例详解LB基于LVS架构之NAT、DR模型架构实现web服务负载均衡
- LVS-DR实现基于LAMP的负载均衡
- LVS基于DR模型实现简单负载均衡集群和持久连接
- lvs+keepalived实现负载均衡,基于centos6.5
- 基于keepalive+LVS的高可用集群来实现web服务负载均衡集群的架构
- 实现基于DNS的负载均衡
- 基于centos7.3 3.10-514的LVS双机负载均衡部署方案
- 基于LVS的负载均衡
- [置顶] 使用LVS 实现负载均衡的原理。
- Ubuntu + LVS 搭建四层,实现自定义协议的负载均衡
- RHEL5用LVS实现Web负载均衡个人备注
- 使用LVS+keepalived实现mysql负载均衡的实践和总结
- LVS+Keepalived实现负载均衡和双机热备
- (1)LVS实现四层负载均衡的原理与配置
- lvs+keepalive实现双主模式(采用DR),同时实现TCP和UDP检测实现非web端的负载均衡,同时实现跨网段的通讯
- 借助LVS+Keepalived实现负载均衡
- 一种基于HAProxy实现RMI负载均衡的方法
- 搭建LVS实现负载均衡集群服务
- 【大型网站技术实践】初级篇:借助LVS+Keepalived实现负载均衡