负载均衡集群实验--DR模式

2022-09-22 22:22:06 浏览数 (1)

环境准备:(配置好IP,开启路由转发)

构建DR模式的负载均衡集群

拓展

ARP

arp_annouce 通告

0 将本机任何接口上的任何地址都向外通告

1 尽可能避免向目标网络通告其网络不匹配的地址信息

2 仅向目标网络通告与其网络匹配的地址信息

arp_ignore 响应

0 只要本机配置有该ip就响应

1 仅在请求的目标地址配置在请求到达的接口上时,才给予响应。

实验规划:

Centos7五台服务器(考试可以去除测试机和路由器)

  1. 1号充当测试机:

IP:192.168.10.13

GW:192.168.10.23

  1. 2号作为路由器:双网卡,外网网卡和内网网卡

ens33:192.168.10.23

ens37:192.168.11.23

  1. 2号机路由器开启路由转发:

vim /etc/sysctl.conf

添加内容:net.ipv4.ip_forward = 1

sysctl -p

  1. 3号机作为负载均衡服务器:添加网卡子接口作为VIP地址

DIP--ens33

IP:192.168.11.33

GW:192.168.11.23

网卡子接口:VIP地址

VIP--ens33:0

IP:192.168.11.200

GW:192.168.11.23

  1. 4号和5号:两台作为real server,应用服务器(配置本地回环网卡子接口)

4号:

ens33:192.168.11.43

GW:192.168.11.23

5号:

ens33:192.168.11.53

GW:192.168.11.23

本地回环网卡配置子接口----------两台应用服务器同步操作:按照以下步骤操作

cd /etc/sysconfig/network-scripts/

cp -a ifcfg-lo ifcfg-lo:0

vim ifcfg-lo:0

1 DEVICE=lo

2 IPADDR=192.168.11.200

3 NETMASK=255.255.255.255

  1. 注意:修改完配置文件后,重启网卡

systemctl restart network

实验步骤

第一步: 4号、5号后端真实服务器配置(同步操作)

  1. 两个后端服务器上都要安装httpd服务器

yum -y install httpd

  1. 在后端服务器1上配置网站

cd /var/www/html/

echo "http1 1 hao" >> index.html

  1. 在后端服务器2上配置网站

cd /var/www/html/

echo "http2 2 hao " >> index.html

  1. 两个后端服务器的内网网关地址为负载调度器的内网ip地址(两个服务器都执行,如果想要永久生效,写入网卡配置文件)

route add default gw 192.168.11.23

  1. 修改keepalive配置文件

cp -a /usr/share/doc/httpd-2.4.6/httpd-default.conf /etc/httpd/conf.d/

vim /etc/httpd/conf.d/httpd-default.conf

修改以下两部分

  1. httpd服务启动

systemctl restart httpd

systemctl enable httpd

  1. 先测试机测试访问网站是否可以访问
  2. 2号机路由器开启路由转发:

vim /etc/sysctl.conf

添加内容:net.ipv4.ip_forward = 1

sysctl -p

测试机测试

[root@zjt13 ~]# curl 192.168.11.43

http1 1 hao

[root@zjt13 ~]# curl 192.168.11.53

http2 2 hao

第二步:配置3号负载调度器(集群规则做MAC地址转换)

  1. 优化配置(关闭路由重定向)

vim /etc/sysctl.conf

(三选一)

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.eth0.send_redirects = 0

sysctl –p

  1. 配置网卡子接口,作为VIP,集群IP地址

[root@zjt33 ~]# cd /etc/sysconfig/network-scripts/

[root@zjt33 network-scripts]# cp -a ifcfg-ens33 ifcfg-ens33:0

[root@zjt33 network-scripts]# vim ifcfg-ens33:0

  1. 重启网卡

systemctl restart network

  1. 查看是否支持ipvs内核模块

config为内核文件,如果做过内核升级应该判断正在用的内核版本的文件

grep -i "ip_vs" /boot/config-3.10.0-957.el7.x86_64

  1. 安装用户的管理命令,ipvsadm工具进行创建、管理集群,用rpm或yum安装

yum -y install ipvsadm.x86_64

  1. 创建集群—指定VIP

ipvsadm -A -t 192.168.11.200:80 -s rr

  1. 查看:

ipvsadm -ln

  1. 向集群内添加服务器,建立服务器池

ipvsadm -a -t 192.168.11.200:80 -r 192.168.11.43:80 -g

ipvsadm -a -t 192.168.11.200:80 -r 192.168.11.53:80 -g

  1. 再次查看:

ipvsadm -ln

集群创建完成没有配置文件不需要保存

第三步:配置4号、5号应用服务器(真实服务器):两台服务器同步操作

  1. 两个真实服务器都配置--添加虚拟网卡接口,将VIP地址添加到回环网卡子接口上

cd /etc/sysconfig/network-scripts/

cp -a ifcfg-lo ifcfg-lo:0

vim ifcfg-lo:0

1 DEVICE=lo

2 IPADDR=192.168.11.200

3 NETMASK=255.255.255.255

4 NETWORK=127.0.0.0

5 # If you're having problems with gated making 127.0.0.0/8 a martian,

6 # you can change this to something else (255.255.255.255, for example)

7 BROADCAST=127.255.255.255

8 ONBOOT=yes

9 NAME=loopback

  1. 重启网卡

systemctl restart network

  1. 优化配置-调整内核参数

vim /etc/sysctl.conf

三组任选一组

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

net.ipv4.conf.default.arp_ignore = 1

net.ipv4.conf.default.arp_announce = 2

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

[root@zjt43 network-scripts]# sysctl -p

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

  1. 添加路由策略(centos7版本可以不用做)

route add -host 192.168.11.200 dev lo:0

第四步:测试(刷新看效果):添加路由器防火墙规则

2号机添加路由器防火墙规则

iptables -t nat -A PREROUTING -i ens33 -d 192.168.10.23 -p tcp --dport 80 -j DNAT --to-destination 192.168.11.200

#192.168.10.23—路由器公网IP地址

#192.168.11.200—集群IP地址(VIP)

查看防火墙规则:

iptables -t nat -L

1号测试机访问路由器公网IP地址

  1. 测试机操作:vim /etc/hosts
  1. 测试:curl或者elinks测试

[root@zjt13 ~]# curl www.zjt.com

  1. 测试机安装软件包httpd-tools

yum -y install httpd-tools

[root@zjt13 ~]# which ab

/usr/bin/ab

[root@zjt13 ~]# rpm -qf /usr/bin/ab

httpd-tools-2.4.6-88.el7.centos.x86_64

  1. 测试机使用ab命令进行测压

ab -c 100 -n 1000 http://192.168.10.23:80/index.html

  1. 测试机访问完后在负载调度器上查看

ipvsadm -ln

0 人点赞