master服务器ip地址:192.168.0.182

slave服务器ip地址:192.168.0.189

虚拟ip(VIP,一个尚未占用的内网ip即可)地址:192.168.0.180

 确认使用的网卡

使用第2个网卡【enp0s3】

使用wget命令下载,下载位置/usr/local/

keepalived下载地址:http://www.keepalived.org/download.html

wget http://www.keepalived.org/software/keepalived-1.4.2.tar.gz

解压:

tar zxvf keepalived-1.4..tar.gz

安装依赖插件:

yum install -y gcc openssl-devel popt-devel

编译安装:

cd keepalived-1.4.

#指定安装目录
./configure --prefix=/usr/local/keepalived make && make install

运行前配置

#
cp /usr/local/keepalived-1.4./keepalived/etc/init.d/keepalived /etc/init.d/ #
mkdir /etc/keepalived #
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/ #
cp /usr/local/keepalived-1.4./keepalived/etc/sysconfig/keepalived /etc/sysconfig/ #
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/

修改配置文件:

vim /etc/keepalived/keepalived.conf

具体配置如下:

master服务器配置:

! Configuration File for keepalived

global_defs {
#一个没重复的名字即可
router_id xxoo_master
} # 检测nginx是否运行
vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh"
interval
weight -
} vrrp_instance VI_1 { # 此处不设置为MASTER,通过priority来竞争master
state BACKUP # 网卡名字,文章下方会给出如何获取网卡名字的方法
interface enp0s3 # 同一个keepalived集群的virtual_router_id相同
virtual_router_id # 权重,master要大于slave
priority # 主备通讯时间间隔
advert_int # 如果两节点的上联交换机禁用了组播,则采用vrrp单播通告的方式
# 本机ip
unicast_src_ip 192.168.0.182
unicast_peer {
# 其他机器ip
192.168.0.189
} # 设置nopreempt防止抢占资源
nopreempt # 主备保持一致
authentication {
auth_type PASS
auth_pass
} # 与上方nginx运行状况检测呼应
track_script {
chk_nginx
} virtual_ipaddress {
# 虚拟ip地址(VIP,一个尚未占用的内网ip即可)
192.168.0.180
}
}

slave服务器配置:

! Configuration File for keepalived

global_defs {
#一个没重复的名字即可
router_id xxoo_slave
} # 检测nginx是否运行
vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh"
interval
weight -
} vrrp_instance VI_1 { # 此处不设置为MASTER,通过priority来竞争master
state BACKUP # 网卡名字,文章下方会给出如何获取网卡名字的方法
interface enp0s3 # 同一个keepalived集群的virtual_router_id相同
virtual_router_id # 权重,master要大于slave
priority # 主备通讯时间间隔
advert_int # 如果两节点的上联交换机禁用了组播,则采用vrrp单播通告的方式
# 本机ip
unicast_src_ip 192.168.0.189
unicast_peer {
# 其他机器ip
192.168.0.182
} # 设置nopreempt防止抢占资源
nopreempt # 主备保持一致
authentication {
auth_type PASS
auth_pass
} # 与上方nginx运行状况检测呼应
track_script {
chk_nginx
} virtual_ipaddress {
# 虚拟ip地址(VIP,一个尚未占用的内网ip即可)
192.168.0.180
}
}

nginx监听脚本:

#创建nginx检测脚本
#touch nginx_check.sh #给脚本增加可执行权限
#chmod +x nginx_check.sh

脚本添加如下内容:

#! /bin/bash
pidof nginx
if [ $? -ne ];then
/etc/init.d/keepalived stop
fi

防止出现脑裂现象(主备同时获取了VIP地址)

# 指定keepalived配置的网卡:enp0s3,固定的VRRP广播地址:224.0.0.18
firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT --in-interface enp0s3 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT --out-interface enp0s3 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
firewall-cmd --reload # 查看配置的规则
firewall-cmd --direct --get-rules ipv4 filter INPUT
firewall-cmd --direct --get-rules ipv4 filter OUTPUT

启动服务:

service keepalived start

# 配置开机自启动
systemctl enable keepalived

查看服务启动情况:

ps -aux |grep keepalived

查看启动日志:

journalctl -xe

查看keepalived日志

tail -f  /var/log/messages

配置成功后的效果。enp0s3是网卡名字;192.168.0.180是虚拟ip,已经成功绑定到网卡上。

QQ技术交流群:282575808

--------------------------------------

声明: 原创文章,未经允许,禁止转载!

--------------------------------------

Centos7下安装运行keepalived的更多相关文章

  1. Centos7下安装配置keepalived

    这里用的是两台设备做高可用 master服务器ip地址:192.168.12.78 slave服务器ip地址:192.168.12.79 虚拟ip(VIP,一个尚未占用的内网ip即可)地址:192.1 ...

  2. Linux CentOs7 下安装 redis

    Linux CentOs7 下安装 redis 请将以下命令放入linux命令行中运行 如果安装过程前没有安装GCC请先安装  命令如下 $ yum install gcc-c++ $ wget ht ...

  3. centOS7下安装GUI图形界面

    1.如何在centOS7下安装GUI图形界面 当你安装centOS7服务器版本的时候,系统默认是不会安装GUI的图形界面程序,这个需要手动安装CentOS7 Gnome GUI包. 2.在系统下使用命 ...

  4. docker(一) Centos7下安装docker

    docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...

  5. centos7下安装指定版本mysql5.7.23

    现在mysql版本已经到MySQL 8.0(GA)稳定版本了,所以需求是想简单又快速在centos7下安装指定版本例如MySQL 5.7(GA)版本有下面这种方法 首先需要到mysql官网这里下载对应 ...

  6. CentOS7 下安装 iSCSI Target(tgt) ,使用 Ceph rbd

    目录 一.iSCSI 介绍 1. iSCSI 定义 2. 几种常见的 iSCSI Target 3. 优缺点比较 二.安装步骤 1. 关闭防火墙 2. 关闭selinux 3. 通过 yum 安装 t ...

  7. MariaDB Centos7 下安装MariaDB

    Centos7 下安装MariaDB by:授客 QQ:1033553122 1.下载安装文件 rpm包为例,对于标准服务器安装,至少需要下载client,shared,serve文件(安装时如果少了 ...

  8. Centos7下安装Seafile实现私有网盘

    Seafile是一个开源.专业.可靠的云存储平台:解决文件集中存储.共享和跨平台访问等问题,由北京海文互知网络有限公司开发,发布于2012年10月:除了一般网盘所提供的云存储以及共享功能外,Seafi ...

  9. 学习笔记(1)centos7 下安装nginx

    学习笔记(1)centos7 下安装nginx 这里我是通过来自nginx.org的nginx软件包进行安装的. 1.首先为centos设置添加nginx的yum存储库 1.通过vi命令创建一个rep ...

随机推荐

  1. MySQL各类日志文件相关变量介绍

    文章转自:http://www.ywnds.com/?p=3721 MySQL各类日志文件相关变量介绍 查询所有日志的变量   1 mysql> show global variables li ...

  2. logstash匹配多行日志

    在工作中,遇到一个问题就是日志的处理,首选的方案就是ELFK(filebeat+logstash+es+kibana) 因为之前使用过logstash采集日志的时候,非常的消耗系统的资源,所以这里我选 ...

  3. php分享三十一:编程中的一些特殊写法

    1:for for ( ; $i < $accept_l ; $i++ ) for($i = 0, $num = count($array); $i < $num; $i++) for ( ...

  4. 安装/移除 MySQL 服务

    MySQL Community Server 下载:https://dev.mysql.com/downloads/mysql/ 以下内容使用的版本为:mysql-5.7.17-win32.zip 1 ...

  5. 手把手教你使用“谷歌云消息服务(GCM)"

    原文: http://android.eoe.cn/topic/summary GCM结构概述-GCM Architectural Overview 快速预览* 一个状态通知允许应用程序通知用户一个事 ...

  6. [svc]centos6使用chkconfig治理服务和其原理

    centos6开机启动级别 $ cat /etc/inittab ... # 0 - halt (Do NOT set initdefault to this) # 1 - Single user m ...

  7. node调试的两种方法

    刚开始学node.js的时候,一直在用node-inspector,虽然很麻烦,但聊胜于无.后面公司牛人推荐使用node-webkit,就再也没用过node-inspector.再后来node.js版 ...

  8. 【数据库】悲观锁与乐观锁与MySQL的MVCC实现简述

    悲观锁 悲观锁,就是一种悲观心态的锁,每次访问数据时都会锁定数据: 乐观锁 乐观锁,就是一种乐观心态的锁,每次访问数据时并不锁定数据,期待数据并没作修改,如果数据没被修改则作具体的业务 应用程序上使用 ...

  9. Spark-shell引入第三方包

    Spark-shell引入第三方包 如何引入 spark-shell --jars path/nscala-time_2.10-2.12.0.jar 若有多个jar包需要导入,中间用逗号隔开即可. s ...

  10. Python版求数组的最大连续区间

    [本文出自天外归云的博客园] 题目:有一个数组,求他的最大(最长)连续区间(数字是连续的区间). 我的解法,如下: class Finder(object): ''' 判断两个相邻的数字是否连续,若连 ...