keepalived配置介绍

第一节 keepalived

高可用集群:

系统的可性= MTBF /(MTBF+MTTR) 系统可用时间,系统故障修复时间。

活动的节点将通过心跳不停的将自己的状态信息同步到备用节点上,一但主节点挂了,那个备用节点会接收活动ip和服务进程。

常用作高可用集群的有: keepalived   heartbeat   corosync

keepalived 是专门用于lvs的

心跳信息层: 是用来判断节点是否故障的。

资源管理层:对资源进行管理 监控它只做决策不做实际操作,资源管理器crm

本地资源管理器:LRM 用于管理本地的资源的 RA 资源代理,通过资源代理来执行。

在做高可用是一般节点是为奇数,当主节点联系不到其余两个节点,通过少数服从多数,就可以认为主节点已经死机,在备用节点上有优先级,优先级高的节点将代替主节点继续工作,同时为了防止主节点没有死掉,可以通过电源交换机将主节点杀死。

工作模式:

nm模式: n个节点 m个服务,

nn模式:n个节点 n个服务

vrrp 协议: 虚拟路由冗余协议,比如将两个网卡做成一个集群,具有优先级,当一个当掉,活动ip会到另一个网卡上。实现ip转移

keepalied 还对后端服务器有做健康检查。

核心组件:

控制组件:配置文件分析器,用来实现配置文件的分析和加载

IO复用器
内存管理组件,用来管理keepalived高可用是的内存管理
vrrp stackvrrp协议的实现
 ipvs wrapper:为集群内的所有节点生成IPVS规则

 checkers:对IPVS集群的各RS做健康状态检测

 

ipvs  wrapper : ipvs规则 用来连接ipvs的

checkers :做检验,从而调用ipvswrapper 进行管理的

watch  dog  是来监控checker  he vrrp这两个进程的  通常是个硬件设备

SMTP  :用来通知管理员的

三种认证:

      1 无认证

      2 简单字符认证

      3 MD5  用于非常不安全的网络中

Keepalived是基于vrrp协议的一款高可用软件。Keepailived有一台主服务器和多台备份服务器,在主服务器和备份服务器上面部署相同的服务配置,使用一个虚拟IP地址对外提供服务,当主服务器出现故障时,虚拟IP地址会自动漂移到备份服务器。

安装前准备:

      1 时间同步

      2 关闭iptables  selinux

      3 每个节点通过主机名通信

           systmctl  restart  chronyd.service   启动后会自动同步时间

           systemctl  enable  chronyd.service   开机启动

集群每个节点通过组播方式通信,确保组播启动

      查看ifconfig ; 有MULLTICAST 表示支持组播

ip  link  set  multicast  on  dev  ens33  启动

安装keepalived

yum install  keepalived  -y

rpm   -ql  keepalived   查看 产生文件

配置配置文件

      有三个配段:

           1 全局配制段

           global_defs { }

           2 vrrp 配制段

           vrrp_instance VI_1 {}

           3 lvs 配置段  虚拟主机

           virtual_server  {}

如:

global_defs {  

     notification_email {   

            root@localhost                       收邮件地址    

     }

     notification_email_from [email protected] 

      smtp_server 192.168.0.200       发邮件地址

     smtp_connect_timeout 30          连接时间

     router_id node1

     vrrp_skip_check_adv_addr

     vrrp_strict

 vrrp_mcast_gorup4 224.0.0.28   多播地址

}

vrrp_instance VI_1 {

    state MASTER                         主节点  备节点backup

    interface ens33                       工作在哪个网卡上

    virtual_router_id 51              虚拟路由器 一致

    priority 100                          优先级

    advert_int 1          

    authentication {                    认证信息

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.0.200/24 dev/ens33 label ens33:0     vip地址

    }

}

启动服务systemctl start keepalived.service

tcpdump -i ens33 -nn host 224.0.0.18  测试   (注意关闭防火墙)

猜你喜欢

转载自www.cnblogs.com/huxl1/p/9343901.html