【Linux运维】centos 7安装Keepalived

  • 什么是Keepalived:

        Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

  • Keepalived的安装

1.在安装之前我们需要为虚拟机进行环境配置,将网络模式改为桥接模式

并且需要两台Linux虚拟机。

2.关闭selinux 

输入命令:
setenforce 0

  编辑配置文件,关闭开机自启

vi /etc/selinux/config
将 selinux=enforcing 改成 selinux=disabled

3.为主机安装keepalived

下载:

wget https://www.keepalived.org/software/keepalived-1.4.5.tar.gz

解压
tar -zxvf keepalived-1.4.5.tar.gz

进入文件夹
cd keepalived-1.4.5

预编译
./configure --prefix=/usr/local/keepalived

安装
make && make install

4.将keepalived 注册为系统服务

cp keepalived/etc/init.d/keepalived /etc/init.d
cp keepalived/etc/sysconfig/keepalived /etc/sysconfig/

5.编辑配置文件

mkdir -p /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
vi /etc/keepalived/keepalived.conf

6.为备用机安装keepalived

和主机安装keepalived 的步骤是一样的,只有第五步稍有不同

7.创建监控双机nginx状态的脚本

vi /opt/check_nginx.sh
写入以下代码

#!/bin/sh
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then  #如果nginx没在运行
   systemctl start nginx.service  #启动nginx
   sleep 2
   if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then  #如果无法启动
	killall keepalived  #杀死keepalived进程
   fi
fi

8.安装psmisc

因为脚本用到了killall命令,最小化安装的centos没有,所以要安装一下
yum -y install psmisc

9.再次编辑keepalived配置文件

vi /etc/keepalived/keepalived.conf
插入第一段

vrrp_script check_nginx {
   script "/root/check_nginx.sh"
   interval 2
   weight 2
}

第二段:

track_script { 
        check_nginx
    }

将 state MASTER 改为 state BACKUP

7.创建监控双机nginx状态的脚本

vi /opt/check_nginx.sh
写入以下代码

#!/bin/sh
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then  #如果nginx没在运行
   systemctl start nginx.service  #启动nginx
   sleep 2
   if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then  #如果无法启动
	killall keepalived  #杀死keepalived进程
   fi
fi

8.安装psmisc

因为脚本用到了killall命令,最小化安装的centos没有,所以要安装一下
yum -y install psmisc

9.再次编辑keepalived配置文件

vi /etc/keepalived/keepalived.conf

10.备用机的监控

按照第7步,第8步,第9步再次操作一遍

11.启动keepalived服务,并开机自启

systemctl start keepalived.service
systemctl enable keepalived.service

发布了130 篇原创文章 · 获赞 33 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq_30631063/article/details/99124596
今日推荐