部署LVS-DR集群

LVS-DR 集群

LVS-DR(Linux Virtual Server Director Server)工作模式,是生产环境中最常用的一种工作模式。

LVS-DR工作原理

LVS-DR模式,Director Server作为群集的访问入口,不作为网关使用,节点Director Server与 Real Server 需要在同一个网络中,返回给客户端的数据不需要经过Director Server。为了响应对整个群集的访问,Director Server与 Real Server 都需要配置VIP 地址。

Real  server

数据包流向分析

以下为数据包流向分析步骤。

1. 客户端发送请求到Director Server,请求的数据报文(源IP是CIP,目标IP是VIP)到达内核空间。

2. Director Server和 Real  Server在同一个网络中,数据通过二层数据链路层来传输。

3.   内核空间判断数据包的目标IP 是本机VIP,   此时IPVS 比对数据包请求的服务是否是集群服务,是集群服务就重新封装数据包。修改源 MAC地址为Director Server的MAC 地址,修改目标MAC地址为Real Server 的MAC地址,源IP地址与目标IP地址没有改变,然后将数据包发送给Real  Server。

4. 到达Real Server的请求报文的MAC地址是自身的MAC地址,就接收此报文。数据包重新封装报文(源IP 地址为VIP, 目标IP 为CIP),   将响应报文通过lo 接口传送给物理网卡然后向外发出。

5.Real Server直接将响应报文传送到客户端。

LVS-DR    模式特点

下面是LVS-DR模式的特点:

>  Director   Server 和Real Server必须在同一个物理网络中。

>  Real Server可以使用私有地址,也可以使用公网地址。如果使用公网地址,可以通过互联网对RIP进行直接访问。

所有的请求报文经由Director Server,但回复响应报文不能经过Director Server。Real Server的网关不允许指向Director Server IP,即不允许数据包经过Director   Server。

Real Server上的lo接口配置VIP的IP地址。

案 例 : 直 接 路 由 模 式 ( LVS-DR    )

准备案例环境

在DR模式的群集中,LVS负载调度器作为群集的访问入口,但不作为网关使用;服务器池中的所有节点都各自接入 Internet,  发送给客户机的Web 响应数据包不需要经过LVS负载调度器。

这种方式入站、出站访问数据被分别处理,因此LVS负载调度器和所有的节点服务器 都需要配置VIP地址,以便响应对整个群集的访问。考虑到数据存储的安全性,共享存储 设备会放在内部的专用网络中。

1. 配置虚拟IP地址(VIP)

采用虚接口的方式(ens33:0),为网卡ens33绑定VIP地址,以便响应群集访问。

配置结果为ens33172.16.16.173/24、ens33:0172.16.16.172/24。

[root@localhost ~]# cd letc/sysconfig/network-scripts/

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

[root@localhost network-scripts]# vi ifcfg-ens33:0

..../省略部分信息 

NAME=ens33:0

DEVICE=ens33:0 ONBOOT=yes

IPADDR=172.16.16.172

NETMASK=255.255.255.255                              //注意:子网掩码必须全为1 
2.调整proc 响应参数

对于DR群集模式来说,由于LVS负载调度器和各节点需要共用VIP地址,应该关闭 Linux 内核的重定向参数响应。

[root@localhost ~]#vi letclsysctl.conf

..…//省略部分信息

net.ipv4.conf.all.send_redirects =0

net.ipv4.conf.default.send_redirects =0 net.ipv4.conf.ens33.send_redirects =0  

[root@localhost ~]# sysctl  -p
3.配置负载分配策略

配置负载分配策略的命令如下:

[root@localhost ~]# yum -y install ipvsadm

[root@localhost ~]#ipvsadm  -A  -t  172.16.16.172:80-s  rr

[root@localhost ~]#ipvsadm -a -t 172.16.16.172:80 -r 172.16.16.177 -g -w 1

[root@localhost ~]#ipvsadm -a -t 172.16.16.172:80 -r 172.16.16.178-g -w 1

[root@localhost ~]#ipvsadm -a -t 172.16.16.172:80 -r 172.16.16.179 -g -w1

[root@localhost ~]#ipvsadm -a -t 172.16.16.172:80 -r 172.16.16.180-g -w 1

[root@localhost~]#ipvsadm-save>letc/sysconfig/ipvsadm   //保存策略

[root@localhost ~]#systemctl enable ipvsadm

配置节点服务器

使用DR模式时,节点服务器也需要配置VIP地址,并调整内核的ARP响应参数以阻止更新VIP的MAC地址,避免发生冲突。除此以外,Web服务的配置与NAT方式类似。

1.配置虚拟IP地址 (VIP)。

在每个节点服务器,同样需要具有VIP  地址172.16.16.172,但此地址仅用作发送Web   响应数据包的源地址,并不需要监听客户机的访问请求(改由调度器监听并分发)。因此使用虚接口lo:0 来承载VIP地址,并为本机添加一条路由记录,将访问VIP的数据限制在本地,以避免通信紊乱。

[root@localhost ~]#cd letc/sysconfig/network-scripts/ 

[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0   

[root@localhost network-scripts]# vi ifcfg-lo:0

DEVICE=lo:0

IPADDR=172.16.16.172

NETMASK=255.255.255.255                                       //注意:子网掩码必须全为1

ONBOOT=yes

[root@localhost   ~]#vi   letc/rc.local                          /添加VIP 本地访问路由

/省略部分信息

route add -host 172.16.16.172 dev lo:0

2. 调整proc响应参数。

调整proc 响应参数的命令如下:

[root@localhost ~]#viletclsysctl.conf

net.ipv4.conf.all.arp_ignore =1

net.ipv4.conf.allarp_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@localhost ~]# sysctl -p

3.安装httpd,创建测试网页。

安装httpd,创建测试网页的命令如下:

[root@localhost ~]#yum -y install httpd

[root@localhost ~]#mount 192.168.7.250:/optwwwroot varlwww/html 

[root@localhost ~]#vi /var/www/html/index.html
<h1>LVS负载均衡群集——测试网页</h1>

4. 启用httpd服务程序。

启用httpd 服务程序的命令如下:

[root@localhost ~]# systemctl start httpd    

[root@localhost ~]# systemctl enable httpd

重复以上步骤,配置其他节点服务器。 

测试LVS群集

安排多台测试机,从 Internet   中直接访问http://172.16.16.172/,将能够看到由真实服务器提供的网页内容。如果各节点的网页不同,则不同客户机看到的网页可能也不一样(可以多刷新几次)。

在LVS 负载调度器中,通过查看节点状态可以观察当前的负载分配情况,对于轮询算法来说,每个节点所获得的连接负载应大致相当。

  • 29
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值