Linux-LVS负载均衡DR模式

LVS-DR模式

用户请求VIP,会由LVS服务器响应,分配至Real-Server服务器,真实服务器处理完后直接返回给用户,不再通过LVS服务器。这减轻了调度器的压力。LVS-NAT模式参考:http://blog.csdn.net/qq_39591494/article/details/77574406

准备环境:     Centos7.3-LVS分发器:192.168.161.135

                      Centos7.3-Web1:192.168.161.136

                      Centos7.3-Web2:192.168.161.137

注:调度器和RealServer必须在同一个LAN, LAN可以使用公网IP,也可以使用private IP

1.配置Web1

[[email protected] ~]# ip addr add 192.168.161.100/32 dev lo
[[email protected] ~]# ip addr show lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet 192.168.161.100/32 scope global lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever

Linux-LVS负载均衡DR模式

[[email protected] ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
[[email protected] ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

2.在web2上安装httpd服务

[[email protected] ~]# yum install httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.bit.edu.cn
 * extras: mirror.bit.edu.cn
 * updates: mirrors.btte.net
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-45.el7.centos.4 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-45.el7.centos.4,它被软件包 httpd-2.4.6-45.el7.centos.4.x86_64 需要

安装完之后我们写个页面进去

[[email protected] ~]# echo "yanker-web1" > /var/www/html/index.html
[[email protected] ~]# cat /var/www/html/index.html 
yanker-web1

随后启动httpd服务

[[email protected] ~]# systemctl start httpd
[[email protected] ~]# netstat -anpt | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      5149/httpd

2.配置web2-其实和web1都是一样的 就是导入的页面不一样(为了测试,在真实环境中是用一样的页面!!!)

[[email protected] ~]# ip addr add 192.168.161.100/32 dev lo
[[email protected] ~]# ip addr show  lo 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet 192.168.161.100/32 scope global lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever

[[email protected] ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[[email protected] ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

在web2上安装httpd服务

[[email protected] ~]# yum install httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.bit.edu.cn
 * extras: mirror.bit.edu.cn
 * updates: mirrors.btte.net
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-45.el7.centos.4 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-45.el7.centos.4,它被软件包 httpd-2.4.6-45.el7.centos.4.x86_64 需要
--> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-45.el7.centos.4.x86_64 需要
--> 正在处理依赖关系 libaprutil-1.so.0()(64bit),它被软件包 httpd-2.4.6-45.el7.centos.4.x86_64 需要
--> 正在处理依赖关系 libapr-1.so.0()(64bit),它被软件包 httpd-2.4.6-45.el7.centos.4.x86_64 需要

[[email protected] ~]# echo "yanker-web2" > /var/www/html/index.html
[[email protected] ~]# cat /var/www/html/index.html 
yanker-web2

启动httpd服务

[[email protected] ~]# systemctl start httpd
[[email protected] ~]# netstat -anpt | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      5424/httpd

3.配置LVS分发器

[[email protected] ~]# ip addr add 192.168.161.100/32 dev lo     
[[email protected] ~]# ip addr show  lo 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet 192.168.161.100/32 scope global lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever

安装ipvsadm

[[email protected] ~]# yum install -y ipvsadm
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.bit.edu.cn
 * extras: mirror.bit.edu.cn
 * updates: mirrors.btte.net
正在解决依赖关系
--> 正在检查事务
---> 软件包 ipvsadm.x86_64.0.1.27-7.el7 将被 安装。。。。。

配置LVS转发规则

[[email protected] ~]# ipvsadm -A -t 192.168.161.100:80 -s rr

-A 添加    -t 表示TCP的服务  VIP:PORT  -s 指定调度算法  rr表示round-robin 轮循

[[email protected] ~]# ipvsadm -a -t 192.168.161.100:80 -r 192.168.161.136 -g 
[[email protected] ~]# ipvsadm -a -t 192.168.161.100:80 -r 192.168.161.137 -g

选项:  -a 表示添加real server的地址  -r 指定real server的IP地址  -g 表示DR模式的LVS

Linux-LVS负载均衡DR模式

配置完成之后我们使用client来访问192.168.161.100随后不断F5刷新页面会出现yanker-web1/web2

Linux-LVS负载均衡DR模式

希望对您有所帮助,再见!