HA高可用
Keepalived介绍
解决单点故障
组件免费
可以实现高可用HA机制
基于VRRP协议
检测nginx状态,发生故障切换到备用机,还可邮件通知管理员。
主机修复完成可以通过keepalived自动加入内网,重新成为主机,备用机会让主机继续工作
一切过程由keepalived处理,人工干预的只有修复出故障的nginx节点
VRRP协议
Virtual Router Redundance Protocol(虚拟路由冗余协议)
解决内网单机故障的路由协议
构建有多个路由器 MASTER BACKUP
虚拟IP - VIP (Virtual IP Address)
keepalive双机主备原理
用户请求虚拟ip虚拟ip与nginx绑定到一起。
由于keepalived会进行心跳检测nginx挂了后虚拟ip会与我们的备用nginx绑定到一起。
主备节点配置需要保持一致}(如果备用节点机器配置低于主节点机器可能发生瞬间宕机的情况)
安装Keepalived
安装libnl/libnl-3依赖
1
| yum -y install libnl libnl-devel
|
打开keepalived官网选择download选择响应的版本进行下载并上传到服务器。
解压安装包
进入目录执行命令进行配置生成配置文件
1
| ./configure --prefix=/usr/local/keepalived --sysconf=/etc
|
各个参数代表的含义
参数 |
解释 |
–prefix |
指定keepalived安装位置 |
–sysconf |
核心配置文件路径(要是不设置到这个目录下面的话后面日志会报一个错在/etc目录下找不到keepalived,核心配置文件路径为/etc/keepalived/keepalived.conf) |
修改核心配置文件
主节点配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| global_defs { # 路由id:当前安装keepalived的节点主机标识符,保证全局唯一 router_id keep_001 }
vrrp_instance VI_1 { # 表示状态是MASTER主机还是备用机BACKUP state MASTER # 该实例绑定的网卡(可以使用 ip addr 执行查看) interface ens33 # 虚拟路由Id,保证主备节点一致即可 virtual_router_id 101 # 权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重高,谁就当选 priority 100 # 主备之间同步检查时间间隔,单位秒 advert_int 1 # 认证权限密码,防止非法节点进入 authentication { auth_type PASS auth_pass 1111 } # 虚拟出来的ip,可以有多个(vip) virtual_ipaddress { 192.168.88.88 } }
|
备用节点配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| global_defs { # 路由id:当前安装keepalived的节点主机标识符,保证全局唯一 router_id keep_002 }
vrrp_instance VI_1 { # 表示状态是MASTER主机还是备用机BACKUP state BACKUP # 该实例绑定的网卡(可以使用 ip addr 执行查看) interface ens33 # 虚拟路由Id,保证主备节点一致即可 virtual_router_id 101 # 权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重高,谁就当选 priority 80 # 主备之间同步检查时间间隔,单位秒 advert_int 1 # 认证权限密码,防止非法节点进入 authentication { auth_type PASS auth_pass 1111 } # 虚拟出来的ip,可以有多个(vip) virtual_ipaddress { 192.168.88.88 } }
|
如果本文对你有所帮助,请赏我1个铜板买喵粮自己吃,您的支持是我最大的动力!!!
微信支付
支付宝