搭建高可用集群
1.1 Keepalived+Nginx高可用集群(主从模式)
如图所示
1.2 搭建步骤
1.2.1 搭建高可用集群基础环境
- 1 准备两台Linux服务器 192.168.101.101和192.168.101.103
- 2 在两个Linux安装好Nginx服务器
- 3 保证两天Linux服务器直接的网络可以ping通
- 4 在两天Linux服务器安装Keepalived
1.2.2 安装Keepalived
下载Keepalived
wget https://www.keepalived.org/software/keepalived-2.0.20.tar.gz
解压
tar -zxvf keepalived-2.0.20.tar.gz
安装
# --sysconf 指定配置文件的路径
# --prefix 指定安装的目录
./configure --sysconf=/etc --prefix=/mydata/keepalived
编译& 安装
make && make install
注意两台Linux服务器都要进行安装
1.2.3完成高可用集群配置
将192.168.101.101指定为Master vim cd /etc/keepalived/keepalived.conf
将192.168.101.103指定为Backup vim cd /etc/keepalived/keepalived.conf
修改完毕,启动Keepalived
进入到keepalived的安装目录,cd /mydata/keepalived/sbin
执行 ./keepalived 启动 稍等一会 在主服务器,执行命令 ip a 查看虚拟ip
1.2.4 自动检测Nginx异常,终止keepalived服务
实现步骤
- 1、编写检查Nginx是否存活的脚本ch_nginx.sh
#!/bin/bash
num=`ps -C nginx --no-header | wc -l`
if [ $num -eq 0 ];then
killall keepalived
fi
- 2 修改ch_nginx.sh权限
chmod 777 ch_nginx.sh
- 3 修改192.168.101.101主Master配置文件 vim /etc/keepalived/keepalived.conf
- 4 修改192.168.101.103主Backup(备用服务器)配置文件 vim /etc/keepalived/keepalived.conf
代码示例
vrrp_script ch_nginx{
# 脚本地址
script "/etc/keepalived/ch_nginx.sh"
# 2秒执行一次
interval 2
# 权重
weight -20
}
# 表示当前实例要执行哪个脚本
track_script{
ch_nginx
}
- 5 重新启动Master的Keepalived,这时由于Master的优先级高,会优先争夺到VIP
- 6 手动关闭当前服务器的Nginx
- 7 查看当前Keepalived存活状态
- 8 此时虚拟ip已经漂移到备用服务器(BACKUP)