网站首页 > 精选教程 正文
1)keepalived是什么
keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。
2)keepalived工作原理
keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。
keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。
1、 创建依赖环境
yum -y install openssl-devel gcc gcc-c++
yum -y install libnl libnl-devel
2、安装keepalived
wget https://www.keepalived.org/software/keepalived-2.2.7.tar.gz --no-check-certificate
tar -zxvf keepalived-2.2.7.tar.gz
cd keepalived-2.2.7
./configure --prefix=/usr/local/keepalived
make && make install
3、创建启动文件
mkdir /etc/keepalived/
cp /usr/local/keepalived/etc/keepalived/keepalived.conf.sample /etc/keepalived/keepalived.conf
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
cp /root/keepalived-2.2.7/keepalived/keepalived.service /etc/systemd/system/
ln -s /usr/local/keepalived-2.2.7/sbin/keepalived /usr/sbin/
cp /root/keepalived-2.2.7/keepalived/etc/init.d/keepalived /etc/init.d/
chmod 755 /etc/init.d/keepalived
systemctl enable keepalived.service
mkdir /var/log/keepalived/
vi /etc/sysconfig/keepalived
KEEPALIVED_OPTIONS="-D -d -S 0"
vi /etc/rsyslog.d/keepalived.conf
local0.* /var/log/keepalived/keepalived.log
systemctl restart rsyslog
4、创建配置文件
master
cat > /etc/keepalived/keepalived.conf << EOF
! Configuration File for keepalived
global_defs {
router_id 190_master
}
vrrp_script chk_nginx {
script "/data/build/check_nginx.sh" # 检测nginx状态的脚本路径
interval 2 # 检测时间间隔
weight 3
}
vrrp_instance VI_1 {
state MASTER
interface em1
virtual_router_id 190 # 虚拟路由的ID号,两个节点设置必须一样
mcast_src_ip 192.168.8.4
priority 200 # 节点优先级,取值范围 0-254,MASTER要比BACKUP高
advert_int 1 # 组播信息发送间隔,两个节点设置必须一样,默认1s
nopreempt
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.8.100 # 虚拟ip,两个节点设置必须一样,可以定义多个
}
track_script {
chk_nginx # 执行Nginx监控的服务
}
}
EOF
slave
cat > /etc/keepalived/keepalived.conf << EOF
! Configuration File for keepalived
global_defs {
router_id 191_slave
}
vrrp_instance VI_1 {
state BACKUP
interface em1
virtual_router_id 190
mcast_src_ip 192.168.8.6
priority 100
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.8.100
}
}
EOF
5、编写 Nginx 状态检测脚本
vi /data/build/check_nginx.sh
#!/bin/bash
#时间变量,用于记录日志
d=`date --date today +%Y%m%d_%H:%M:%S`
#计算nginx进程数量
n=`ps -C nginx --no-heading|wc -l`
#如果进程为0,则启动nginx,并且再次检测nginx进程数量,
#如果还为0,说明nginx无法启动,此时需要关闭keepalived
if [ $n -eq "0" ]; then
docker restart nginx
sleep 3
n2=`ps -C nginx --no-heading|wc -l`
if [ $n2 -eq "0" ]; then
echo "$d nginx down,keepalived will stop" >> /data/build/logs/check_nginx.log
systemctl stop keepalived.service
fi
fi
6、启动keepalived
systemctl start keepalived.service
7、模仿down机
关闭master的keepalived模仿down机
systemctl stop keepalived.service
至此,Keepalived + Nginx 实现高可用 Web 负载均衡搭建完毕。
猜你喜欢
- 2024-10-08 keepalived+nginx实现高可用实战全(双机主备,双主热备)
- 2024-10-08 Ansible搭建高可用K8s ansible core
- 2024-10-08 nginx实现请求的负载均衡 + keepalived实现nginx的高可用
你 发表评论:
欢迎- 最近发表
-
- 绝对新惊喜!4款王者级别的办公软件,免费又实用
- 再见WPS!微软新出的免费Office软件,我一用就爱上了
- Deepseek+通义千问,一分钟免费生成PPT
- 手机也能修改PPT?还能投屏?3000万用户的ToDesk有多少人不知道
- 简单!如何用Deepseek制作课件?保姆级教程一遍就懂!
- 你会移动办公吗?iPhone 上的免费 Office 软件长这模样
- 超好用的14款免费视频编辑软件强烈推荐!剪辑达人必备!(2022)
- 一键免费转换PPT、Excel和Word文档,无需下载软件
- DeepSeek +功能扩展,实现一键生成PPT功能,完全免费的。
- 拜拜WPS?微软这款全新的三合一Office,免费无广告,真让人惊艳
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)