网站首页 > 技术教程 正文
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-14 使用keepalived监控tomcat 达到双机热备
- 2024-10-14 keepalived的安装(keepalived安装配置)
- 2024-10-14 15分钟学会nginx+tomcat+keepalived高可用负载均衡
- 2024-10-14 搭建环境tomcat+nginx+keepalived+zabbix
- 2024-10-14 K8s 通过 keepalive+nginx 实现 nginx-ingress-controller 高可用
- 2024-10-14 流量红利下怎么用双机搭建高可用与负载均衡——(上)
- 2024-10-14 快速入门-Keepalived+Nginx-HA高可用-不啰嗦-直接上-边实践边学
- 2024-10-14 Keepalived + Nginx 实现高可用 Web 负载均衡
- 2024-10-14 Keepalived+Nginx架构配置(keepalived nginx配置)
- 2024-10-14 Nginx双机主备(Keepalived实现)(nginx双机负载均衡配置)
你 发表评论:
欢迎- 最近发表
-
- 阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会
- Linux环境下,Jmeter压力测试的搭建及报错解决方法
- Java 在Word中合并单元格时删除重复值
- 解压缩软件哪个好用?4款大多数人常用的软件~
- Hadoop高可用集群搭建及API调用(hadoop3高可用)
- lombok注解@Data没有toString和getter、setter问题
- Apache Felix介绍(apache fineract)
- Spring Boot官方推荐的Docker镜像编译方式-分层jar包
- Gradle 使用手册(gradle详细教程)
- 字节二面:为什么SpringBoot的 jar可以直接运行?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)