keepalived 主备使用(keepalived主备切换模式)

  本篇文章为你整理了keepalived 主备使用(keepalived主备切换模式)的详细内容,包含有keepalived主备都占用vip keepalived主备切换模式 keepalive主备切换原理 keepalived的配置文件中使用什么表示主服务器 keepalived 主备使用,希望能帮助你了解 keepalived 主备使用。

  什么是 keepalived呢,它是一个集群管理中 保证集群高可用的软件,防止单点故障,keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路冗余协议

  虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。

  通俗点说就是: keepalived中master节点会发送 ARP广播到 keepalived 的 backup中,如果vrrp没收到包则认为 master宕机,重新选举master ,并且把vip给漂移到新的master机器上,实现了高可用

  2.准备工作

  准备2台机器 , 把111定义为 keepalived 的 MASTER 节点

  
我这里简单点直接使用 yum 安装, 也可以通过二进制包安装

  分别在2台机器上都要安装 keepalived

  

yum -y install keepalived

 

  

 

  安装完成后 有 /etc/keepalived/keepalived.conf 默认配置文件如下:

  

! Configuration File for keepalived

 

  global_defs {

   # 通知 发邮件的

   notification_email {

   acassen@firewall.loc

   failover@firewall.loc

   sysadmin@firewall.loc

   notification_email_from Alexandre.Cassen@firewall.loc

   smtp_server 192.168.200.1

   smtp_connect_timeout 30

   router_id LVS_DEVEL

   vrrp_skip_check_adv_addr

   vrrp_strict

   vrrp_garp_interval 0

   vrrp_gna_interval 0

  #VRRP 实例定义块

  vrrp_instance VI_1 {

   state MASTER

   interface eth0

   virtual_router_id 51

   priority 100

   advert_int 1

   authentication {

   auth_type PASS

   auth_pass 1111

   virtual_ipaddress {

   192.168.200.16

   192.168.200.17

   192.168.200.18

  #虚拟服务器定义块

  virtual_server 192.168.200.100 443 {

   delay_loop 6

   lb_algo rr

   lb_kind NAT

   persistence_timeout 50

   protocol TCP

   real_server 192.168.201.100 443 {

   weight 1

   SSL_GET {

   url {

   path /

   digest ff20ad2481f97b1754ef3e12ecd3a9cc

   url {

   path /mrtg/

   digest 9b3a0c85a887a256d6939da88aabd8cd

   connect_timeout 3

   nb_get_retry 3

   delay_before_retry 3

  

 

  global_defs 定义全局配置 ,如 邮件配置

  VRRP 实例定义块: 主要配置

  虚拟服务器定义块: LVS 的配置 本篇不涉及

  4.配置 2台 机器的keepalived

  4.1 配置 MASTER 机器

  把111机器的 keepalived.conf 文件修改如下

  

! Configuration File for keepalived

 

  global_defs {

   router_id LB111

  vrrp_instance VI_1 {

   # 定义为master

   state MASTER

   # 网卡

   interface ens160

   #这个一定要 和 110 一样 规定为一组路由器中的机器

   virtual_router_id 51

   # 优先级

   priority 100

   # vrrp组之间的心跳包频率 默认1s

   advert_int 1

   # 组的认证信息 可能有多个路由器组,为了不让把1组的vip漂移到2组的机器上

   authentication {

   auth_type PASS

   auth_pass 1111

   # 虚拟出来的 ip 地址

   virtual_ipaddress {

   172.16.225.200

  

 

  4.2 配置 BACKUP 机器

  

! Configuration File for keepalived

 

  global_defs {

   router_id LB111

  vrrp_instance VI_1 {

   # 指定 BACKUP 备用机

   state BACKUP

   interface ens160

   # 虚拟router id 一组的机器要一致

   virtual_router_id 51

   priority 90

   advert_int 1

   authentication {

   auth_type PASS

   auth_pass 1111

   virtual_ipaddress {

   172.16.225.200

  

 

  5.启动 keepalived

  分别在2台机器上直接启动

  

#启动keepalived

 

  systemctl start keepalived

  #查看状态

  systemctl status keepalived

  

 

  可能启动不成功: IPVS: Cant initialize ipvs: Protocol not available

  

[root@middle keepalived]# tail -f /var/log/messages

 

  Dec 8 06:23:39 middle systemd: Started LVS and VRRP High Availability Monitor.

  Dec 8 06:23:39 middle Keepalived_vrrp[17171]: VRRP_Instance(VI_1) removing protocol VIPs.

  Dec 8 06:23:39 middle Keepalived_vrrp[17171]: Using LinkWatch kernel netlink reflector...

  Dec 8 06:23:39 middle Keepalived_vrrp[17171]: VRRP sockpool: [ifindex(2), proto(112), unicast(0), fd(10,11)]

  Dec 8 06:23:39 middle Keepalived_healthcheckers[17170]: `IPVS: Cant initialize ipvs: Protocol not available`

  Dec 8 06:23:39 middle Keepalived_healthcheckers[17170]: Stopped

  Dec 8 06:23:39 middle Keepalived[17169]: Keepalived_healthcheckers exited with permanent error FATAL. Terminating

  Dec 8 06:23:39 middle Keepalived[17169]: Stopping

  Dec 8 06:23:40 middle Keepalived_vrrp[17171]: Stopped

  Dec 8 06:23:44 middle Keepalived[17169]: Stopped Keepalived v1.3.5 (03/19,2017), git commit v1.3.5-6-g6fa32f2

  

 

  需要安装 ipvsadm

  

yum -y install ipvsadm

 

  

 

  再次启动

  查看VIP 已经在 111 master节点的机器上了 并且在 ens160这个网卡上

  6. 模拟 宕机MASTER

  当 master机器如果出现了故障 比如断点 或者 关机等等.. 那么 master机器上的 keepalived 肯定不存在了

  查看 BACKUP 机器上的 ip 可以发现 vip 已经漂移到这个机器上了

  在ping 的同时 模拟宕机 可以看到中间短暂的超时 后面立即恢复了

  本篇主要介绍了keepalived 的基本的主备使用方式, 不过主备方式有缺点 它的备用服务器一直不工作 有点资源浪费, 可以改成 双主备模式 有机会再说

  keepalived 可以结合 check检查脚本 来检测如 nginx redis mysql 等等 实现这些服务的高可用方式

  欢迎大家访问 个人博客 Johnny小屋
 

  欢迎关注个人公众号

  以上就是keepalived 主备使用(keepalived主备切换模式)的详细内容,想要了解更多 keepalived 主备使用的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: