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. Vue(六):条件与循环

    1.条件(v-if) 控制切换一个元素是否显示 <div id="app-3"> <p v-if="seen">现在你看到我了</ ...

  2. 使用maven-shade-plugin插件解决spark依赖冲突问题

    依赖冲突:NoSuchMethodError,ClassNotFoundException   当用户应用于Spark本身依赖同一个库时可能会发生依赖冲突,导致程序奔溃.依赖冲突表现为在运行中出现No ...

  3. 【Android API】Android 4.1 API官方文档详解

    原文:http://android.eoe.cn/topic/summary 翻译:[eoeAndroid原创团队]kris.流风而逝.贼寇在何方.snowxwyo.lsy4833406 更新日期:2 ...

  4. pyqt5开发环境安装

    1.下载所需软件. Anaconda下载地址:https://repo.continuum.io/archive/ PyQt5下载地址:https://sourceforge.net/projects ...

  5. HTML5学习笔记(十三):JavaScript函数

    函数定义 在JavaScript中,定义函数的方式如下: function abs(x) { if (x >= 0) { return x; } else { return -x; } } 上述 ...

  6. Linux系统Apache服务 - 配置 HTTP 的虚拟机主机

    接Linux系统Apache服务 - 配置HTTP的默认主页 1.创建/srv目录,作为httpd的文件目录,并创建/srv/default/www和/srv/www1.example.com/www ...

  7. Swift 开发中,为什么要远离 Heap?

    Swift 开发中,为什么要远离 Heap? WWDC的视频 — Understanding Swift Performance 中,苹果上来就说,Heap 的操作复杂度要远远超越 Stack.所以大 ...

  8. js中取小数整数部分函数;取小数部分

    1.丢弃小数部分,保留整数部分 parseInt(23.56); 结果:23 2.向上取整,有小数就整数部分加1 Math.ceil(23.56) 结果:24 3,四舍五入. Math.round(2 ...

  9. python版本坑:md5例子(python2与python3中md5区别)

    对于一些字符,python2和python3的md5加密出来是不一样的. Python2 和Python3MD5加密 # python2.7 pwd = "xxx" + chr(1 ...

  10. whatweb.rb 未完待续

    #!/usr/bin/env ruby #表示ruby的执行环境 =begin # ruby中用=begin来表示注释的开始 .$$$ $. .$$$ $. $$$$ $$. .$$$ $$$ .$$ ...