Linux-LVS负载均衡DR模式
LVS-DR模式
用户请求VIP,会由LVS服务器响应,分配至Real-Server服务器,真实服务器处理完后直接返回给用户,不再通过LVS服务器。这减轻了调度器的压力。LVS-NAT模式参考:http://blog.****.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
[[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
配置完成之后我们使用client来访问192.168.161.100随后不断F5刷新页面会出现yanker-web1/web2
希望对您有所帮助,再见!