当前位置: 首页 > news >正文

LVS+Keepalived高可用群集

目录

一,Keepalived概述及安装

(1)Keepalived的热备方式

1,keepalived的安装与服务控制

(1)安装keepalived

(2)控制keepalived服务

2,使用keepalived实现双机热备

(1)主服务器的配置

(2)备用服务器的配置

3,测试双机热备功能

(1)连通性测试

(2)Web访问测试

(3)查看日志记录

二,使用Keepalived实现双机热备(案例)

第一台(调度器)和第二台(调度器)一样

第三台(web)和 第四台(web)一样

第五台(客户端)


一,Keepalived概述及安装

Keepalived 的官方网站位于http://www.keepalived.org/,本章将以YUM方式讲解Keepalived的安装、配置和使用过程。在非LVS 群集环境中使用时,Keepalived也可以作为热备软件使用。

(1)Keepalived的热备方式

Keepalived采用VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)热备份协议,以软件的方式实现Linux服务器的多机热备功能。VRRP是针对路由器的一种备份解决方案--由多台路由器组成一个热备组,通过共用的虚拟IP地址对外提供服务:每个热备组内同一时刻只有一台主路由器提供服务,其他路由器处于冗余状态。若当前在线的路由器失效,则其他路由器会自动接替(优先级决定接替顺序)虚拟IP地址,以继续提供服务,如图3.1所不。
热备组内的每台路由器都可能成为主路由器,虚拟路由器的IP地址(VIP)可以在热备组内的路由器之间进行转移,所以也称为漂移P地址。使用Keepalived 时,漂移地址的实现不需要手动建立虚接口配置文件(如ens33:0),而是由Keepalived 根据配置文件自动管理。

1,keepalived的安装与服务控制

(1)安装keepalived

在0penEuler24系统中,使用N方式安装keepalived.x86642.2.8-1.oe2403spl,会自动安装Keepalived 所需的软件包。除此之外,在LVS群集环境中应用时,也需要用到ipvsadm 管理工具。

dnf instally keepalived ipvsadm

(2)控制keepalived服务

DNF安装keepalived后,执行以下命令将keepalived 服务设置为开机启动。

systemctl enable keepalived

2,使用keepalived实现双机热备

基于VRRP的热备方式,Keepalived可以用作服务器的故障切换,每个热备组可以有多台服务器--当然,最常用的就是双机热备了。在这种双机热备方案中,故障切换主要针对虚拟IP地址的漂移来实现,因此能够适用于各种应用服务器(不管是Web、FTP、Mail,还中,主、备服务器的IP地址分别为192.168.10.101和192.168.10.102,基于漂移地址192.168.10.100提供Web服务,是SSH、DNS…)本小节将通过一个简单的案例来说明Keepalived双机热备的配置方法。主、备服务器中都需要安装Keepalived,使用YUM方式安装httpd 提供Web 服务。下面仅讲解与Keepalived 相关的配置及测试过程。

(1)主服务器的配置

Keepalived服务的配置目录位于/etc/keepalived/。其中keepalived.conf 是主配置文件。另外包括一个子目录 samples/,提供了许多配置样例作为参考。
在 Keepalived 的配置文件中,使用“global defs…”区段指定全局参数,使用“vrrp_instance实例名称(…”区段指定VRRP热备参数,注释文字以“!”符号开头。

cd /etc/keepalived
cp keepalived.conf.sample keepalived.conf
vim keepalived.conf
router_id HA _EST_RI本路由器(服务器)的名称
vrrp_instance VI_1定义VRRP热备实例
state MASTER热备状态,MASTER表示主服务器
interface ens33承载VIP地址的物理接口
virtual router id 1虚拟路由器的ID号,每个热备组保持一致
priority 100优先级,数值越大优先级越高
advert int 1通告间隔秒数(心跳频率)
authentication认证信息,每个热备组保持一致
auth_type PASS认证类型
auth pass 123456密码字串
virtual ipaddress192.168.10.100指定漂移地址(VIP),可以有多个

确认上述配置无误,然后启动Keepalived服务。实际状态为MASTER的主服务器将为ens33接口自动添加VIP地址,通过ip 命令可以查看。注意:ifconfig 命令看不到。

systemctl start keepalived
ip a

(2)备用服务器的配置

在同一个Keepalived热备组内,所有服务器的Keepalived配置文件基本相同,包括虚拟路由器的ID号、认证信息、漂移地址、心跳频率等。不同之处主要在于路由器名称、热备状态、优先级。

路由器名称(routerid):建议为每个参与热备的服务器指定不同的名称。
热备状态(state):至少应有一台主服务器,将状态设为MASTER;可以有多台备用的服务器,将状态设为BACKUP
优先级(priority):数值越大则取得VIP控制权的优先级越高,因此主服务器的优先级应设为最高:其他备用服务器的优先级可依次递减,但不要相同,以免在争夺VIP控制权时发生冲突。

配置备用服务器(可以有多台)时,可以参考主服务器的keepalived.conf配置文件内容,只需修改路由器名称、热备状态、优先级。

systemctl stop firewalld
setenforce 0
cd /etc/keepalived
cp keepalived.conf.sample keepalived.conf
vim keepalived.conf

确认配置无误,一样需要启动Keepalived服务。此时主服务器仍然在线,VIP地址实际上仍然由主服务器控制,其他服务器处于备用状态。因此,在备用服务器中将不会为ens33接口添加VP地址。

systemctl start keepalived
ip a

3,测试双机热备功能

Keepalived 的日志消息保存在/var/log/messages 文件中,在测试主、备故障自动切换功能时,可以跟踪此日志文件来观察热备状态的变化。以针对连通性和Web 服务的测试为例,主要操作如下。

(1)连通性测试

在客户机中执行“ping-t192.168.10.100”命令,能够正常、持续ping 通根据以下操作继续观察测试结果。

①停止启用主服务器的Keepalived服务,发现ping测试只中断了1或2个包即恢复正常,说明已有其他服务器接替VIP地址,并及时响应客户机请求。

②重新启用主服务器的Keepalived服务,发现ping测试再次中断1或2个包即恢复正常,说明主服务器已恢复正常,并夺VIP地址的控制权。

(2)Web访问测试

在 keepalived 运行的主机上启动 nginx 服务并写入不通的测试页面内容

两台

echo "test1">/var/www/html/index.html
systemctl start httpd
systemctl enable httpd

在客户机中访问 http://192.168.10.100/,将看到由主服务器192.168.10.101提供的网页文档。
①停止启用主服务器的Keepalived服务,再次访问上述Web服务,将看到由备用服务
器192.168.10.102提供的网页文档,说明VIP地址已切换至备用服务器。
②重新启用主服务器的Keepalived服务,再次访问上述Web服务,将看到重新由主服
务器192.168.10.101提供的网页文档,说明主服务器已重新夺取VIP地址。

(3)查看日志记录

在执行主、备服务器故障切换的过程中,分别观察各自的/var/log/messages日志文件,可以看到MASTER、SLAVE状态的迁移记录。①主服务器中,Keepalived服务状态先变为“stop”,移除VIP地址,恢复后重新变为MASTER。

less /var/log/messages

二,使用Keepalived实现双机热备(案例)

第一台(调度器)和第二台(调度器)一样

只需要将01改为02即可

systemctl stop firewalld
setenforce 0
dnf -y install keepalived
dnf -y install keepalived ipvsadm
cd /etc/keepalived
cp keepalived.conf.sample keepalived.conf
vim keepalived.conf

第三台(web)和 第四台(web)一样

只需要将test1改为test2即可

systemctl stop firewalld
setenforce 0
dnf -y install httpd
echo "test1">/var/www/html/index.html
systemctl start httpd
systemctl enable httpd
ip addr add 192.168.10.172/32 dev lo label lo:0
nmcli c reload
nmcli c up lo
ip route add local 192.168.10.172/32 dev lo
route add -host 192.168.10.172 dev lo
vim /etc/rc.local
ip addr add 192.168.10.172/32 dev lo label lo:0
ip route add local 192.168.10.172/32 dev lo
chmod +x /etc/rc.local
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
sysctl -p 

第五台(客户端)

systemctl stop firewalld
setenforce 0
curl 192.168.10.172
curl 192.168.10.172

随便挂起一台调度器

curl 192.168.10.172

停掉一台HTTPD服务

curl 192.168.10.172

相关文章:

  • 2025年- H57-Lc165--994.腐烂的橘子(图论,广搜)--Java版
  • 代码随想录打卡|Day50 图论(拓扑排序精讲 、dijkstra(朴素版)精讲 )
  • CentOS_7.9 2U物理服务器上部署系统简易操作步骤
  • 园区智能化集成平台汇报方案
  • 【C语言极简自学笔记】项目开发——扫雷游戏
  • 时序数据库IoTDB基于云原生的创新与实践
  • 【测试】Bug和用例
  • 测试概念 和 bug
  • git+svn+sourcetree客户端下载和安装教程
  • remote: error: hook declined to update refs/heads.....
  • 测试Bug篇
  • TDengine 运维——巡检工具(安装前预配置)
  • 今天遇到的bug
  • 【Bug】定时任务中 Jpa Save 方法失效
  • Docker常用命令操作指南(一)
  • 华为OD机试真题——求最多可以派出多少支队伍(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • 【论文阅读】《PEACE: Empowering Geologic Map Holistic Understanding with MLLMs》
  • stm32cube ide如何将工具链替换成arm-none-eabi-gcc
  • stm32cube ide如何生成LL库工程
  • C++23 std::fstreams基础回顾
  • 深圳市工商网上办事大厅/南通百度seo代理
  • 天津网站策划/郑州搜狗关键词优化顾问
  • 淮阴区住房和城乡建设局网站/企业百度推广怎么收费
  • 开网站建设工作是如何/广州网站优化公司
  • 福建省工程建设信息官方网站/长沙网站seo报价
  • 如何在ftp给网站做百度自动推送/疫情二十条优化措施