首页 > 系统相关 >linux LVS+Keepalived

linux LVS+Keepalived

时间:2023-07-09 15:22:21浏览次数:47  
标签:服务 LVS Keepalived keepalived 故障 linux 服务器 节点

keepalived服务主要用来做高可用,高可用在企业中是非常重要的技术,避免数据丢失和服务停止。

目录

一、keepalived概述

二、keepalived实验原理

三、keepalived模块

四、实验演示

五、总结

 

 

 

 

 

 

 

 

一、keepalived概述

     1.keepalived 服务重要功能

    (1)实现服务的高可用性:Keepalived 可以将多台服务器组成一个高可用性集群,其中一台服务器出现故障时,其它服务器会自动接管它的服务,从而确保服务的连续性和可用性。

    (2)实现负载均衡:Keepalived 可以根据不同的负载均衡算法,将来自客户端的请求分配到不同的服务器上,从而达到负载均衡的目的,提高系统的性能和可扩展性。

    (3)监控服务器状态:Keepalived 可以监控服务器的状态,包括 CPU 利用率、内存使用情况、网络连接状态等,并根据预设的规则,自动调整服务器的负载和服务状态,以确保系统的稳定性和可靠性。

    (4)实现虚拟 IP:Keepalived 可以将多个服务器的 IP 地址映射为一个虚拟 IP 地址,从而实现对外提供服务的高可用性和负载均衡。

    (5)提供健康检查:Keepalived 可以定期对服务进行健康检查,以确保服务的可用性和正确性,并在服务异常时自动进行故障转移。

  2.管理LVS负载均衡器软件

    Keepalived是专为LVS和HA设计的一款健康检查工具  

    keepalived可以通过读取自身的配置文件,实现通过更底层的接口直接管理IVS配置以及服务的启动
停止功能 这会使 LVS应用跟更加简便

    (1)支持故障自动切换(Failover)

    (2)支持节点健康状态检查(Health Checking)

    (3)判断LVS负载调度器、节点服务器的可用性,当master主机出现故障及时切换到backup节点保证业务正常,当master故障主机恢复后将其重新加入群集并且业务重新切换回master节点。

  3.keepalived算法

    Keepalived 支持多种负载均衡算法,可以根据实际情况选择合适的负载均衡算法,并进行配置和优化。

    (1)轮询

    (2)加权轮询

    (3)最小连接数

 

二、keepalived实验原理

 

  1.支持故障自动切换 

    (1)两台知己同时安装好keepalived并且启动服务当启动的时候master主机获得所有资源并且对用户提供服务(请求) 当角色backuo的主机做为master热备:当master主机挂了出现故障时,backup主机讲自动接管master主机所有工作,包括接管VIP资源及相应资源服务。

    (2)当master主机故障修复后,优惠自动接管回它的原来处理的工作,backup主机则同时释放masqter主机失效时接管的工作此时此刻两台主机将恢复到最初的启动时各自的原始角色及工作状态抢占模式: master 从故障恢复后,回将VIP从BACKUP节点中抢占过来,非抢占:master从故障恢复后不抢占BACKUP,BACKUP升级为MASTER后的VIP

   2.实现LVS集中节点的健康检查 

     keepalived.conf文件配置LVS的节点IP和相关参数来实现对IVS直接管理如果几个节点服务器同时发生故障无法提供服务,keepalived服务会自动就爱那个失效节点服务器从LVS正常转发列中清除出去,并将请求调度到别的正常节点服务器上,从而保证最终用户的访问不受要影响;当故障的节点服务器修复以后,keepalived服务又会自动把他们加入到正常转发列中,对外面客户提供服务。

  3.实现LVS负载调度器节点服务器的高可用性 (HA)

    LVS+keepalived

    (1)负载均衡

    (2)健康检查

    (3)故障切换

 

  4.keepalived 高可用故障切换转移原理

    (1)高可用服务集群之间的故障切换转移,是通过VRRP(虚拟路由器冗余协议) 来实现的keepalived在keepalived服务正常工作时,主 (master) 节点会不断地像备 (Backup) 节点发送 (多播的方式) 心跳消息,用意告诉备节点自己还活着。

    (2)当主节点发生故障事,就无法发送心跳消息,备节点也就因此无法检测到来自主节点的心跳,于是调用自身的接管程序,接管主节点的IP资源及服务。

    (3)而当主节点恢复时,北街店又会释放主节点故障时自身接管的IP资源及服务,恢复到原来的备用角色。

 

  5.keepalived 服务的工作原理

    (1)Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。在一个IVS服务集群中通常有主服务器 (MASTER) 和备份服务器(BACKUP)两种角色的服务器,但是对外表现为一个虚拟IP,主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

  6.keepalived非抢占和抢占

    在 Keepalived 中,高可用性集群的管理方式可以分为非抢占和抢占两种方式。

  (1)非抢占模式:在非抢占模式下,一旦某个节点成为主节点,其他节点就不会尝试抢占该节点的主节点地位。在这种模式下,如果主节点发生故障,需要手动将其下线,然后将备用节点切换为主节点。

  (2)抢占模式:在抢占模式下,当某个节点成为主节点时,其他节点会不断尝试抢占该节点的主节点地位。如果主节点发生故障,备用节点会自动接管主节点的地位。在这种模式下,如果主节点恢复正常,它仍然会尝试重新成为主节点。

    需要注意的是,抢占模式虽然可以自动切换主节点,但会增加网络流量和系统负载,因此需要根据实际情况选择合适的模式。

    总之,非抢占模式和抢占模式是 Keepalived 高可用性集群中重要的管理方式,可以根据实际需求选择合适的方式,以保障系统的可用性和稳定性。

    主节点和备用节点的 VRRP 状态都设置为 MASTER。

 

三、keepalived模块

  1.keepalived体系主要模块及作用

    keepalived体系架构中主要有三个模块,分别是core、check和vrrp。

    (1)core模块:为keepalived的核心,负责主进程的启动、维护及全局配置文件的加载和解析。
    (2)vrrp模块:是来实现VRRP协议的。
    (3)check模块:负责健康检查,常见的方式有端口检查及URL检查。

 

四、实验演示

 

 

 

 

 1.配置负载调度器(主、备相同)

   (1)配置keeplived

    备份文件  

     修改文件

      vrrp修改

       

   

 

   配置虚拟VIP

 

 

 

     开启服务

   (2)启动 ipvsadm 服务

   (3)调整 proc 响应参数,关闭Linux 内核的重定向参数响应

     第二台调度器

 

 

 

 

     网页检查

 

 

五、总结

  keepalived可以选择抢占模式和非抢占模式,各有用途。Keepalived 可以将多个服务器组成一个高可用性集群,其中一台服务器出现故障时,其它服务器会自动接管它的服务,从而确保服务的连续性和可用性。Keepalived 是一种功能强大、易于使用的高可用性软件,可以提高系统的可用性、性能和可扩展性,是实现服务高可用性和负载均衡的重要工具之一。

标签:服务,LVS,Keepalived,keepalived,故障,linux,服务器,节点
From: https://www.cnblogs.com/zhende/p/17532056.html

相关文章

  • keepalived离线安装
    离线安装        ./configure--prefix=/usr/local/keepalived      make&&makeinstall     ./configure--prefix=/usr/local/nginx     make&&makeinstall     scp-r/usr/local/keepalived/[email protected]......
  • Keepalived 安装与配置
    安装Keepalivedapt-yinstallkeepalived里边有一个杠y,就是我安装的时候里面有yes,就直接是yes添加Keepalived配置安装好之后,下一步就开始去来写这个配置文件了,就在这里面去建一个etc当中,就是在这个etc当中建一个这个Keepalived的config这样的一个文件:mkdir-......
  • Linux 使用 dup2 无法正常重定向管道 tinyhttpd
    项目地址:https://github.com/pphboy/pihttpd文件p_sys.ctinyhttpd是这样写的但是文档是,旧的在前,新在后intdup2(intoldfd,intnewfd);所以是,才能正常输出和输入dup2(1,in_pipe[1]);dup2(0,out_pipe[0]);......
  • 扫描linux系统磁盘占用,释放空间的免费工具
    如何查找linux系统的磁盘占用,扫描大文件,释放空间,可以使用免费工具ncdu。虽然有du和df命令可以查询磁盘和文件夹的大小,但毕竟不方便,不能扫描整个磁盘的情况。用ncdu命令更直观,可以按目录以树形显示每个文件夹的大小,找到占空间的文件或者文件夹,删除释放磁盘空间。并且扫描速度飞快......
  • Linux命令行/终端连接(隐藏)SSID的WiFi
    推荐看完Linux命令行/终端连接隐藏SSID的WiFi(续篇)和本文后,再按照实际情况采用network-manager或者ifupdown多数Linux系统默认自带有线网络的驱动和配置软件,但是对于WiFi则可能会缺少固件和相关软件。在此使用Debian11为例(Ubuntu也可),使用nmcli连接隐藏SSID的WiFi网络。无线网卡......
  • 解决虚拟机VM中kali linux 无法联网的问题
    今天登录KaliLinux发现浏览器无法连接网络,自己并没有改过任何配置,通过自己多方面搜寻解决教程,现将解决方法做此纪录。1.首先关闭kalilinux,点击设置,保证自己的kali网络适配器是桥接模式,且勾选复制物理网络连接状态,点击确定进行保存。  2.打开kalilinux,然后使用ctrl+alt+......
  • linux:svg转png(rsvg-convert 2.50.7/ubuntu 21.10)
    一,直接用ImageMagick把svg转为png时有瑕疵1,例子:原图:转换命令:liuhongdi@lhdpc:/data/work/tmpimg$convertgo-logo-blue.svggo.png效果如下:转换完后图片不完整2,查看convert是否调用rsvg-convert确实调用了,但不确定为什么会出现此情况liuhongdi@lhdpc:/data/w......
  • windows和linux应急响应命令 9
    windows1、系统账户排查netuser列出所有用户,进行可疑账号排查。 2、检查异常端口netstat-ano 3、检查可疑进程和服务tasklist 4、可疑启动项排查msconfig 5、查看登录日志eventvwr.msc 6、恶意样本排查  linux1、查看用户信息查看用户的账号文件信......
  • 嵌入式linux根文件系统镜像制作
    原文:https://zhuanlan.zhihu.com/p/568784791在嵌入式linux平台中,大部分工作则是填充根文件系统,在开发中,根文件系统一般都是以目录的方式放在开发宿主机上。当根文件系统填充完成后,我们需要将其打包成xxx.img或者其他的镜像格式。本文以xxx.img镜像格式为例,描述如何将根文件......
  • Linux网络编程: socket(链路层)
    Linux网络编程:socket(链路层)socket是什么在Linux中的网络编程是通过socket接口来进行的。其实socket接口也是一种特殊的I/O(在《深入理解计算机系统》这本书中的IO部分也有提到网络也是一种特殊的IO),它也是一种文件描述符。socket也有一个类似于打开文件的函数调用,该函数返回一个......