LVS DR集群

简介:

原理:LVS DR(director Routing)技术利用了Internet服务的非堆成特带你,调度器只负责调度Client发出的请求,

而服务器realserver直接将响应结果发挥给Client,因此相对LVS NAT方式而言可以提高整个集群数据包的吞吐量。关

于LVS DR的搭建架构应满足:电镀漆和服务器在物理上有一个网卡通过局域网链接,VIP地址被电镀漆和服务器组共享,

电镀漆配置的VIP地址对外部是可见的,用于接收虚拟服务的请求报文。把所有服务器的VIP地址配置在各自的NOn-ARP

网路设备,它对外不可见,只是用于处理目标地址为VIP的网络请求。

实验环境:

客户机1: 客户机2 转发器 realserver1 realserver2
node2 宿主主机 node1 web1 web2

网络拓扑图

wKiom1edr5fi4L5MAACpFfkDvAk117.png-wh_50


node1设置文件:

需要修改文件

网元位置 网卡名 链接方式 对应ip

node1     eth0 桥接 RIP

node1      eth0:0     虚拟网卡     VIP

转发器node1相关配置信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
eth0eth0:0
DEVICE=eth0DEVICE=eth0:1                 
TYPE=Ethernet                              TYPE=Ethernet                 
UUID=c64ec2f3-0393-4215-9488-b87eb098fc33               ONBOOT= yes                    
ONBOOT= yes                                 NM_CONTROLLED= yes             
NM_CONTROLLED= yes                             BOOTPROTO=none                
BOOTPROTO=none                              DEFROUTE= yes                  
PREFIX=24                                 IPV4_FAILURE_FATAL= yes        
DEFROUTE= yes                                IPV6INIT=no                   
IPV4_FAILURE_FATAL= yes                         HWADDR=00:0C:29:D0:6B:6B      
IPV6INIT=no                                USERCTL=no                    
NAME= "System eth0"                            IPADDR=192.168.4.233          
HWADDR=00:0C:29:D0:6B:6B                       NETMASK=255.255.255.0         
USERCTL=no                                GATEWAY=192.168.4.149           
IPADDR=192.168.4.201                          DNS1=192.168.4.149              
NETMASK=255.255.255.0                         [root@node1 network-scripts]
GATEWAY=192.168.4.149
DNS1=192.168.4.149

realserver::

网元位置 网卡名 链接方式 对应IP

web1 eth0 桥接 RIP

web1 lo:1 复制lo VIP

相关网卡配置

eth0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
lo:1
DEVICE=eth0                         DEVICE=lo:0            
TYPE=Ethernet                        IPADDR=192.168.4.233          //VIP
UUID=3a5f26b3-6ef6-4f8f-8a67-dd65291a109e          NETMASK=255.255.255.255       // 只针对此IP地址的包进行处理
ONBOOT= yes                           ONBOOT= yes             
NM_CONTROLLED= yes                       NAME=loopback          
BOOTPROTO=none                           
PREFIX=24                                
DEFROUTE= yes                             
IPV4_FAILURE_FATAL= yes                   
IPV6INIT=no                              
NAME=System eth0                         
HWADDR=00:0C:29:E4:32:DC                 
USERCTL=no                               
IPADDR=192.168.4.211                     
NETMASK=255.255.255.0                    
GATEWAY=192.168.4.149                      
DNS1=192.168.4.149

realserver2:web2

网元位置: 网卡名   链接方式 对应IP

web2 eth0   桥接 RIP

web2 lo:0     复制lo VIP

相关网卡配置信息

eth0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
eth0                                                    lo:0
DEVICE=eth0                           DEVICE=lo:0           
TYPE=Ethernet                          IPADDR=192.168.4.203   
UUID=3a5f26b3-6ef6-4f8f-8a67-dd65291a109e            NETMASK=255.255.255.255
ONBOOT= yes                             ONBOOT= yes             
NM_CONTROLLED= yes                         NAME=loopback          
BOOTPROTO=none                           
PREFIX=24                                
DEFROUTE= yes                             
IPV4_FAILURE_FATAL= yes                   
IPV6INIT=no                              
NAME= "System eth0"                       
HWADDR=00:0C:29:D4:56:5C                 
USERCTL=no                               
IPADDR=192.168.4.212                     
NETMASK=255.255.255.0                    
GATEWAY=192.168.4.149                      
DNS1=192.168.4.149


director相关文件:

1
2
3
4
5
6
7
vi  /etc/sysctl .conf 
net.ipv4.ip_forward = 1    // 修改位置
sysctl -p    // 对刚才配置文件进行保存
对于realserver web1和web2服务器可以通过配置文件永久生效如下所示
realserver(1&2): echo "net.ipv4.conf.eth0.arp_ignore=1 
                  net.ipv4.conf.eth0.arp_announce=2 " >> /etc/sysctl .conf
                  sysctl -p
1
2
3
4
RealServer或临时生效:
  
echo  2 >   /proc/sys/net/ipv4/conf/eth0/arp_announce  
  echo  1 >  /proc/sys/net/ipv4/conf/eth0/arp_ignore

主角部分:在分发器上安装ipvsadm管理工具

1
2
3
4
5
6
rpm -ivh  /media/cdrom/LoadBlanced/ipvsadm-1 .26-4.el6.x86_64.rpm 
ipvsadm -A -t 192.168.4.201:80 -s rr
ipvsadm -a -t 192.168.4.201:80 -r 192.168.4.211 -g
ipvsadm -a -t 192.168.4.201:80 -r 192.168.4.212 -g  
/etc/init .d /ipvsadm  save
ipvsadm -L -n

生成验证文件

1
2
3
realserver:生成验证文件,使用httpd服务
并对:web1    echo  "web11111"  >>  /var/www/html/index .html
web2  echo  "web22222"  >>  /var/www/html/index .html

虚拟机linux客户端测试:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
yum -y  install  elinks
elinks 192.168.4.201 -dump   // 观察结果  满足预测结果
[root@node2 ~] # elinks 192.168.4.233 -dump
    web5678
[root@node2 ~] # elinks 192.168.4.233 -dump
    web1234
[root@node2 ~] # elinks 192.168.4.233 -dump
    web1234
[root@node2 ~] # elinks 192.168.4.233 -dump
    web5678
[root@node2 ~] # elinks 192.168.4.233 -dump
    web1234
[root@node2 ~] # elinks 192.168.4.233 -dump
    web5678
[root@node2 ~] #

宿主主机测试

wKioL1eds8LyJ_4iAAALcCPahRs140.png-wh_50

转发器node1结果

1
2
3
4
5
6
7
[root@node1 ~] # 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.4.233:80 rr
   -> 192.168.4.211:80             Route   1      0          8         
   -> 192.168.4.212:80             Route   1      0          7
1
2
3
4
5
6
7
[root@node1 ~] # ipvsadm -L -n --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes
   -> RemoteAddress:Port
TCP  192.168.4.233:80                   24      116        0     9597        0
   -> 192.168.4.211:80                   12       60        0     4980        0
   -> 192.168.4.212:80                   12       56        0     4617        0

现实情况中可根据实际规划信息进行相应的算法调度,LVS所提供的12中调度算法,在一定程度上能满足大多数服务器的架构需求。



本文转自 CARYFLASH 51CTO博客,原文链接:http://blog.51cto.com/maoxiaoxiong/1832438

相关文章
|
6月前
|
存储 负载均衡 网络协议
企业实战(13)LVS负载均衡DR(直接路由)模式实战详解(二)
企业实战(13)LVS负载均衡DR(直接路由)模式实战详解(二)
105 0
|
5月前
|
负载均衡 应用服务中间件 Linux
Nginx系列教程(14) - LVS+KeepAlived+Nginx实现高性能负载均衡集群
Nginx系列教程(14) - LVS+KeepAlived+Nginx实现高性能负载均衡集群
175 0
|
4月前
|
负载均衡 监控 调度
Keepalived+Lvs(dr)调度器主备配置小实验
Keepalived和LVS(Linux Virtual Server)是两个常用的开源软件,通常结合使用以提供高可用性和负载均衡的解决方案。 Keepalived是一种用于实现高可用性的软件,它可以监控服务器的健康状态,并在主服务器出现故障时自动切换到备份服务器。
95 2
|
3月前
|
负载均衡 算法 Linux
LVS集群
LVS(Linux Virtual Server)集群是一种基于Linux操作系统的高可用性和负载均衡解决方案。它通过将网络流量分发到多个后端服务器上,实现了对网络服务的负载均衡,并提高了系统的可用性和性能。
65 1
|
4月前
|
负载均衡 算法 网络协议
小白带你学习linux的LVS集群(三十六)
小白带你学习linux的LVS集群(三十六)
71 0
|
7月前
|
存储 负载均衡 网络协议
LVS负载均衡群集—DR直接路由
LVS负载均衡群集—DR直接路由
65 0
|
7月前
|
负载均衡 测试技术
LVS+KeepAlived构建高可用集群
LVS+KeepAlived构建高可用集群
54 0
|
8月前
|
缓存 负载均衡 网络协议
|
缓存 负载均衡 网络协议
构建LVS负载均衡集群
LVS即Linux虚拟服务器,目前 LVS 已经被集成到 Linux 内核模块中,该项目在 Linux 内核实现了基于 IP 的数据请求负载均衡调度方案,LVS集群采用IP负载均衡技术和基于内容请求分发技术.调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器.整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序.为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性.
854 0
构建LVS负载均衡集群
|
负载均衡 网络协议 调度
LVS负载均衡DR模式群集部署(二)
LVS负载均衡DR模式群集部署(二)
LVS负载均衡DR模式群集部署(二)