一、准备环境

  linux系统:CentOS7

  keepalived版本:keepalived-1.3.5.tar.gz

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

  在CentOS7系统中安装keepalived(主、从服务器都要安装):

  1. 关闭CentOS7防火墙
  2. 关闭selinux策略
  3. 下载keepalived依赖包gcc、openssl

    yum install gcc

    yum install openssl-devel

二、安装和配置keepalived(只对keepalived主程序配置,LVS则不进行配置)

  1. 将源码keepalived-1.3.5.tar.gz文件解压缩

    命令:[root@test3 keepalived]# tar zxvf keepalived-1.3.5.tar.gz

    2.进入keepalived-1.3.5文件夹,配置keepalived源文件并指定路径。

    创建指定路径:(此路径随意指定)

    [root@test3 keepalived-1.3.5]# mkdir /usr/local/keepalived

    配置源文件:

    [root@test3 keepalived-1.3.5]# ./configure --prefix=/usr/local/keepalived

    (出现下图表示配置源文件成功)

     

    编译keepalived:

    [root@test3 keepalived-1.3.5]# make

    安装keepalived:

    [root@test3 keepalived-1.3.5]# make install

    3.keepalived启动读取配置文件的路径为/etc/keepalived

    路径创建命令:[root@test3 keepalived-1.3.5]# mkdir /etc/keepalived

    将/usr/local/keepalived/etc/keepalived下的keepalived.conf复制到/etc/keepalived路径下

    复制命令:[root@test3 keepalived-1.3.5]# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

    4.编辑/etc/keepalived/keepalived.conf文件

    编辑命令:[root@test3 keepalived-1.3.5]# vi /etc/keepalived/keepalived.conf

    主服务器具体配置如下图:

    

    5.经过上述步骤主服务器配置已完成,从服务器只需更改keepalived.conf配置文件中的两处即可其余与主服务器的配置信息一样:

    state处改为 BACKUP

    priority处改为 50

    6.启动keepalived服务:systemctl start keepalived.service

    重启keepalived服务:systemctl restart keepalived.service

    停止keepalived服务:systemctl stop keepalived.service

    设置为开机自启动:systemctl enable keepalived.service

    取消开机自启动:systemctl disable keepalived.service

    查看错误日志:cat /var/log/messages

    如何检查keepalived正常运行:

    1) 查看keepalived三个进程是否都启动,命令:ps aux | grep keepalived

      

      Keepalived 正常运行时,共启动 3 个进程,其中一个进程是父进程,负责监控其子进程;一个是 vrrp 子进程;另外一个是 checkers 子进程。

    2) 查看浮动ip是否绑定到网卡(下图中IP已绑定到网卡,本机ip为192.168.1.9),命令:ip a 或 ip addr s

      

    3) 在keepalived服务所在局域网中,ping浮动ip查看是否可以ping通

至此keepalived安装配置已完成。

但有一个问题,正常情况下A(master)主服务器运行时浮动ip(vip)绑定在A服务器的网卡上,当A服务器宕机时,B(backup)从服务器自动接替工作浮动ip绑定到B服务器网卡上,若修复好A服务器从新上线,A服务器会抢占浮动ip,强制重新绑定到A服务器网卡上。

如何避免抢占浮动ip,A宕机时B接替工作,当A恢复上线时自动当从机,B继续工作?

修改A(master)主服务的/etc/keepalived/keepalived.conf文件中state的值为BACKUP,在参数中添加nopreempt命令,B服务器的配置文件不改变。

【这个配置只能设置在state为BACKUP的主机上,而且这个主机的priority必须比另外一台高】

keepalived安装与配置,组建高可用服务器的更多相关文章

  1. Dubbo入门到精通学习笔记(十三):ZooKeeper集群的安装、配置、高可用测试、升级、迁移

    文章目录 ZooKeeper集群的安装.配置.高可用测试 ZooKeeper 与 Dubbo 服务集群架构图 1. 修改操作系统的/etc/hosts 文件,添加 IP 与主机名映射: 2. 下载或上 ...

  2. Dubbo入门到精通学习笔记(十四):ActiveMQ集群的安装、配置、高可用测试,ActiveMQ高可用+负载均衡集群的安装、配置、高可用测试

    文章目录 ActiveMQ 高可用集群安装.配置.高可用测试( ZooKeeper + LevelDB) ActiveMQ高可用+负载均衡集群的安装.配置.高可用测试 准备 正式开始 ActiveMQ ...

  3. 分布式架构高可用架构篇_01_zookeeper集群的安装、配置、高可用测试

    参考: 龙果学院http://www.roncoo.com/share.html?hamc=hLPG8QsaaWVOl2Z76wpJHp3JBbZZF%2Bywm5vEfPp9LbLkAjAnB%2B ...

  4. ZooKeeper集群的安装、配置、高可用测试

    Dubbo注册中心集群Zookeeper-3.4.6 Dubbo建议使用Zookeeper作为服务的注册中心. Zookeeper集群中只要有过半的节点是正常的情况下,那么整个集群对外就是可用的.正是 ...

  5. 分布式架构高可用架构篇_02_activemq高可用集群(zookeeper+leveldb)安装、配置、高可用测试

    参考: 龙果学院http://www.roncoo.com/share.html?hamc=hLPG8QsaaWVOl2Z76wpJHp3JBbZZF%2Bywm5vEfPp9LbLkAjAnB%2B ...

  6. 分布式架构高可用架构篇_activemq高可用集群(zookeeper+leveldb)安装、配置、高可用测试

    原文:http://www.iteye.com/topic/1145651 从 ActiveMQ 5.9 开始,ActiveMQ 的集群实现方式取消了传统的Master-Slave 方式,增加了基于Z ...

  7. Cluster基础(三):配置HAProxy负载平衡集群、Keepalived高可用服务器、Keepalived+LVS服务器

    一.配置HAProxy负载平衡集群 目标: 准备三台Linux服务器,两台做Web服务器,一台安装HAProxy,实现如下功能: 客户端访问HAProxy,HAProxy分发请求到后端Real Ser ...

  8. Redis主从配置及通过Keepalived实现Redis自动切换高可用

    Redis主从配置及通过Keepalived实现Redis自动切换高可用 [日期:2014-07-23] 来源:Linux社区  作者:fuquanjun [字体:大 中 小]   一:环境介绍: M ...

  9. keepalived+mysql实现双主高可用

    环境: DB1:centos6.8.mysql5.5.192.168.2.204  hostname:bogon DB2:centos6.8.mysql5.5.192.168.2.205  hostn ...

随机推荐

  1. [SDOI2013]森林 主席树+启发式合并

    这题的想法真的很妙啊. 看到题的第一眼,我先想到树链剖分,并把\(DFS\)序当成一段区间上主席树.但是会发现在询问的时候,可能会非常复杂,因为你需要把路径拆成很多条轻链和重链,它们还不一定连续,很难 ...

  2. atool-build 打包项目报JavaScript heap out of memory 错误

    出现这个问题的原因,是因为NodeJS给JavaScript设置了默认内存使用限制(32位系统下0.7GB,64位系统下1.4GB),就算我们的电脑内存是64GB的,在使用atool-build打包时 ...

  3. 03-oracle中的高级查询

    1.连接查询 1.1 使用连接谓词指定的连接 介绍: 在连接谓词表示形式中,连接条件由比较运算符在WHERE子句中给出,将这种表示形式称为连接谓词表示形式,连接谓词又称为连接条件. 语法: [< ...

  4. STL迭代器iterator

    一:迭代器原理 迭代器是一个“可遍历STL容器内全部或部分元素”的对象. 迭代器指出容器中的一个特定位置. 迭代器就如同一个指针. 迭代器提供对一个容器中的对象的访问方法,并且可以定义了容器中对象的范 ...

  5. [源码分析]StringBuilder

    [源码分析]StringBuilder StringBuilder是继承自AbstractStringBuilder的. 这里附上另外两篇文章的连接: AbstractStringBuilder :  ...

  6. HDU - 3035 War(对偶图求最小割+最短路)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3035 题意 给个图,求把s和t分开的最小割. 分析 实际顶点和边非常多,不能用最大流来求解.这道题要用 ...

  7. 二叉树(BT)相关

    1.same tree /** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * ...

  8. requests 获取token

    # encoding:utf-8 import reimport jsonimport randomfrom requests.sessions import Session class Regist ...

  9. vue 开发和生产的跨域问题

    开发阶段 在开发环境与后端调试的时候难免会遇到跨域问题,在 vue 项目中常用的是 proxyTable,这个用起来很方便. 打开 config 文件夹下面的 index.js,找到 dev 开发模式 ...

  10. MySQL数据库 Too many connections

    出现这种错误明显就是 mysql_connect 之后忘记 mysql_close:当大量的connect之后,就会出现Too many connections的错误,mysql默认的连接为100个, ...