Centos7下安装运行keepalived
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的更多相关文章
- Centos7下安装配置keepalived
这里用的是两台设备做高可用 master服务器ip地址:192.168.12.78 slave服务器ip地址:192.168.12.79 虚拟ip(VIP,一个尚未占用的内网ip即可)地址:192.1 ...
- Linux CentOs7 下安装 redis
Linux CentOs7 下安装 redis 请将以下命令放入linux命令行中运行 如果安装过程前没有安装GCC请先安装 命令如下 $ yum install gcc-c++ $ wget ht ...
- centOS7下安装GUI图形界面
1.如何在centOS7下安装GUI图形界面 当你安装centOS7服务器版本的时候,系统默认是不会安装GUI的图形界面程序,这个需要手动安装CentOS7 Gnome GUI包. 2.在系统下使用命 ...
- docker(一) Centos7下安装docker
docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...
- centos7下安装指定版本mysql5.7.23
现在mysql版本已经到MySQL 8.0(GA)稳定版本了,所以需求是想简单又快速在centos7下安装指定版本例如MySQL 5.7(GA)版本有下面这种方法 首先需要到mysql官网这里下载对应 ...
- CentOS7 下安装 iSCSI Target(tgt) ,使用 Ceph rbd
目录 一.iSCSI 介绍 1. iSCSI 定义 2. 几种常见的 iSCSI Target 3. 优缺点比较 二.安装步骤 1. 关闭防火墙 2. 关闭selinux 3. 通过 yum 安装 t ...
- MariaDB Centos7 下安装MariaDB
Centos7 下安装MariaDB by:授客 QQ:1033553122 1.下载安装文件 rpm包为例,对于标准服务器安装,至少需要下载client,shared,serve文件(安装时如果少了 ...
- Centos7下安装Seafile实现私有网盘
Seafile是一个开源.专业.可靠的云存储平台:解决文件集中存储.共享和跨平台访问等问题,由北京海文互知网络有限公司开发,发布于2012年10月:除了一般网盘所提供的云存储以及共享功能外,Seafi ...
- 学习笔记(1)centos7 下安装nginx
学习笔记(1)centos7 下安装nginx 这里我是通过来自nginx.org的nginx软件包进行安装的. 1.首先为centos设置添加nginx的yum存储库 1.通过vi命令创建一个rep ...
随机推荐
- iphone5 jail break
dfu恢复恢复备份越狱afc2add删除2个文件,如果只有1个也没问题/var/mobile/Library/Caches/com.apple.mobile.installation.plist/va ...
- redis 3.2.3的源码安装
Install necessary packages On CentOS : yum install wget make gcc tcl On CentOS yum install wget make ...
- [Kubernetes]Kubernetes的网络模型
Kubernetes的网络模型从内至外由四个部分组成: Pod内部容器所在的网络 Pod所在的网络 Pod和Service之间通信的网络 外界与Service之间通信的网络 建议在阅读本文之前先了解D ...
- Entity Framework 异常: 'OFFSET' 附近有语法错误。\r\n在 FETCH 语句中选项 NEXT 的用法无效。\r\n关键字 'AS' 附近有语法错误。
在使用 EF 的时候,突然发现更新后在服务器中运行出错,异常信息主要包含以下信息: 'OFFSET' 附近有语法错误.\r\n在 FETCH 语句中选项 NEXT 的用法无效.\r\n关键字 'AS' ...
- vim常忘命令
1.复制指定行到当前光标的下一行. #假设当前光标在10行,想把第5行复制到第11行 :5copy. #copy命令有2种简写'co'和't',所以也可以写成下面的格式 :5co. :5t. 参考:h ...
- 菜鸟学数据库(五)——MySQL必备命令
今天跟大家分享一下MySQL从连接到具体操作的一系列常用命令.可能有的人觉得现在有很多可视化的工具,没必要再学习那些具体的命令了,但是我不这么认为,不可否认那些工具的确让我们的工作更加方便快捷,但是如 ...
- (原创)c++11改进我们的模式之改进观察者模式
和单例模式面临的是同样的问题,主题更新的接口难以统一,很难做出一个通用的观察者模式,还是用到可变模板参数解决这个问题,其次还用到了右值引用,避免多余的内存移动.c++11版本的观察者模式支持注册的观察 ...
- zipkin微服务调用链分析
1.zipkin的作用 在微服务架构下,一个http请求从发出到响应,中间可能经过了N多服务的调用,或者N多逻辑操作, 如何监控某个服务,或者某个逻辑操作的执行情况,对分析耗时操作,性能瓶颈具有很大价 ...
- tensorflow笔记1:基础函数、embedding_lookup
函数一:tf.nn.embedding_lookup() ERROR: I get this error: TypeError: Tensors in list passed to 'values' ...
- HBase scan setBatch和setCaching的区别【转】
转自:http://blog.csdn.net/caoli98033/article/details/44650497 HBase的查询实现只提供两种方式: 1.按指定RowKey获取唯一一条记录,g ...