LVS+Keepalived——高可用群集

目录

Keepalived概述

        Keepalived功能

        Keepalived架构 

        keepalived的热备方式

        VRRP相关技术

                vrrp相关术语

 Keepalived相关文件

        配置组成

具体实现

                主备keepalived 

                 节点配置

        非抢占式

        延迟抢占

 /p>

脑裂现象


  

      keepalived 起初是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换(Failover)和健康检查(Health Checking)功能——判断LVS负载调度器、节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机恢复后将其重新加入群集。

Keepalived概述

        Keepalived功能

  • 基于vrrp协议完成地址流动

  • 为vip地址所在的节点生成ipvs规则(在配置文件中预先定义)

  • 为ipvs集群的各RS做健康状态检测

  • 基于脚本调用接口完成脚本中定义的功能,进而影响集群事务,以此支持nginx、haproxy等服务

        Keepalived架构 

官方 址:Keepalived for Linux

  • 用户空间核心组件:

  1. vrrp stack:VIP消息通告

  2. checkers:监测real server(简单来说 就是监控后端真实服务器的服务)

  3. system call:实现 vrrp 协议状态转换时调用脚本的功能

  4. SMTP:邮件组件( 警邮件)

  5. IPVS wrapper:生成IPVS规则(直接生成ipvsadm)

  6. Netlink Reflector: 络接口(将虚拟地址ip(vip)地址飘动)

WatchDog:监控进程(整个架构是否有问题)

  • 控制组件:提供keepalived.conf 的解析器,完成Keepalived配置

  • IO复用器:针对 络目的而优化的自己的线程抽象

  • 内存管理组件:为某些通用的内存管理功能(例如分配,重新分配,发布等)提供访问权限

 keeplive可以配合ngnix等软件,反向代理

        keepalived的热备方式

       keepalived采用VRRP(虚拟路由冗余协议)热备份协议,以软件的方式实现Linux服务器的多机热备功能。VRRP是针对路由器的一种备份解决方案——由多台路由器组成一个热备组,通过共用的虚拟IP地址对外提供服务:每个热备组内同一时刻只有一台主路由器提供服务,其他路由器处于冗余状态,若当前在线的路由器失效,则其他路由器会自动接替(优先级决定接替顺序)虚拟IP地址,以继续提供服务

         热备主内的每台路由器都可能成为主路由器,虚拟路由器的IP地址(VIP)可以在热备组内的路由器之间进行转移,所以也称为漂移IP地址。使用Keepalived时,漂移地址的实现不需要手动建立虚接口配置文件(如ens33:0),而是由Keepalived根据配置文件自动管理。

        VRRP相关技术

通告:心跳,优先级等;周期性

工作方式:抢占式,非抢占式,延迟抢占模式,

安全认证

  • 无认证

  • 简单字符认证:预共享密钥

  • MD5

工作模式

  • 主/备:单虚拟路径器

  • 主/主:主/备(虚拟路由器1),备/主(虚拟路由器2

#通告:
是宣告自己的主权,不要妄想抢班夺权,不停的向外

#抢占式:
主服务器宕机,过了一段时间修好了,再把主权抢过来

#非抢占式:
主服务器宕机,过了一段时间修好了,原来的主就作为备了

#抢占式好还是非抢占式好/p>

非抢占式好

#安全认证:
如没有安全认证,不在集群中的keeplive服务器设置超高的优先级,会造成事故

#主/主:主/备(虚拟路由器1),备/主(虚拟路由器2)见下图:
环境:
有两台服务器
虚拟出两台虚拟路由器
第一台虚拟路由器中服务器1为主,服务器2为备,那么虚拟IP1就飘在服务器1上,真正工作的只有服务器1
第二台虚拟路由器中服务器2为主,服务器1为备,那么虚拟IP2就飘在服务器2上,真正工作的只有服务器2
优点:
#提高了资源利用率:
这样主,备服务器同时干活,可以同时运行两个项目
#同样有备份功能:
如果服务器1坏了,服务器2 将同时拥有虚拟IP1和虚拟IP2

缺点:
虽然有备份冗余功能但是对机器的性能要求非常高,当其中一台出现故障,本来一台运行一个任务,现在所有的业务全部压在了一台上,有十分大的风险

                vrrp相关术语

  • 虚拟路由器:Virtual Router

  • 虚拟路由器标识:VRID(0-255),唯一标识虚拟路由器

  • VIP:Virtual IP

  • VMAC:Virutal MAC (00-00-5e-00-01-VRID)

  • 物理路由器:

  • master:主设备

  • backup:备用设备

  • priority:优先级

 Keepalived相关文件

  • 软件包名:keepalived

  • 主程序文件:/usr/sbin/keepalived

  • 主配置文件:/etc/keepalived/keepalived.conf

  • 配置文件示例:/usr/share/doc/keepalived/

  • Unit File:/lib/systemd/system/keepalived.service

  • Unit File的环境配置文件:

  • /etc/sysconfig/keepalived CentOS

        配置组成

/etc/keepalived/keepalived.conf 配置组成

  • GLOBAL CONFIGURATION

Global definitions(全局配置):定义邮件配置,route_id,vrrp配置,多播地址等

  • VRRP CONFIGURATION

VRRP instance(s):定义vrrp协议中的每个vrrp虚拟路由器的规则,基本信息

  • LVS CONFIGURATION(lvs调度服务器的规则设置)

Virtual server group(s)

Virtual server(s):LVS集群的VS和RS

具体实现

主keepalived:192.168.37.100
备keepalived:192.168.37.101
web1:192.168.37.103
web2:192.168.37.106
vip:192.168.37.11
客户机访问

                主备keepalived 

 主备keepalived,安装ipvsadm软件包和keepalived软件包

加载模块

keepalived配置文件做一个备份

 重启

远程拷贝到备keepalived中

已经拷贝过来了 

 修改keepalived.conf文件

保存 

 net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

 假如把主keepalived关掉

 此时会跑到备keepalived上

比如抓个包

 现在是主keepalived关闭

开启后看看

又变回到100了!!!

                 节点配置

安装httpd服务

设置虚拟 卡

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年10月18日
下一篇 2021年10月18日

相关推荐