基于Linux操作系统的keepalived双机热备和keepalived+lvs(DR)基本配置操作

目录

keepalived双机热备

一、概述

(一)具体工作原理如下:

(二)实验拓补

二、安装NFS、配置

1、第一台机器配置:NFS :192.168.11.101

2、更改配置文件

3、安装NFS进行目录共享 

4、编辑配置文件进行文件共享  

5、创建需要共享的目录 

6、在创建的目录下建立一个网站访问文档 

7、查看是否存在共享目录

8、在第二台( master )第三台( slave )分别进行挂载 

三、功能模块

1、VRRP模块:

2.、配置管理模块:

3.、健康检查模块:

4.、故障转移模块:

5.、日志记录模块:

四、配置双机热备

1、master:192.168.11.102

2、slave:192.168.11.103配置

五、验证

六、双机热备的脑裂现象

七、当VIP无法通信时

keepalived+lvs(DR)

一、作用

二、 调度器配置

1、安装keepalived和ipvsadm(主、备)

2、创建ipvsadm启动需要的文件(主、备) 

3、启动服务

4、加载ip_vs模块 

5、配置keepalived

1)主调度器(master)

2)备调度器(backup)

6、重启服务(主、备)

7、查看lvs节点状态

三、web节点配置

1、调整ARP参数(Web1服务、Web2服务)

2、使用命令生效

3、配置虚拟IP地址

4、添加回环路由

5、安装nginx

6、启动服务 

7、更改网页访问内容

8、进行网站访问检测

总结


keepalived双机热备

一、概述

       Keepalived是一个用于高可用性的软件,它通过实现VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)来提供双机热备功能。

       双机热备是一种架构设计,其中有两台服务器(主机和备机)同时运行,并共享相同的虚拟IP地址(VIP)。当主机出现故障或不可用时,备机会接管主机的工作并使用相同的VIP地址,以确保服务的持续可用性。

       Keepalived利用VRRP协议来实现双机热备。

(一)具体工作原理如下:

1、主机和备机通过VRRP协议进行通信,协商并确定主机和备机的优先级,主机通常具有较高的优先级。

2、在正常情况下,主机会周期性地发送VRRP心跳消息,以证明自己的存活状态和优先级。

3、如果备机在一定时间内没有收到主机的心跳消息,它会认为主机不可用,并开始进行故障转移。

4、当备机接管主机的工作时,它会使用相同的VIP地址,并开始处理来自客户端的请求。

5、一旦主机恢复正常,它会发送一条特殊的VRRP消息,请求备机放弃VIP地址,并将其切换回主机。

       说简单点就是在一个 LVS 服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但是对外表现为一个虚拟 IP,主服务器会发送 VRRP 通告信息给备份服务器,当备份服务器收不到 VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟 IP,继续提供服务,从而保证了高可用性。

       keepalived双机热备解决了单点故障问题,在主宕机以后,备自动接替主的工作继续运行,当原主重启后,主自动变换为原有主。

(二)实验拓补

二、安装NFS、配置

1、第一台机器配置:NFS :192.168.11.101

yum install -y keepalived

2、更改配置文件

在更改配置文件前,建议先做一个备份,避免后续出现故障问题

cd /etc/keepalived/
ls
cp keepalived.conf keepalived.conf.bak
ls

vim /etc/keepalived/keepalived.conf

3、安装NFS进行目录共享 

yum install -y nfs-utils

4、编辑配置文件进行文件共享  

vim /etc/exports

5、创建需要共享的目录 

mkdir /opt/wjy

6、在创建的目录下建立一个网站访问文档 

cd /opt/wjy/
echo test > index.html

 

7、查看是否存在共享目录

showmount -e

 showmount -e 表示显示指定主机所挂载的共享文件系统列表。

exportfs -arv

 exportfs -arv 表示将所有已经在/etc/exports中定义的文件系统重新导出。(直接进行挂载,无需重启服务)

其中,-a表示重新导出所有已经定义的文件系统,-r表示清除已经导出的文件系统,-v表示显示详细的导出信息。

 

8、在第二台( master )第三台( slave )分别进行挂载 

注:此步是在安装完web网站以后进行挂载的,例如nginx挂载到nginx的访问目录,apache挂载到apache的访问目录下,不然访问找不到内容 

三、功能模块

Keepalived双机热备的功能模块包括以下几个:

1、VRRP模块:

       VRRP(Virtual Router Redundancy Protocol)模块实现了VRRP协议,用于实现多个路由器之间的冗余和故障恢复。它允许多个路由器共享一个虚拟IP地址,通过选举一个主节点来处理网络流量,一旦主节点失效,备份节点可以接管虚拟IP地址。

2.、配置管理模块:

       这个模块负责管理Keepalived的配置文件。配置文件中定义了服务器的角色(主节点或备份节点)、网络接口、虚拟路由器ID、优先级、虚拟IP地址等参数。通过配置管理模块,可以灵活地配置和管理Keepalived的行为。

3.、健康检查模块:

       健康检查模块定期检查真实服务器的可用性。它发送请求到真实服务器,并根据响应情况判断服务器是否正常运行。如果服务器无法响应或状态异常,健康检查模块将发出警告,并触发故障转移操作。

4.、故障转移模块:

       故障转移模块是Keepalived的核心功能之一。当主节点发生故障或不可用时,故障转移模块将虚拟IP地址切换到备份节点,确保服务的连续性。它负责监控主节点的状态,并在需要时触发切换操作。

5.、日志记录模块:

       日志记录模块记录Keepalived的运行日志,包括故障转移事件、状态变化等。通过日志记录,可以方便地查看和分析Keepalived的运行情况,帮助故障排查和监控。

       这些功能模块共同协作,实现了Keepalived双机热备的高可用性和故障恢复机制。通过VRRP协议、配置管理、健康检查和故障转移,Keepalived确保了服务的连续性,并提供了一种简单而可靠的解决方案来提高系统的稳定性。

    core        主进程启动

    vrrp        vrrp协议:热备份路由协议

    check        健康状态检测

四、配置双机热备

1、master:192.168.11.102

vim /etc/keepalived/keepalived.conf

配置文件内容 :

! Configuration File for keepalivedglobal_defs {router_id LVS_DEVEL
}vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.11.200192.168.11.201192.168.11.202}
}

 启动服务 

systemctl start keepalived

查看IP 

 真实IP和虚IP

2、slave:192.168.11.103配置

vim /etc/keepalived/keepalived.conf

 配置文件内容:

! Configuration File for keepalivedglobal_defs {router_id LVS_DEVEL
}vrrp_instance VI_1 {state BACKUPinterface ens33virtual_router_id 51priority 90advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.11.200192.168.11.201192.168.11.202}
}

注: 标记这两个地方一点要进行更改,这样才可以做到主停止工作,备启动运行,而且备的优先级一定要低于主的优先级。

五、验证

安装web服务,什么都可以Nginx、Apache等等

 停掉主的服务

再次进行查看

 

 此时启动原主关闭备进行查看 

六、双机热备的脑裂现象

    Keepalived配置里同一 VRRP实例,如果 virtual_router_id两端参数配置不一致也会导致裂脑问题发生。

    vrrp实例名字不一致、优先级一致

    防火墙打开,导致心跳无法正常通信

    网卡故障:网卡进行多路复用

七、当VIP无法通信时

注释掉配置文件中:vrrp_strict即可


keepalived+lvs(DR)

一、作用

    使用keepalived解决lvs的单点故障

    高可用集群

二、 调度器配置

拓补图

实验要求:使用四台机器进行配置

主调度器(master):192.168.11.111

备调度器(backup):192.168.11.112

Web服务1(nginx1):192.168.11.113

Web服务2(nginx2):192.168.11.114

虚IP:192.168.11.200

更改主机名

hostnamectl set-hostname master
bash

 

hostnamectl set-hostname backup
bash

 

hostnamectl set-hostname nginx1
bash

 

hostnamectl set-hostname nginx2
bash

 

1、安装keepalived和ipvsadm(主、备)

yum install -y keepalived ipvsadm

2、创建ipvsadm启动需要的文件(主、备) 

touch /etc/sysconfig/ipvsadm

3、启动服务

systemctl start keepalived
systemctl start ipvsadm

4、加载ip_vs模块 

modprobe ip_vs
lsmod | grep ip_vs

5、配置keepalived

1)主调度器(master)

注:先备份配置文件,养成良好习惯。

cd /etc/keepalived/
cp keepalived.conf keepalived.conf.bak

        编辑配置文件: 

vim /etc/keepalived/keepalived.conf 
  1 ! Configuration File for keepalived     #(!)是本文的注释,同时使用"#"注释一样可以2 3 global_defs {4 #   notification_email {              #注释掉这些目前无用的的配置5 #     acassen@firewall.loc6 #     failover@firewall.loc7 #     sysadmin@firewall.loc8 #   }9 #   notification_email_from Alexandre.Cassen@firewall.loc10 #   smtp_server 192.168.200.111 #   smtp_connect_timeout 3012    router_id LVS_DEVEL113 #   vrrp_skip_check_adv_addr14 #   vrrp_strict             #取消严格遵守vrrp协议功能15 #   vrrp_garp_interval 016 #   vrrp_gna_interval 017 }18 19 vrrp_instance VI_1 {20     state MASTER21     interface ens3322     virtual_router_id 5123     priority 10024     advert_int 125     authentication {26         auth_type PASS27         auth_pass 111128     }29     virtual_ipaddress {30         192.168.11.20031 #        192.168.200.1732 #        192.168.200.1833     }34 }35 36 virtual_server 192.168.11.200 80 {37     delay_loop 638     lb_algo rr39     lb_kind DR40     persistence_timeout 5041     protocol TCP42 43     real_server 192.168.11.113 80 {44         weight 145         HTTP_GET {46             url {47               path /48 #              digest ff20ad2481f97b1754ef3e12ecd3a9cc49             }50             url {51               path /52 #              digest 9b3a0c85a887a256d6939da88aabd8cd53             }54             connect_timeout 355             nb_get_retry 356             delay_before_retry 357         }58     }59     real_server 192.168.11.114 80 {60         weight 161         HTTP_GET {62             url {63               path /64 #              digest ff20ad2481f97b1754ef3e12ecd3a9cc65             }66             url {67               path /68 #              digest 9b3a0c85a887a256d6939da88aabd8cd69             }70             connect_timeout 371             nb_get_retry 372             delay_before_retry 373         }74     }75 }76 77 #=====================================================================================#78 #以下97行配置文件暂时无用,这里全部删除掉,因为已经做好过备份。#

 

2)备调度器(backup)

        备份配置文件

cd /etc/keepalived/
cp keepalived.conf keepalived.conf.bak

        因为备调度器的配置与主调度器配置大多一样,这里我们使用 scp 将配置好的主配置文件传至备调度器中,进行细微修改

scp keepalived.conf 192.168.11.112:/etc/keepalived/

vim keepalived.conf

        只需更改12行、20行、23行内容即可

6、重启服务(主、备)

systemctl restart keepalived
systemctl restart ipvsadm

7、查看lvs节点状态

ipvsadm -ln

三、web节点配置

1、调整ARP参数(Web1服务、Web2服务)

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

2、使用命令生效

sysctl -p

3、配置虚拟IP地址

cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0

编辑内容:

DEVICE=lo:0
IPADDR=192.168.11.200
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback:0

 

4、添加回环路由

route add -host 192.168.11.200/32 dev lo:0

5、安装nginx

yum install -y nginx

6、启动服务 

systemctl start nginx

7、更改网页访问内容

Web1服务

echo nginx1 > /usr/share/nginx/html/index.html 

Web2服务 

echo nginx2 > /usr/share/nginx/html/index.html 

8、进行网站访问检测

 关掉主调度器服务

去备调度器上查看ip 

 然后网站进行访问检测

 

这样可以看到实现了负载均衡,在主宕机以后,从接替主继续实行网页访问。

如果在配置中,配置完成时无法负载均衡访问网页可以:

ipvsadm -C

清除配置

ipvsadm -A -t 192.168.11.200:80 -s rr
ipvsadm -a -t 192.168.11.200:80 -r 192.168.11.113:80 -g
ipvsadm -a -t 192.168.11.200:80 -r 192.168.11.114:80 -g

重新进行指定

ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl restart keepalived

将配置保存到指定文件中,重启服务即可

总结

       通过今天搭配的这两个服务,可以进一步健康检查、持久化、连接超时等参数来优化负载均衡和故障恢复。无论是Keepalived双机热备还是Keepalived+LVS(DR),都需要确保网络配置正确、Keepalived服务正常运行以及实时监控服务状态。这样可以实现高可用性和负载均衡,提高系统的稳定性和可靠性。可能有理解不到之处,忘大家见谅。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1619644.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

应不应该收取房屋中介费用?房屋中介费用收取合理吗

[摘要]近年来不少人选择通过中介机构完成房屋买卖,那房屋中介费用是怎么收取的?房屋中介费用收取的标准是什么?交了房屋中介费用就可以安枕无忧了吗?但实际中,有一些中介机构的服务质量和效果良莠不齐,购房的情况也是千变万化,导致纠纷不断。 近年来不少人选择通过中介机构完…

基于NodeJS+VUE房屋中介管理系统的设计与实现

当今社会房屋租赁买卖是必不可少的,人们不管走到哪里都需要有一个温馨的家,有一个落脚之地,所以房屋租赁市场也是非常火爆!不管是房屋中介公司或者是个人都需要一套完整的管理系统来掌握整个市场信息。针对这一需求,本…

【全源码及文档】基于Java面向对象开发的房屋中介管理系统

摘 要 现代的房产市场愈加复杂化,用软件来管理房产中介管理系统的开发与设计及自动匹配等功能,在实际运用中起到极大的帮助作用。 随着房地产业的飞速发展,待交易房屋的数量大幅度提高,传统手工处理为主的房屋管理方式存在着工作…

[附源码]计算机毕业设计JAVA房屋中介管理系统

[附源码]计算机毕业设计JAVA房屋中介管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybati…

[附源码]java毕业设计房屋中介管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【河北建筑工程学院毕业论文】房屋中介公司网站的设计与实现

摘 要 随着计算机行业的不断发展,计算机的应用也随着行业发展的速度而不断更新。如今,在网络应用非常广泛的社会中,房屋中介公司的网站功能要求更加严格,所以一个好的系统对于房屋中介公司的网站来说非常重要。 本文详细介绍了房…

帝国CMS仿管理资源吧资料下载网站模板源码/下载会员+积分付费下载功能自动采集资源网站源码

帝国CMS仿管理资源吧资料下载网站模板源码,带下载会员积分付费下载功能自动采集资源网站源码,管理资源吧——为中小企业管理者提供全方位的管理资料下载服务;是一个所有资料免费下载,免注册、免登陆、免积分的公益性的管理知识共享…

pycharm 右键运行代码时总是测试模式运行(run pytest)

*# 问题 使用pycharm时,右键运行代码,结果是这样的: 运行_‘pytesr(xxx.py 内)’ 英语界面可能是这样:run_‘pytesr(xxx.py)’我并不想使用测试模式。如何改回正常模式? 解决办法 本着遇到什么问题就搜什么问题的态…

Nanoprobes艾美捷氟纳米金 结合物

Nanoprobes艾美捷荧光标签纳米金-共价键合,让你的目标在几乎任何显微镜下都可见! 像以前一样查看目标的荧光标签再加上光学显微镜上的纳米金标签,甚至是EM共焦、光学显微镜和EM之间的相关性: 1.可方便地与二级抗体(或…

MAL-Gold Nanoparticle/Au nanoparticles纳米金颗粒/金纳米粒子|50nm浓度:0.5mg/ml

MAL-Gold Nanoparticle/Au nanoparticles纳米金颗粒/金纳米粒子|50nm浓度:0.5mg/ml 别称:MAL-Gold Nanoparticle/Au nanoparticles纳米金颗粒/金纳米粒子 【成分】金纳米颗粒、超纯水 【性状】金纳米颗粒的水溶液随粒径不同呈现橙红、红、紫红等颜色 …

介孔二氧化硅包裹超顺磁性Fe3O4纳米颗粒表面氨基修饰|齐岳生物

介孔二氧化硅包裹超顺磁性Fe3O4纳米颗粒表面氨基修饰|齐岳生物 由于纳米四氧化三铁(VK-EF01, VK-EF02) 特殊的理化学性质, 使其在实际应用中越来越广泛, 其制备方法和性质的研究也得到了深入的进展。 磁性纳米微粒的制备方法主要有物理方法和化学方法。…

金纳米颗粒修饰二氧化硅纳米片AuNPs-SiO2,金纳米棒表面包覆薄纳米二氧化硅

产品名称:金纳米颗粒修饰二氧化硅纳米片AuNPs-SiO2,金纳米棒表面包覆薄纳米二氧化硅 产地:西安 规格:1mg 5mg 10mg 纯度:99% 金纳米棒表面包覆薄纳米二氧化硅是一种在纳米技术领域中常见的复合材料。让我为您解释一…

异形双柱体阵列纳米粒:针状/花状纳米粒子/纳米金星/金笼/金壳/三角形纳米金

今天瑞禧生物小编给大家分享的内容是异形双柱体阵列纳米粒:针状/花状纳米粒子/纳米金星/金笼/金壳/三角形纳米金的相关内容,和小编一起来看! 在磁性材料方面有许多应用,例如:可以用纳米粒子作为永久磁体材料&#xff0…

共聚物/化合物/聚合物纳米胶束/官能团修饰二氧化硅纳米颗粒

小编这里给大家整理了共聚物/化合物/聚合物纳米胶束/官能团修饰二氧化硅纳米颗粒的应用,来看! 共聚物修饰二氧化硅纳米粒子的应用: 介孔二氧化硅纳米粒子(MSNs)作为药物载体在生物医学方面的潜在应用价值吸引了越来越多的关注.MSNs具有均一的…

DNA纳米机器二氧化硅纳米微球信号肽/哑铃型磁金纳米复合材料Au-Fe3O4

小编给大家整理分享了DNA纳米机器二氧化硅纳米微球信号肽/哑铃型磁金纳米复合材料Au-Fe3O4的相关制备,和小编一起来看! 哑铃型磁金纳米复合材料Au-Fe3O4的制备与研究: 以金纳米粒为种子采取外延氧化生长氧化铁的方式,制备了哑铃型磁金纳米复…

RNA修饰技术介绍|介孔二氧化硅纳米颗粒(MSN)搭载的微小RNA-24(miR-24)纳米载体复合物

RNA修饰技术介绍|介孔二氧化硅纳米颗粒(MSN)搭载的微小RNA-24(miR-24)纳米载体复合物 核糖核酸(英语:ribonucleicacid,缩写:RNA),是一类由核糖核苷酸通过3,5-磷酸二酯键聚合而成的线性大分子[1]。自然界中…

微纳加工技术_单晶硅制备

文章目录 器件制备主要步骤单晶,多晶,非晶单晶硅的介绍单晶硅的制备从硅棒到硅片 器件制备主要步骤 FETMOS 截面图 单晶,多晶,非晶 单晶:短程有序,长程有序; 多晶:短程有序&#…

纳米金13nm|金属纳米粒子/Nano gold制备方法-齐岳生物

纳米金13nm|金属纳米粒子/Nano gold制备方法-齐岳生物 别称:金属纳米粒子/Nano gold 描述:纳米金即指金的微小颗粒,其直径在1~100nm,具有高电子密度、介电特性和催化作用,能与多种生物大分子结合&#xf…

android p蓝色壁纸,iPhone和Android的最佳蓝色系壁纸分享

原标题:iPhone和Android的最佳蓝色系壁纸分享 去年iPhone 12系列的主打颜色是蓝色。如果你有蓝色版iPhone 12,想要定制你的智能手机的主屏幕,那么今天分享的蓝色系美观的壁纸,必会超级搭配,当然除此之外的其他手机设计…

展示29个美丽的iPhone壁纸

寻找一些最优秀的iPhone壁纸是我们经常要做的工作,iphone的壁纸总是那么好看,关注我博客的人会知道,我经常会发布一些精美的壁纸奉献给大家,今天就发布我精心收藏的美丽壁纸集合, Mind Tree Time & Space TJR Typo…