LVS–DR
DR 模式为直接路由模式
在DR群集模式中,LVS负载调度器作为群集的访问入口,但不作为网关使用,服务器中的所有节点都各自接入 Internet 中,也就是说,客户端通过访问 lvs 调度器,然后调度器 给 web 池中的web主机发送访问请求,然后web 主机收到访问请求直接通过互联网回应给外网中的客户端。
实验环境:
主机 | 地址 |
---|---|
LVS 调度器 | 1.1.1.101/8 |
Web1 | 1.1.1.102/8 |
Web2 | 1.1.1.103/8 |
Client | 1.1.1.104/8 |
虚拟IP地址 |
1) 查看是否存在集群
- 如存在集群删除
2) 安装 lvs 管理工具
- linux 内核集成了 lvs ,不需要单独安装,但是需要安装 ipvsadmin 管理工具进行使用
[root@localhost ~]# modprobe ip_vs # 加载模块
[root@localhost ~]# yum -y install ipvsadmin
3) LVS 创建虚拟IP地址
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0
[root@localhost network-scripts]# vim ifcfg-ens33:0
# 删除 UID ,更改 网卡名称为 ens33为 ens33:0
# 并设置虚拟IP地址 为 1.1.1.111
- 重启network服务
[root@localhost network-scripts]# systemctl restart network
4) Web1
- 指定 LVS 虚拟IP地址,LVS 通过虚拟地址调度web
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vim ifcfg-lo:0
# 以下内容更改,其他默认;
DEVICE=lo:0 # 网卡名称
IPADDR=1.1.1.111 # LVS 虚拟调度IP地址
NETMASK=255.255.255.255 # 子网必须 是 32
……
NAME=one # 备注名字
- 重启 network 服务
[root@localhost network-scripts]# systemctl restart network
5) web2
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vim ifcfg-lo:0
# 以下内容更改,其他默认;
DEVICE=lo:0 # 网卡名称
IPADDR=1.1.1.111 # LVS 虚拟调度IP地址
NETMASK=255.255.255.255 # 子网必须 是 32
……
NAME=two # 备注名字
- 重启 network 服务
[root@localhost network-scripts]# systemctl restart network
4) 调整 Web 服务器内核参数
- 使 web 服务器可以接受arp广播,也会回应广播,但是不会进行广播
[root@localhost ~]# vim /etc/sysctl.conf
[root@localhost ~]# sysctl -p
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_announce = 2
5) 将 虚拟地址添加至路由
- web1、web2
[root@localhost ~]# route add -host 1.1.1.111 dev lo:0
6) LVS 服务器
- 创建集群
[root@localhost network-scripts]# ipvsadm -A -t 1.1.1.111:80 -s rr
[root@localhost network-scripts]# ipvsadm -a -t 1.1.1.111:80 -r 1.1.1.102:80 -g -w 1
[root@localhost network-scripts]# ipvsadm -a -t 1.1.1.111:80 -r 1.1.1.103:80 -g -w 1
- 保存
[root@localhost network-scripts]# ipvsadm -S
-A -t localhost.localdomain:http -s rr
-a -t localhost.localdomain:http -r 1.1.1.102:http -g -w 1
-a -t localhost.localdomain:http -r 1.1.1.103:http -g -w 1
- 查看
[root@localhost network-scripts]# ipvsadm -S
-A -t localhost.localdomain:http -s rr
-a -t localhost.localdomain:http -r 1.1.1.102:http -g -w 1
-a -t localhost.localdomain:http -r 1.1.1.103:http -g -w 1
7) CLient 访问 LVS 虚拟地址
[root@localhost ~]# curl 1.1.1.111
Thes is a web-server-1
[root@localhost ~]# curl 1.1.1.111
Thes is a web-server-2
[root@localhost ~]# curl 1.1.1.111
Thes is a web-server-1
[root@localhost ~]# curl 1.1.1.111
Thes is a web-server-2
[root@localhost ~]# curl 1.1.1.111
Thes is a web-server-1