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 ...
随机推荐
- ganglia安装 by frank
作者是frank. 1.安装epelrpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm2. ...
- Shiro(一):shiro架构和组件介绍
简介 Apache Shiro是一个强大且易用的Java安全框架,执行身份认证.授权.加密和会话管理.使用Shiro的易于理解的API,可以快速.轻松地获得任何应用程序,从最小的移动应用程序到最大的网 ...
- [svc]Linux中Swap与Memory内存简单介绍
swap区域是干嘛的 cpu 内存(不常用到的进程swap区) 磁盘 当内存没有可用的,就必须要把内存中不经常运行的程序给踢出去.但是踢到哪里去,这时候swap就出现了. 背景介绍 对于Linux来说 ...
- 【Android】1.2 创建Android模拟器
分类:C#.Android.VS2015: 创建日期:2016-01-20 调试手机应用程序一般先用模拟器来实现,只是因为每次都发布到手机上调试太麻烦了.当应用程序在模拟器上调试没错后,再发布到手机 ...
- 正确安全清空在线慢查询日志slow log的流程
查看慢查询日志的状态: mysql> show variables like '%slow%'; +---------------------+------------------------- ...
- LL&LR parser
https://stackoverflow.com/questions/5975741/what-is-the-difference-between-ll-and-lr-parsing https:/ ...
- Delphi下IOCP开源框架:DIOCP 成功应用案例分享
首先说明,该项目不是本人的项目,本文转自盒子. 该项目使用的DIOCP版本为1.0,目前diocp为3.5 以下是盒子的原文 ------------------------------------- ...
- DIOCP-开源项目ECHO测试.
DIOCP自开源以来,得到了很多朋友的测试,并进行了诸多的改进,现在已经运用到了一些具体的项目当中. DIOCP底层运行稳定. 昨天做了个ECHO测试,这个连接数并没有达到上限. 11K 连接,1个半 ...
- 【转】(七)unity4.6Ugui中文教程文档-------概要-UGUI Auto Layout
原创至上,移步请戳:(七)unity4.6Ugui中文教程文档-------概要-UGUI Auto Layout 6. Auto Layout Rect Transform布局系统是足够灵活,可以处 ...
- Git详解之Git分支
Git 分支 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作.在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的 ...