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. 小程序踩过的一个小坑---解析二维码decodeURIComponent() url解码

    因为我们需要用户扫码进入小程序,每一个货柜都有一个对应的二维码,当然每个二维码里的信息也不一样.用户扫码进入小程序之后,二维码的信息会以参数q带进去,而我们只能在onLoad事件中拿到这个参数, 但是 ...

  2. C++的string类常见用法

    C++的string常见用法,在网上看到一篇,但是不能在c++11编译器下运行,我修改了下,还没改完: #include<iostream> #include<string> ...

  3. 浅析PCIe链路LTSSM状态机

    我们知道,在PCIe链路可以正常工作之前,需要对PCIe链路进行链路训练,在这个过程中,就会用LTSSM状态机.LTSSM全称是Link Training and Status State Machi ...

  4. Unity Shaders and Effects Cookbook (4-1)(4-2)静态立方体贴图的创建与使用

    開始学习第4章 - 着色器的反射 看完了1.2节,来记录一下.反射主要是利用了 Cubemap 立方体贴图. 认识Cubemap 立方体贴图.就如同名字所说.在一个立方体上有6张图.就这样觉得吧. 假 ...

  5. centos chroot使用

    chroot命令用来在指定的根目录下运行指令.chroot,即 change root directory (更改 root 目录).在 linux 系统中,系统默认的目录结构都是以/,即是以根 (r ...

  6. yum 卸载 error: %preun(tengine-2.1.0-1.el6.x86_64) scriptlet failed, exit status 6

    error: %preun(tengine-2.1.0-1.el6.x86_64) scriptlet failed, exit status 6 Error in PREUN scriptlet i ...

  7. FFmpeg AVPacket和AVFrame区别

    简介 AVPacket:存储压缩数据(视频对应H.264等码流数据,音频对应AAC/MP3等码流数据)AVFrame:存储非压缩的数据(视频对应RGB/YUV像素数据,音频对应PCM采样数据)

  8. RenderTexture动态创建纹理

    CCRenderTexture,它允许你来动态创建纹理,并且可以在游戏中重用这些纹理. 使用 CCRenderTexture非常简单 – 你只需要做以下5步就行了: 创建一个新的CCRenderTex ...

  9. Windows下使用第三方lua库

    第三方库lua和dll文件可以直接放在lua解释器目录下, > print(package.cpath)D:\lua-5.2.3\src\?.dll;D:\lua-5.2.3\src\loada ...

  10. 【Delphi】@,^,#,$特殊符号意义

    概述 ^: 指针 @: 取址 #: 十进制符 $: 十六进制符   @ :取址运算符 var int :integer; p :^integer; begin new(P); int :=; p := ...