C05S09-Keepalive服务架设

embedded/2024/12/22 9:31:55/

一、Keepalive

1. Keepalive概述

代理服务器和调度器都是单点模式,Keepalive是一种实现LVS调度器实现高可用集群的架设,以提高节点的冗余和容错。

Keepalive是一种基于VRRP协议实现的调度器高可用方案,为了实现LVS的集群而设计开发,但是适用场景不仅局限于LVS。Keepalive会为后台服务做健康检查,服务不可用时,会自动移除IPVS的转发策略,服务恢复时会自动把策略重新加入IPVS中。

Keepalive可以实现以下功能:

  1. 主备切换。
  2. 故障检测和恢复。
  3. 主备设备通过组播地址224.0.0.18通信。
  4. 通过配置VIP来实现集群入口。

2. Keepalive工作原理

  1. 主备调度器的权重不同,通过VIP来访问调度器集群。
  2. 当主调度器故障,备用调度器会接替成为主服务器。通过VIP访问后端服务器,也就成为通过该调度器来进行访问。
  3. 当故障恢复,两台调度器会通过组播地址进行通信,比较权重。此时原先的主调度器会正常工作,通过VIP访问也就是通过该调度器进行访问。

二、Keepalive具体架设

1. 调度器部署

  1. 两台调度器上都安装ipvsadm和keepalived软件包。

    apt -y install ipvsadm keepalived
    
  2. 复制Keepalive配置文件模板。

    cp /usr/share/doc/keepalived/samples/keepalived.conf.sample /etc/keepalived/keepalived.conf
    
  3. 配置keepalived.conf文件。

    global_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 127.0.0.1smtp_connect_timeout 30router_id LVS_01vrrp_iptables
    }vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 51priority 100advert_int 1virtual_ipaddress {192.168.1.100}
    }virtual_server 192.168.1.100 80 {delay_loop 6lb_algo rrlb_kind DRpersistence_timeout 0protocol TCPreal_server 192.168.1.129 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 3}}real_server 192.168.1.130 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 3}}
    }
    
  4. 将keepalived.conf配置文件从主调度器发送给备用调度器,并将备用调度器的文件做出如下修改。

    router_id LVS_01
    state BACKUP
    priority 50
    
  5. 保存文件后,分别在两台调度器上重启keepalived服务。

    systemctl restart keepalived
    
  6. 配置系统内核文件/etc/sysctl.conf。

     net.ipv4.ip_forward = 0net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.default.send_redirects = 0net.ipv4.conf.ens37.send_redirects = 0
    
  7. 应用内核配置,使其生效。

    sysctl -p
    
  8. 检查ipvsadm策略、VIP是否正常显示。

2. 后端服务器部署

  1. 配置两台后端服务器的网卡。

    # 第一台RS服务器
    network:ethernets:ens33:dhcp4: noaddresses: [192.168.1.129/24]gateway4: 192.168.1.254ens37:dhcp4: noaddresses: [192.168.1.100/24]# 第二台RS服务器
    network:ethernets:ens33:dhcp4: noaddresses: [192.168.1.130/24]gateway4: 192.168.1.254ens37:dhcp4: noaddresses: [192.168.1.100/24]
    
  2. 保存文件后,应用网卡配置。

    netplan apply
    
  3. 在两台服务器上配置静态路由。

    route add -host 192.168.1.100 dev ens37
    
  4. 配置系统的内核文件/etc/sysctl.conf。

    net.ipv4.conf.ens37.arp_ignore = 1  
    net.ipv4.conf.ens37.arp_announce = 2
    
  5. 应用内核配置,使其生效。

    sysctl -p
    
  6. 开启两台后端服务器的Nginx服务。

    systemctl restart nginx
    

3. 客户端访问测试

  1. 访问VIP地址,查看是否能够获取到网页内容。

4. 调度器宕机测试

  1. 在主调度器上关闭keepalived访问。

    systemctl stop keepalived
    
  2. 查看两台调度器的网络信息,检查VIP是否发生了转移。

    ip address
    
  3. 再次通过客户端访问VIP,查看是否能够获取到网页内容。


http://www.ppmy.cn/embedded/147777.html

相关文章

Spark优化----Spark 数据倾斜

目录 数据倾斜的表现: 定位数据倾斜问题: 解决方案一:聚合原数据 避免 shuffle 过程 缩小 key 粒度(增大数据倾斜可能性,降低每个 task 的数据量) 增大 key 粒度(减小数据倾斜可能性&#xff0c…

亚矩阵云手机

亚矩阵云手机是一个集成了云计算、大数据、人工智能和边缘计算等先进技术的云平台,它通过ARM虚拟化技术在云端运行手机应用,提供了全面、高效且稳定的服务。以下是对亚矩阵云手机的详细解析: 技术基础与架构 1.ARM虚拟化技术:亚矩阵云手机基于ARM服务器和…

npm、yarn、pnpm 设置最新国内镜像源(附官方镜像源和最新阿里源)

npm 查询源 BASH npm get registry 设置源 BASH # 国内 淘宝 镜像源 npm config set registry https://registry.npmmirror.com/ # 官方镜像源 npm config set registry https://registry.npmjs.org/ pnpm pnpm 的镜像源默认 查询源 BASH pnpm get registry 设置源 BASH # 国内…

IDEA 打开 maven 的 settings.xml 文件

右键 pom.xml -> 选中 Maven -> 选择 open settings.xml

【Git从入门到精通】——新版IDea集成Git、Idea集成Github、Gitee以及GItLab应用(看这一篇就够了)

🎼个人主页:【Y小夜】 😎作者简介:一位双非学校的大二学生,编程爱好者, 专注于基础和实战分享,欢迎私信咨询! 🎆入门专栏:🎇【MySQL&#xff0…

MFC/C++学习系列之简单记录1——错误解决与Dialog移植

MFC/C学习系列之简单记录1 前言MFC application已停止工作Dialog移植MFC中的去边框设置总结 前言 最近接触MFC,接手一个项目,基于MFC架构编写的,在跑通代码的过程中出现的问题进行简单记录。 MFC application已停止工作 在代码移植过程中&a…

【python因果库实战10】为何需要因果分析

这里写目录标题 为何需要因果分析数据估计因果效应因果模型应用因果分析 估计观测效果描述性统计和因果估计之间的差异分析总结 为何需要因果分析 在本例中,我们将快速进行一次因果分析,以估计戒烟对十年内体重增加的因果效应。 我们将这些结果与观察到…

基于 JAVA 的 SSM 网络直播带货查询系统:JSP 主导的设计与实现架构

摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于网络直播带货网站当然也不能排除在外,随着网络技术的不断成熟,带动了网络直播带货网站,它彻底改变了过…