keepalived(解决单点故障/实现高可用)
2021-03-08 23:20:55 1 举报
AI智能生成
keepalived(解决单点故障/实现高可用)
作者其他创作
大纲/内容
作用
解决单点故障、组件开源免费、基于VRRP协议
实现高可用 HA(Nginx、Redis、MySQL)
发生故障时切换到备用机,邮件通知管理员
VRRP
虚拟路由冗余协议,解决内网单机故障的路由协议
构建有多个路由器 Master/Backup/Backup...可配置权重
虚拟IP-VIP(Virtual IP Address)用户通过虚拟IP访问nginx服务器
keepalived
双机主备
双机主备
原理
一台nginx服务器在提供服务,另一台处于备用状态
基于心跳检测的故障转移机制
注意:备用机的配置要和主机保持一致,防止顶不住流量
安装
官网下载:https://www.keepalived.org/download.html
将下载的安装包上传到linux服务器,/home/software/下,并解压缩
进入并执行
./configure --prefix=/usr/local/keepalived --sysconf=/etc
make && make install
可通过 whereis keepalived 查看
安装位置:/usr/local/keepalived/sbin/keepalived
核心配置文件:/etc/keepalived/keepalived.conf
配置
进入到软件目录:/home/software/keepalived-version/keepalived/etc/
复制配置文件
cp init.d/keepalived /etc/init.d/
cp sysconfig/keepalived /etc/sysconfig/
使配置文件生效
systemctl daemon-reload
启动与停止
systemctl start keepalived.service
systemctl stop keepalived.service
systemctl restart keepalived.service
查看网卡:ip addr
进一步完善
上述配置只能实现当主机服务器宕机或者keepalived服务停止才会触发,此时与nginx无关
如要实现nginx宕机后,先尝试重启,重启几次后依然失败,再切换到备份机器则需写脚本
如要实现nginx宕机后,先尝试重启,重启几次后依然失败,再切换到备份机器则需写脚本
在核心配置文件所在目录中新建脚本文件
vim check_nginx_alive_or_not.sh
chmod -x check_nginx_alive_or_not.sh
将该脚本与keepalived配置文件绑定,修改核心配置文件
systemctl restart keepalived.service
存在问题
资源浪费,备机可能永远得不到切换 ,白白浪费每年购买服务器的高额费用
解决方案:keepalived 双主热备
keepalived
双主热备
双主热备
原理:由DNS轮询虚拟IP
配置:修改核心配置文件
修改主机配置:171
修改备机配置:172
0 条评论
下一页