keepalived双机热备(LVS+keepalived)实验笔记

目录

前提准备:

keepalived1:

keepalived2:

web1:

web2:

keepalived介绍

功能特点

工作原理

应用场景


前提准备:

  1. 准备4台centos,其中两台为keepalived,两台为web
  2. keepalived1:192.168.180.62,gw(网关):192.168.180.250,安装keepalived+ipvsadm
  3. keepalived2:192.168.180.110,gw(网关):192.168.180.250, 安装keepalived+ipvsadm
  4. web1:192.168.180.120,gw(网关):192.168.180.250,安装httpd
  5. web2:192.168.180.130,gw(网关):192.168.180.250,安装httpd
  6. 有gw(网关)标识的,需要去修改网关
  7. 关闭所有防火墙
  8. 可以使用本地yum源本地yum源https://blog.csdn.net/m0_68472908/article/details/143857709?spm=1001.2014.3001.5501

keepalived1

  1. 安装软件
bash 复制代码
yum install -y keepalived ipvsadm
  1. 关闭防火墙
bash 复制代码
systemctl stop firewalld

systemctl disable firewalld

setenforce 0
  1. 配置主服务器
bash 复制代码
vim /etc/keepalived/keepalived.conf
  1. 开启keepalived
bash 复制代码
systemctl start keepalived.service
  1. 配置负载分担策略
bash 复制代码
ipvsadm -C

ipvsadm -A -t 192.168.180.250:80 -s rr

ipvsadm -a -t 192.168.180.250:80 -r 192.168.180.120 -g -w 1

ipvsadm -a -t 192.168.180.250:80 -r 192.168.180.130 -g -w 1

ipvsadm-save

systemctl enable ipvsadm
  1. 配置vip
bash 复制代码
cd /etc/sysconfig/network-scripts/

cp ifcfg-ens33 ifcfg-ens33:0

vim ifcfg-ens33:0
bash 复制代码
ifup ens33:0

systemctl restart network
  1. 调整/proc响应参数
bash 复制代码
vim /etc/sysctl.conf

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.ens33.send_redirects = 0
bash 复制代码
#刷新
sysctl -p

keepalived2

  1. 安装软件
bash 复制代码
yum install -y keepalived ipvsadm
  1. 关闭防火墙
bash 复制代码
systemctl stop firewalld

systemctl disable firewalld

setenforce 0
  1. 配置备用服务器-从主上复制过来,修改参数
bash 复制代码
scp 192.168.180.62:/etc/keepalived/keepalived.conf  /etc/keepalived/
  1. 开启
bash 复制代码
systemctl start keepalived
  1. 查看ipvsadm有没有同步
bash 复制代码
ipvsadm -ln
bash 复制代码
systemctl enable ipvsadm
  1. 从主上同步vip配置
bash 复制代码
scp 192.168.180.62:/etc/sysconfig/network-scripts/ifcfg-ens33:0 /etc/sysconfig/network-scripts/
  1. 从主上同步/proc响应参数
bash 复制代码
scp 192.168.180.62:/etc/sysctl.conf /etc/
bash 复制代码
#刷新
sysctl -p

web1

  1. 安装软件
bash 复制代码
yum install -y httpd
  1. 关闭防火墙
bash 复制代码
systemctl stop firewalld

systemctl disable firewalld

setenforce 0
  1. 配置vip
bash 复制代码
cd /etc/sysconfig/network-scripts/

cp ifcfg-lo ifcfg-lo:0

vim ifcfg-lo:0
bash 复制代码
ifup lo:0

systemctl restart network
  1. 配置路由
bash 复制代码
route add -host 192.168.180.250 dev lo:0

vim /etc/rc.local
bash 复制代码
systemctl restart network
  1. 配置/proc响应参数
bash 复制代码
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
  1. 创建测试页面
bash 复制代码
echo "11111111111" > /var/www/html/index.html

systemctl start httpd

web2

  1. 安装软件
bash 复制代码
yum install -y httpd
  1. 关闭防火墙
bash 复制代码
systemctl stop firewalld

systemctl disable firewalld

setenforce 0
  1. 从主上同步vip
bash 复制代码
scp 192.168.180.120:/etc/sysconfig/network-scripts/ifcfg-lo:0 /etc/sysconfig/network-scripts/

ifup lo:0
  1. 从主上同步路由
bash 复制代码
route add -host 192.168.180.250 dev lo:0

scp 192.168.180.120:/etc/rc.local /etc/
bash 复制代码
systemctl restart network
  1. 从主上同步/proc响应参数
bash 复制代码
scp 192.168.180.120:/etc/sysctl.conf /etc/

sysctl -p
  1. 创建测试页面
bash 复制代码
echo "2222222222222" > /var/www/html/index.html

systemctl start httpd
  1. 在keepalived上访问测试
  1. 在真机上访问测试

keepalived介绍

Keepalived 是一款基于 VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)的开源软件,主要用于实现服务器的高可用性(High Availability,HA)和负载均衡

功能特点
  • 高可用性实现:通过 VRRP 协议,Keepalived 可以监控服务器的状态。当主服务器出现故障时,它能自动将服务切换到备用服务器上,确保服务的连续性,减少停机时间。
  • 健康检查机制:支持多种健康检查方式,如通过发送 HTTP 请求、执行脚本等方式来检测服务器的运行状态。如果服务器出现异常,Keepalived 会及时将其从服务池中移除,避免将请求发送到故障服务器上。
  • 负载均衡功能:结合 Linux 虚拟服务器(Linux Virtual Server,LVS)技术,Keepalived 可以实现基于 IP 的负载均衡,将用户请求均匀地分发到多个服务器上,提高系统的整体性能和处理能力。
  • 可扩展性和灵活性:支持多种配置选项和参数调整,可以根据不同的应用场景和需求进行定制化配置。同时,它还可以与其他开源软件和工具集成,如 Nginx、Haproxy 等,进一步扩展其功能。
工作原理
  • VRRP 协议基础:VRRP 协议通过在一组路由器之间创建一个虚拟路由器来实现高可用性。在这个虚拟路由器中,有一个主路由器负责处理所有的网络流量,其他路由器作为备用路由器。当主路由器出现故障时,备用路由器会通过选举机制选出一个新的主路由器,继续承担网络流量的处理任务。
  • Keepalived 的工作流程:Keepalived 在服务器上运行后,会根据配置文件中的设置,定期发送 VRRP 通告消息来宣告自己的存在和状态。其他运行 Keepalived 的服务器会接收这些通告消息,并根据优先级等参数来确定当前的主服务器。同时,Keepalived 还会监控服务器的健康状态,如果发现主服务器出现故障,会立即触发选举过程,将备用服务器提升为主服务器,确保服务的不间断运行。
应用场景
  • Web 服务高可用:在 Web 应用中,Keepalived 可以确保 Web 服务器集群的高可用性。当一台 Web 服务器出现故障时,Keepalived 会自动将用户请求切换到其他正常的服务器上,保证网站的正常访问。
  • 数据库服务高可用:对于数据库服务器,Keepalived 可以实现主备切换。当主数据库服务器出现故障时,备用数据库服务器会自动接管服务,确保数据库的连续性和数据的一致性。
  • 邮件服务高可用:在邮件系统中,Keepalived 可以保证邮件服务器的高可用性。当主邮件服务器出现故障时,备用邮件服务器会及时接替工作,确保邮件的正常收发。
相关推荐
不要吃栗子李15 小时前
高级运维:1. 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 。2. 基于 openEuler 构建 LVS-DR 群集。
运维·负载均衡·lvs
obboda4 天前
LVS相关原理
linux·服务器·lvs
小马爱打代码4 天前
负载均衡 LVS vs Nginx 对比
nginx·负载均衡·lvs
竹竿袅袅5 天前
LVS 负载均衡集群(DR 模式)
linux·运维·网络·负载均衡·lvs
2301_旺仔7 天前
负载均衡集群——LVS-DR配置
负载均衡·lvs·linux集群
不会敲代码的XW7 天前
基于 openEuler 构建 LVS-DR 群集
运维·负载均衡·lvs
π大星星️7 天前
LVS 部署 NAT 模式集群实现nginx负载均衡实验
lvs·nat模式集群
sour moon7 天前
基于openEuler构建LVS-DR群集
lvs
only_Klein7 天前
LVS-DR集群构建
linux·服务器·lvs
Spike()7 天前
web集群(LVS-DR)
服务器·网络·lvs