keeplived简介
Keepalived是用纯ANSI/ISO C编写的。该软件围绕一个中央I/O多路复用器进行连接,以提供实时 络设计。
Keepalived进程被分为3个不同进程

- A.一个极简的父进程,负责fork和监控子进程,父进程监控框架称为watchdog
- B.两个子进程,一个负责VRRP框架,另一个负责健康检查
故障切换框架
Keepalived实现了用于导向器故障切换的VRRP协议。在实现的VRRP堆栈中,VRRP数据包调度程序负责为每个VRRP实例多路分发特定的I/O。
VRRP实例同步:我们可以指定2个VRRP实例之间的状态监控,也称为VRRP同步组。它保证2个VRRP实例保持相同状态,同步实例间相互监视。
安装部署
安装依赖
下载解压安装包并编译
tar xz keepalived-1.2.15.tar.gz
./configure
Make && make install
安装到指定目录
通过依赖包安装
配 置
例如两台互为主主的nginx或mysql同时可提供服务,一台服务宕掉后另一台可接管
示例:主节点
示例:备节点
参数详解
关键字 |
定义 |
类型 |
vrrp_instance |
标识VRRP实例定义块 |
Block |
state |
在标准使用中指定实例状态 |
|
interface |
指定实例运行所要用到的 络接口 |
string |
mcast_src_ip |
指定VRRP通告的IP头的源地址 |
|
lvs_sync_daemon_inteface |
指定LVS sync_daemon运行所要用到的 络接口 |
string |
virtual_router_id |
指定实例所属的VRRP路由器ID |
numerical |
priority |
指定实例在VRRP路由器中的优先级 |
numerical |
advert_int |
以秒为单位指定通告的间隔时间(设置为1) |
numerical |
smtp_alert |
激活MASTER状态转换的SMTP通知 |
|
authentication |
标识VRRP认证定义块 |
Block |
auth_type |
指定要使用哪种身份认证(PASS|AH) |
|
auth_pass |
指定要使用的密码字符串 |
string |
virtual_ipaddress |
标识VRRP VIP定义块 |
Block |
virtual_ipaddress_excluded |
标识VRRP VIP排除定义块 |
Block |
notify_master |
指定在切换到master时要执行的脚本 |
path |
notify_backup |
指定在切换到backup时要执行的脚本 |
path |
notify_fault |
指定在切换到故障状态时要执行的脚本 |
path |
vrrp_sync_group |
标识VRRP同步组定义块 |
Block |
常见问题
原因:备机上keepalived监控脚本没有执行权限。
解决:chmod +x ~/check_nginx.sh
Keeplived主备vip地址无法切换
原因:keeplived配置的优先级相同。
解决:检查keepalived.cof配置文件的priority参数,主从节点优先级设置为不同。
文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8693 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!