IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> LVS+Keepalived负载均衡高可用群集 -> 正文阅读

[系统运维]LVS+Keepalived负载均衡高可用群集

目录

一、Keepalived高可用详解

1.应用场景

2.介绍和原理简介

3.主要模块和作用

二、LVS+keepalived配置实例(抢占模式)

1.配置NFS共享存储器

2.配置节点web服务(两台的配置相同)

3.配置主备LVS+keepalived负载调度器

三、非抢占模式

四、脑裂现象的解释和解决办法

1.解释

2.解决方法


一、Keepalived高可用详解

1.应用场景

? ? ? ? 在企业应用中,单台服务器承担应用存在单点故障的危险。单点故障一旦发生,企业服务将发生中断,造成极大的危害。所以需要群集实现高可用性,保证服务稳定。

2.介绍和原理简介

????????Keepalived是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。

可参考? ? ? ??VRRP详解与配置实例_Evens7xxX的博客-CSDN博客

????????支持故障自动切换(Failover)和 节点健康状态检查(Health Checking)—— 判断LVS负载调度器、节点服务器的可用性,当master主机出现故障及时切换到backup节点保证业务正常,当master故障主机恢复后将其重新加入群集并且业务。

????????在一个LVS服务集群中通常有主服务器(NASIER)和备份服务器(EcCXOp)两种角色的服务器,但是对外表现为一个虚拟re,主服务器会发送vRt通告信息给备份服务器,当备份服务器收不到wa&消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。W AEF AWF EAFAF?FAEDAWAWEDF 4TWAWDFA

3.主要模块和作用

????????core模块:为keepalived的核心,负责主进程的启动、维护及全局配置文件的加载和解析

????????vrrp模块:是来实现VRRP协议的,用于主备调度器的检查和切换。

????????check模块:负责健康检查节点服务器,常见的方式有端口检查及URL检查。

二、LVS+keepalived配置实例(抢占模式)

LVS-NAT 参考?LVS-DR负载群集的优势和部署实例_Evens7xxX的博客-CSDN博客??????

LVS-DR? 参考?LVS-DR负载群集的优势和部署实例_Evens7xxX的博客-CSDN博客

以下实验使用LVS-DR+keepalived抢占模式实现高可用负载群集

Web 服务器1:192.168.116.10(VIP 192.168.116.100)
Web 服务器2:192.168.116.20(VIP 192.168.116.100)

NFS 共享存储器:192.168.116.30

LVS+keepalived?主负载调度器:192.168.116.40(VIP 192.168.116.100)

LVS+keepalived?备负载调度器:192.168.116.30(VIP 192.168.116.100)

网关/路由器:192.168.116.2
客户端:192.168.116.50

1.配置NFS共享存储器

systemctl stop firewalld.service
setenforce 0
?
yum -y install nfs-utils rpcbind
mkdir /opt/nfs/server1 /opt/nfs/server2
chmod -R 777 /opt/nfs
?
vim /etc/exports
/opt/nfs 192.168.116.0/24(rw,sync)
/opt/nfs/server1 192.168.116.0/24(rw,sync)
/opt/nfs/server2 192.168.116.0/24(rw,sync)
?
systemctl restart rpcbind.service
systemctl restart nfs.service

检查发布的共享策略

分别在共享目录中添加web测试页面(两个可以有所区别)

2.配置节点web服务(两台的配置相同)

配置好ip地址,并将网关指定为网关/路由器的ip地址

安装nginx提供web服务(apache、nginx等均可,仅用于实验)

将网站根目录挂载到各自的共享目录

查看是否共享成功

添加回环网卡虚拟ip

cp /etc/sysconfig/network-scripts/ifcfg-lo /etc/sysconfig/network-scripts/ifcfg-lo:0
?
vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.116.100
NETMASK=255.255.255.255
ONBOOT=yes
?
ifup lo:0

添加静态路由(将数据包封锁在回环网卡中)

#临时配置
route add -host 192.168.116.100 dev lo:0
?
#永久配置
vim /etc/rc.local
/sbin/route add -host 192.168.116.100 dev lo:0
chmod +x /etc/rc.d/rc.local

调整内核的ARP响应参数(阻止更新VIP的MAC地址,避免发生冲突)

vim /etc/sysctl.conf
#添加
net.ipv4.conf.lo.arp_ignore = 1?? ??? ?
net.ipv4.conf.lo.arp_announce = 2?? ?
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
?
#加载配置
sysctl -p

3.配置主备LVS+keepalived负载调度器

两台都关闭防火墙下载keepalived和ipvsadm,修改内核参数

systemctl stop firewalld.service
setenforce 0

modprobe ip_vs
yum -y install ipvsadm keepalived

vim /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

sysctl -p

修改主负载器配置文件

修改备负载器配置文件(与主配置一致,只需修改以下部分)?

之后启动keepalived再启动ipvsadm(ipvsadm会自动加载keepslived中的配置)

#启动keepalived
systemctl restart keepalived.service
ipvsadm-save > /etc/sysconfig/ipvsadm

#启动ipvsadm
systemctl restart ipvsadm.service

查看主服务器

查看备服务器

访问测试(此时应该是主负载器提供服务)

现在将主负载器服务停止或关机(模拟宕机),继续访问

访问成功,这次显然是由备负载器进行转发的?

三、非抢占模式

keepalived的抢占与非抢占模式
????????抢占模式即MASTER从故障中恢复后,会将VIP从BACKUP节点中抢占过来。

????????非抢占模式即MASTER恢复后不抢占BACKUP升级为MASTER后的VIP。非抢占式的两个节点state必须为BACKUP,且必须在优先级前添加nopreempt
注意:这样配置后,我们要注意启动服务的顺序,优先启动的获取master权限,与优先级没有关系了。

四、脑裂现象的解释和解决办法

1.解释

????????在抢占模式中,MASTER需要定时发送报文通告BACKUP自己仍在运作,但是当MASTER还在运作,但其中的线路或交换机等出现故障导致BACKUP不能收到通告时,会认为MASTER已经失效,此时BACKUP抢占VIP会导致VIP同时存在,这就是脑裂现象

2.解决方法

????????主备服务器之间使用双链路通信;

????????通过脚本来实时监控主备的网络状态,然后再根据脚本逻辑采取措施(关掉主服务器的keepalived服务器);

????????通过第三方监控系统来实时监控主备服务器及网络状态,然后再根据情况采取措施(关掉主服务器的keepalived服务器)。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 21:56:36  更:2022-10-22 21:58:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年9日历 -2024/9/19 10:02:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码