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 keepalivedglobal_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组中的其它路由器上,从而消除了静态路由配置的单点故障。