keepalived 高可用配置单/双 主模型

         安装环境  准备2台主机  网络模式 :nat

       AU   192.168.16.8 (master)

       AU1  192.168.16.11(backup)

  (1)  yum install keepalived -y

     service keepalived start
      ps -ef
 ( 2 )   cd /etc/keepalived
      cp keepalived.conf keepalived.conf.back
      vi keepalived.conf 主节au1 192.168.16.8  (内容如下)
       ! Configuration File for keepalived
       global_defs {
    notification_email {
     acassen@firewall.loc  定义报警故障的Email 地址
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 127.0.0.1  发送邮件的服务器
   smtp_connect_timeout 30 连接SMTP超时时长
   router_id au1 路由id名 唯一
}
vrrp_instance VI_1 {   实例名字VI_1
    state MASTER     状态 主
    interface eth0   通讯接口 为 eth0
    virtual_router_id 55  实例id 55 默认为51 ,主备节点相同
    priority 150     主节点优先级 ,备节点要低于主节点
    advert_int 1     通信检查间隔时间 1 秒
    authentication {
        auth_type PASS   密码认证类型
        auth_pass 1111   密码 1111
    }
    virtual_ipaddress {
        192.168.16.50/24 dev eth0 label eth0:1 设定虚拟主机ip/24 指明绑定的网络接           eth0 ,别名eth0:1,可以设定多个IP
    }
}
 
 (3)     vi keepalived.conf (备用节点au2 192.168.16.11)  
       ! Configuration File for keepalived
global_defs {
   notification_email {
     acassen@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id au2
}
vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 55
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.16.50/24 dev eth0 label eth0:1
    }
}
  注:主备配置修改的不同点:
      router_id  au1/au2  路由ID,唯一标示
      state  MASTER/BACKUP 节点状态 主从
      priprity  150/100 竞选优先级 主节点优先级要高于备节
      其他主备节点要相同配置
      
  配置完了 service keepalived restart 重启服务
  检查iptables -F  selinux setenforce 0  关闭
  查看配置结果: ip addr | grep 192.168.16.50
 
  MASTER 显示 inet 192.168.16.50/24 .....配置成功
  BACKUPP 正常情况不显示 ....配置成功
测试: MASTER 服务停掉 stop 后  BACKUP 显示 inet 192.168.16.50/24.....
      MASTER 主服务器遇故障down机后 备服务器节点马上接上同步数据
     当主服务器修整好了之后从新上线 ,又重新接管了虚拟ip ,如此反复切换
     这种叫做单IP自动漂移
 
       keepalived 双实例双主模式的ip配置如下:
   
       au1 192.168.16.8 (master)
 
       vi keepalived.conf 增加一个vrrp_instance VI_2实例
 ( 一)   vrrp_instance VI_2 {
         state BACKUP
         interface eth0
         virtual_router_id 56
         priority 100
         advert_int 1
         authentication {
        auth_type PASS
        auth_pass 1111
           }
      virtual_ipaddress {
        192.168.16.60/24 dev eth0 label eth0:2
          }
      }
   (二)   au2 192.168.16.11 (backup)
       vi keepalived.conf 增加一个vrrp_instance VI_2 实例
      vrrp_instance VI_2 {
    state MASTER
    interface eth0
    virtual_router_id 56
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.16.60/24 dev eth0 label eth0:2
        }
   }
       
   配置完成后 service keepalived restart
  查看状态 ip add|egrep "192.168.16.50|192.168.16.60"(注意:两个管道符之间没有空格,否则语法错误无法显示)
    
   au1 显示 inet 192.168.16.50/24 ......

 au2 显示 inet 192.168.16.60/24 ......

  测试 在au1 (192.168.16.8) 停止服务stop ,在本机测试不显示,
     
      而在au2 (192.168.16.11) 主机测试 ip add|egrep "192.168.16.50|192.168.16.60"
      
      会同时显示  inet 192.168.16.50/24 ......
 
                         inet 192.168.16.60/24 ......
 
 
  同理测试  au2 (192.168.16.11) 停止服务stop ,在本机测试不显示,
  而在au1 (192.168.16.8) 主机测试 ip add|egrep "192.168.16.50|192.168.16.60"
      
      会同时显示  inet 192.168.16.50/24 ......
 
                           inet 192.168.16.60/24 ......
 
    由此可见,我们发现au1,au2主备节点已经实现了初始配置的vip服务状态
    当任意一端Duang机。vip可以实现互相切换接管漂移,能保证数据的同步
    VRRP是一个“选举”协议,它能够动态地将一个虚拟路由器的责任指定至同
    一个VRRP组中的其它路由器上,从而消除了静态路由配置的单点故障。