DR模式负载均衡

DR(直连路由)

直连路由是一个半开放的服务器网络,在客户机发送apr请求之后,由调度器进行回应,然后通过分配相应的节点服务器来进行响应。
由于不需要像NAT那样通过调度器来进行公网地址发出,所以节点服务器都是可以进行上网链接的。

步骤:

1)需要材料:一台服务器用作调度器,两台服务器用作节点服务器,还有一台用作NFS,其中,调度器网卡配置为NAT模式的外网可以上网,两台节点服务器为两张网卡服务器,一张用作外网,一张用作内网,nfs的网卡配置为仅主机模式的私网ip地址,不能访问外网,专门用作nfs文件共享用。
增设内网网卡的目的是为了提供有效安全的数据包存储。
2)调度器操作,创建一个vip虚拟地址。cd /etc/sysconfig/network-scripts/进入到网卡配置文件,复制网卡ens33并且命名为ens33:0,这是为了创建vip虚拟地址。
3)进入ens33:0进行修改ip地址(需要同网段并且不与其他服务器ip地址冲突):
在这里插入图片描述

并且删除子网掩码和dns
4)开启网卡ens33:0,然后就可以看到ens33中出现了一个新的网络ip地址:
在这里插入图片描述

5)导入模块(modprobe ip_vs)并且下载ipvsadm命令

6)添加vip地址作为调度器地址,并且加入节点服务器的真实ip地址:
ipvsadm -A -t 192.168.53.254:80 -s rr
ipvsadm -a -t 192.168.53.254:80 -r 192.168.53.50:80 -g -w 1
ipvsadm -a -t 192.168.53.254:80 -r 192.168.53.150:80 -g -w 1

此刻可进行ipvsadm -ln查看是否添加成功:
[root@localhost network-scripts]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.53.254:80 rr
-> 192.168.53.50:80 Route 1 0 0
-> 192.168.53.150:80 Route 1 0 0

7)修改**/etc/sysctl.conf**文件,在尾部追加命令:
net.ipv4.ip_forward = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

并输入sysctl -p来进行验证

8)永久保存该设置,使用ipvsadm命令:
ipvsadm-save /etc/sysconfig/ipvsadm
重启并设置开机自启动:
systemctl enable ipvsadm
systemctl restart ipvsadm

如果此时再次查看有可能会出现bug,导致原本是虚拟端口会被篡改成本机地址127.0.0.,这个时候就需要将该地址进行删除并且重新撰写列表(ipvsadm -D -t 127.0.0.

此刻,调度器已经调配好

9)节点服务器要进行的操作,更改虚拟网卡地址,并且重启网络服务和网络
(systemctl stop NetworkManage&
systemctl start NetworkManage&
systemctl restart network)

10)进入/etc/sysctl.conf文件中在后面追加如下字段:
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.lo.all_ignore=1
net.ipv4.conf.lo.all_announce=2

此项操作是为了使客户访问以及接收到的数据包都是通过调度器来实现收发而非节点服务器。输入sysctl -p来查看是否输入成功。

11)**cd /etc/sysconfig/network-scripts/**进入网卡配置文件,将环回接口文件给复制下来并且命名为ifcfg-lo:0:cp ifcfg-lo ifcfg-lo:0,并且进行修改:
在这里插入图片描述

具体操作为将DEVICE的名字改为lo:0,IPADDR改为调度器中的vip虚拟地址,子网掩码为32位即都是255,并且将除了如图中的其他参数都给删除。

12)开启lo:0,并且重启网络服务以及网卡
ifup lo:0
systemctl stop NetworkManager
systemctl start NetworkManager
systemctl restart network

过后可以看到lo换回网路出现了新添加的ip地址
在这里插入图片描述

13)添加路由器,表明该服务器需要先去到哪里进行中转
route add -host 192.168.53.254 dev lo:0,而后可以查看路由,会看到出现了一个环回接口:
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.53.2 0.0.0.0 UG 100 0 0 ens33
192.168.53.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.53.254 0.0.0.0 255.255.255.255 UH 0 0 0 lo
192.168.174.0 0.0.0.0 255.255.255.0 U 101 0 0 ens37

14)验证,首先两台服务器都需要搭建好相应的服务(如APACHE,tomcat,nginx),另外下载好nfs和rpcbind已做备用
yum -y install rpcbind nfs-utils
其次在服务部署机中需要有该项目(apache,tomcat,nginx),注意,apache可以自由跳转,但是如果使nginx需要进入配置文件中输入权重设置来进行跳转:
upstream proxy_test {
server 192.168.53.50:80 weight=1;
server 192.168.53.150:80 weight=1;
}

server {
listen 80;
server_name localhost;

在两台服务器节点中的nginx部署项里,分别键入不同的网页部署进行测试,这么做的主要目的是为了查看浏览访问是否可以轮询来进行访问:
在这里插入图片描述
在这里插入图片描述

可以查看调度器的ipvsadm配置来看看访问情况:
在这里插入图片描述

15)最后配置nfs静态储存点,准备一台只有私网网卡的IP地址的服务机,下载
yum -y install rpcbind nfs-utils
并且将自身的某一文件进行共享并且写入/etc/exports中
在这里插入图片描述

重启rpcbind和nfs.service服务,并输入showmount -e验证是否成功登记,而后在节点服务器进行挂载。可以将网页部署文件与该挂载在一起,就可以进行部署。

猜你喜欢

转载自blog.csdn.net/weixin_54165399/article/details/115400717