自学内容网 自学内容网

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源icon-default.png?t=O83Ahttps://blog.csdn.net/m0_68472908/article/details/143857709?spm=1001.2014.3001.5501

keepalived1

1. 安装软件

yum install -y keepalived ipvsadm

2. 关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

3. 配置主服务器

vim /etc/keepalived/keepalived.conf

4. 开启keepalived

systemctl start keepalived.service

5. 配置负载分担策略

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

6. 配置vip

cd /etc/sysconfig/network-scripts/

cp ifcfg-ens33 ifcfg-ens33:0

vim ifcfg-ens33:0

ifup ens33:0

systemctl restart network

7. 调整/proc响应参数

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

#刷新
sysctl -p

keepalived2

1. 安装软件

yum install -y keepalived ipvsadm

2. 关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

3. 配置备用服务器-从主上复制过来,修改参数

scp 192.168.180.62:/etc/keepalived/keepalived.conf  /etc/keepalived/

4. 开启

systemctl start keepalived

5. 查看ipvsadm有没有同步

ipvsadm -ln

systemctl enable ipvsadm

6. 从主上同步vip配置

scp 192.168.180.62:/etc/sysconfig/network-scripts/ifcfg-ens33:0 /etc/sysconfig/network-scripts/

7. 从主上同步/proc响应参数

scp 192.168.180.62:/etc/sysctl.conf /etc/

#刷新
sysctl -p

web1

1. 安装软件

yum install -y httpd

2. 关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

3. 配置vip

cd /etc/sysconfig/network-scripts/

cp ifcfg-lo ifcfg-lo:0

vim ifcfg-lo:0

ifup lo:0

systemctl restart network

4. 配置路由

route add -host 192.168.180.250 dev lo:0

vim /etc/rc.local

systemctl restart network

5. 配置/proc响应参数

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

6. 创建测试页面

echo "11111111111" > /var/www/html/index.html

systemctl start httpd

web2

1. 安装软件

yum install -y httpd

2. 关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

3. 从主上同步vip

scp 192.168.180.120:/etc/sysconfig/network-scripts/ifcfg-lo:0 /etc/sysconfig/network-scripts/

ifup lo:0

4. 从主上同步路由

route add -host 192.168.180.250 dev lo:0

scp 192.168.180.120:/etc/rc.local /etc/

systemctl restart network

5. 从主上同步/proc响应参数

scp 192.168.180.120:/etc/sysctl.conf /etc/

sysctl -p

6. 创建测试页面

echo "2222222222222" > /var/www/html/index.html

systemctl start httpd

7. 在keepalived上访问测试

8. 在真机上访问测试


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 可以保证邮件服务器的高可用性。当主邮件服务器出现故障时,备用邮件服务器会及时接替工作,确保邮件的正常收发。

原文地址:https://blog.csdn.net/m0_68472908/article/details/145154023

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!