一、准备环境

  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. jupyter nootbook本地使用指南

    本地文件读入jupyter notebook 在文件夹内,shift+鼠标右键,出现菜单中选择“”在此处打开命令窗口“”,输入jupyter notebook, 可以把本地文件读入jupyter.

  2. com.fasterxml.jackson工具类

    老版本的Jackson使用的包名为org.codehaus.jackson,而新版本使用的是com.fasterxml.jackson. Jackson主要包含了3个模块: jackson-core ...

  3. js下拉框:从数组中筛选出匹配的数据

    handleChange(val) { let obj = {} // 遍历数组 obj = this.options.find(item => { // 筛选出匹配的数据 return ite ...

  4. js/vue图片压缩

    js版 新建compressImage.js,内容如下: // 将base64转换为blob(有需要可加上,没需要可不加) function convertBase64UrlToBlob(urlDat ...

  5. 078、Docker 最常用的监控方案(2019-04-25 周四)

    参考https://www.cnblogs.com/CloudMan6/p/7637361.html   当 Docker 部署规模逐步变大后,可视化监控容器环境的性能和健康状态会变得越来越重要.   ...

  6. 编译VisualVM源码解决乱码问题

    编译VisualVM源码解决乱码问题 起因 今天在使用VisualVM对测试服务器进行JVM监控的时候,发现所有统计图的横纵坐标都是显示乱码(小方块),即使我的Ubuntu系统使用的是英文语言环境.奇 ...

  7. socket.io emit callback调用探秘

    socket.io https://socket.io/ https://socket.io/docs/ What Socket.IO is Socket.IO is a library that e ...

  8. 2018-2019-2 网络对抗技术 20165237 Exp6 信息搜集与漏洞扫描

    2018-2019-2 网络对抗技术 20165237 Exp6 信息搜集与漏洞扫描 实验目标 1 各种搜索技巧的应用: 2 DNS IP注册信息的查询: 3 基本的扫描技术: 主机发现.端口扫描.O ...

  9. day13 闭包及装饰器

    """ 今日内容: 1.函数的嵌套定义及必包 2.global 与 nonlocal 关键字 3.开放封闭原则及装饰器 """ " ...

  10. Asp.net Mvc 与WebForm 混合开发

      根据项目实际需求,有时候会想在项目中实现Asp.net Mvc与Webform 混合开发,比如前台框架用MVC,后台框架用WebForm.其实要是实现也很简单,如下: (1)在MVC 中使用Web ...