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 可以保证邮件服务器的高可用性。当主邮件服务器出现故障时,备用邮件服务器会及时接替工作,确保邮件的正常收发。
相关推荐
再学一丢丢2 天前
Keepalived+LVS+nginx高可用架构
nginx·架构·lvs
xxc_my3 天前
LVS的三种工作模式简述
服务器·网络·lvs
Kendra9194 天前
Keepalive+LVS+Nginx+NFS高可用架构
nginx·架构·lvs
棕生4 天前
架构师面试(二十三):负载均衡
nginx·负载均衡·lvs·架构师面试·rpc连接池·vip+keepalive
RememberLey5 天前
lvs-net+nfs的配置
开发语言·php·lvs
重启就好5 天前
【LVS】负载均衡群集部署(DR模式)
服务器·负载均衡·lvs
Z字小熊饼干爱吃保安6 天前
使用LVS的 NAT 模式实现 3 台RS的轮询访问
运维·服务器·lvs
柳如烟@6 天前
LVS-NAT 负载均衡与共享存储配置
linux·负载均衡·lvs
m0_745364246 天前
LVS-DR模式配置脚本
linux·运维·服务器·github·lvs
大橘7 天前
centos8上实现lvs集群负载均衡nat模式
linux·nginx·负载均衡·lvs