负载均衡之----DR模式下LVS负载均衡 / keepalived后端故障检测 / Lvs+keepalived 实现高可用

Posted S4061222

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了负载均衡之----DR模式下LVS负载均衡 / keepalived后端故障检测 / Lvs+keepalived 实现高可用相关的知识,希望对你有一定的参考价值。

前言:

lvs 负载均衡( linux virtual server),linux虚拟服务器,是一个虚拟的四层交换器集群系统,根据目标地址和目标端口实现用户请求转发,本身不产生流量,只做用户请求转发,目前是负载均衡性能最好的集群系统。

负载均衡的四种模式
DR> Tun > NAT> fullNAT,前三种没有抗攻击能力,且对后端没有健康检测
fullNAT有抗攻击能力和对后端健康检测的功能,但性能相对较差,使用硬件弥补

DR模式: 主要修改mac,mac地址位于数据链路层,需要主机都在一个vlan(虚拟局域网)里面,DR和RS在一个vlan里面,所以要做arp避免vip冲突

工作过程

C(Client) ----> DR —> RS ----> C(Client)

ipvsadm: LVS的管理工具

LVS的结构主要分为两部分

工作在内核空间的IPVS模块。LVS的能力实际上都是由IVPS模块实现。
工作在用户空间的ipvsadm管理工具。其作用是向用户提供一个命令接口,用于将配置的虚拟服务、真实服务等传给IPVS模块。内核中的ipvs、iptables < kernel netfilter,

实验环境:

此处是使用一个封装好的虚拟机small.qcow2作为母盘,创建server1,2,3,
在这里插入图片描述导入已有硬盘方式创建server1,2,3虚拟机
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
编写server1,2,3的网卡配置文件
在这里插入图片描述
在这里插入图片描述
重启网络
在这里插入图片描述
真实主机需要在ifcfg-br0文件中添加另一ip:172.25.28.250,使得宿主机与虚拟主机server1,2,3处于同一网段
在这里插入图片描述
在这里插入图片描述server1.2.3需要更改网络模式
在这里插入图片描述
真实主机需要将iso镜像挂载在/var/www/html/rhel7.6目录下
在这里插入图片描述
在这里插入图片描述server1安装lftp,vim,net-tools,bash-*
在这里插入图片描述server1.2.3中需要与其他主机彼此解析
在这里插入图片描述

一. lvs

server作为lvs调度器

1.安装ipvsadm

在这里插入图片描述

2.添加vip

vip:虚拟服务的ip地址

在这里插入图片描述
在这里插入图片描述

3.书写策略

-s调度策略,-A添服务地址-t tcp服务,-g直连,-r后端,-ln不用解析,-s rr调度算法:轮叫
在这里插入图片描述

4.server2,3安装httpd,修改默认测试发布页内容,重启httpd

在这里插入图片描述
在这里插入图片描述

5.测试,curl 172.25.28.100出现问题

在这里插入图片描述

6.解决:检查防火墙和服务端口

在这里插入图片描述

7.再次测试未解决,server2和3添加vip

在这里插入图片描述原因:需要给server2和3添加vip
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述mac地址在改变,
在这里插入图片描述
在这里插入图片描述server3的mac地址
在这里插入图片描述在这里插入图片描述server1的mac地址
在这里插入图片描述解决:server2,3需要
数据包必须在DR出修改mac,丢弃RS的vip
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试:

mac地址不改变,轮叫
在这里插入图片描述

二. keepalived

1.某台REALServer down 了,怎么办

demo:关闭server2的httpd
在这里插入图片描述
server1无法检测到server2已经down
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
server2的httpd关闭后无法检测出来

解决:
安装keepalived,编写主配置文件
在这里插入图片描述在这里插入图片描述在这里插入图片描述
删除vip: ip addr del 172.25.28.100/24 dev eth0
ipvsadm -C
在这里插入图片描述
重启keepalived服务
在这里插入图片描述
看log日志
在这里插入图片描述
在这里插入图片描述测试:
在这里插入图片描述此时server2关闭httpd服务后,server1可以检测出来server2已经down
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
详细内容可以查看邮件
在这里插入图片描述
在这里插入图片描述

2. lvs down,怎么办

实验环境:创建server4,修改网卡配置文件,彼此解析
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述server4安装keepalived,编写主配置文件
在这里插入图片描述
在这里插入图片描述
安装ipvsadm
在这里插入图片描述在这里插入图片描述server4此时为主调度器
在这里插入图片描述修改server4为备调度器,修改优先级
在这里插入图片描述
此时观察到server4为主调度器
在这里插入图片描述在这里插入图片描述测试:

server1作为lvs down掉后

在这里插入图片描述
此时mac地址为server4主机的
在这里插入图片描述在这里插入图片描述
恢复server1
在这里插入图片描述
此时mac地址为server1的

在这里插入图片描述在这里插入图片描述

以上是关于负载均衡之----DR模式下LVS负载均衡 / keepalived后端故障检测 / Lvs+keepalived 实现高可用的主要内容,如果未能解决你的问题,请参考以下文章

LVS负载均衡群集之构建DR模式,可跟做!!!

负载均衡之----DR模式下LVS负载均衡 / keepalived后端故障检测 / Lvs+keepalived 实现高可用

LVS负载均衡之DR模式

LVS负载均衡群集再相遇之DR模式+Keepalived

LVS负载均衡群集再相遇之DR模式+Keepalived

玩转Linux系统之基于DR模式的LVS负载均衡群集