【概述】:Keepalived 是一个免费开源的,用C编写。主要提供loadbalancing(负载均衡)和 high-availability(高可用)功能,负载均衡实现需要依赖Linux的虚拟服务内核模块(ipvs),而高可用是通过VRRP协议实现多台机器之间的故障转移服务。

1.Keepalived高可用软件

Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,keepalived除了能够管理LVS软件外,还可以作为其他服务的高可用解决方案软件。

keepalived软件主要是通过VRRP协议实现高可用功能的。VRRP是Virtual 
Router  Redundancy
Protocol(虚拟路由冗余协议)的缩写,VRRP出现的目的就是为了解决静态路由的单点故障问题的,它能保证当个别节点宕机时,整个网络可以不间断地运行。所以,keepalived一方面具有配置管理LVS的功能,同时还具有对LVS下面节点进行健康检查的功能,另一方面也可以实现系统网络服务的高可用功能。

2.Keepalived高可用故障切换转移原理

Keepalived高可用服务对之间的故障切换转移,是通过VRRP来实现的。在keepalived服务工作时,主Master节点会不断地向备节点发送(多播的方式)心跳消息,用来告诉备Backup节点自己还活着。当主节点发生故障时,就无法发送心跳的消息了,备节点也因此无法继续检测到来自主节点的心跳了。于是就会调用自身的接管程序,接管主节点的IP资源和服务。当主节点恢复时,备节点又会释放主节点故障时自身接管的IP资源和服务,恢复到原来的备用角色。

【安装】

一、准备工作

两台虚拟机如:  192.168.0.99 和 192.168.0.100

1、1、Openssl 安装

安装之前先检查openssl库是否已经安装,在任意目录下执行:yum list installed openssl执行结果如下,显示已经安装openssl插件

若没有安装,先安装openssl插件

安装步骤:

1下载地址:

https://www.openssl.org/source/openssl-1.1.0c.tar.gz

2上传至/opt/software目录下

3解压至/usr/local目录下:

tar –zxvf openssl-1.1.0c.tar.gz –C /usr/local/

4 执行安装:./config && make && make install

解释:安装时间较长,一直等待即可

完成既然图如下:

1.2  检查Libnl-devel

安装libnl-devel-1.1.4-3.el7.x86_64.rpm (keepalived的依赖插件)

方案一、在线安装

在任意目录下执行yum -y install libnl libnl-devel

方案二、离线安装

1.下载依赖 libnl-devel-1.1.4-3.el7.x86_64.rpm

下载地址:https://access.redhat.com/downloads/

备注:在redhat官网中查找,详情见libnl-devel和libnfnetlink-devel下载方式文档

2.将下载的libnl-devel-1.1.4-3.el7.x86_64.rpm依赖上传至/home/software/目录下。

3、安装过程如下:安装过程中出现错误,加上忽略依赖即可

1.3 Libnfnetlink-devel

安装libnfnetlink-devel-1.0.1-4.el7.x86_64.rpm (keepalived的依赖插件)

方案一、在线安装

在任意目录下执行yum install -y libnfnetlink-devel

方案二、离线安装

    1. 下载依赖 libnfnetlink-devel-1.0.1-4.el7.x86_64.rpm

下载地址:https://access.redhat.com/downloads/

备注:在redhat官网中查找,详情见libnl-devel和libnfnetlink-devel下载方式文档

  1. 将下载的libnfnetlink-devel-1.0.1-4.el7.x86_64.rpm依赖上传至/home/software/目录下。
  2. 安装截图如下

二、安装

2、1 安装

[root@tycoon ~]# wget http://www.keepalived.org/software/keepalived-1.2.24.tar.gz

[root@tycoon ~]# tar -xzvf keepalived-1.2.24.tar.gz

[root@tycoon  keepalived-1.2.24]# ./configure --prefix=/usr/local/keepalived

[root@tycoon keepalived-1.2.24]# make && make install

2、2 设置快捷方式

[root@tycoon ~]# mkdir /etc/keepalived

[root@tycoon ~]# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf

[root@tycoon ~]# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/keepalived

[root@tycoon ~]# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/keepalived

2.3 建立软连接

ln -s /usr/local/keepalived/sbin/keepalived /sbin/

创建开机启动

chkconfig keepalived on

查看服务状态

systemctl status keepalived

2.4 设置keepalived 服务开机启动

Shell>chkconfig keepalived on

Shell>service keepalived start   # 启动服务

Shell>service keepalived stop    # 停止服务

Shell>service keepalived restart  # 重启服务

2.5、配置服务启动方式

Shell> cd /etc/init.d/

Shell> chmod +x keepalived

Shell> service keepalived start

Starting keepalived: /bin/bash: keepalived: command not found

[FAILED]

Shell> ln -s /home/soft/keepalived/sbin/keepalived /usr/bin/

Shell> service keepalived start

Starting keepalived:                                       [  OK  ]

2.6、启动

2.7、验证启动状态

2.8、继续验证

【有三个进程说明启动成功】

master配置文件

! Configuration File for keepalived

global_defs {

notification_email {

# acassen@firewall.loc

# failover@firewall.loc

# sysadmin@firewall.loc

}

notification_email_from Alexandre.Cassen@firewall.loc

# smtp_server 192.168.200.1

# smtp_connect_timeout 30

router_id SERVER_1

vrrp_skip_check_adv_addr

vrrp_garp_interval 0

vrrp_gna_interval 0

}

vrrp_instance VI_1 {

state MASTER

interface eno16777736

virtual_router_id 55

priority 100

protocol TCP

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.0.199/24

}

}

从节点配置文件

! Configuration File for keepalived

global_defs {

notification_email {

# acassen@firewall.loc

# failover@firewall.loc

# sysadmin@firewall.loc

}

notification_email_from Alexandre.Cassen@firewall.loc

# smtp_server 192.168.200.1

# smtp_connect_timeout 30

router_id SERVER_1

vrrp_skip_check_adv_addr

vrrp_garp_interval 0

vrrp_gna_interval 0

}

vrrp_instance VI_1 {

state BACKUP

interface eno16777736

virtual_router_id 55

priority 100

protocol TCP

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.0.199/24

}

}

整体配置结束。以备后用。

Keepalived 集群在Linux下的搭建的更多相关文章

  1. 【原创】ApacheTomcat集群在Linux下的搭建步骤

    在RedHat5(以下简称RH)上搭建ApacheTomcat的集群环境,有以下步骤: 1.首先安装apr和apr-util apr-util需要依赖于apr包,所以先安装apr, http://fi ...

  2. 【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)

    Oracle 11G RAC数据库安装(八) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...

  3. 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)

    Oracle 11G RAC数据库安装(九) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...

  4. 【转】【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)

    原文地址:http://www.cnblogs.com/baiboy/p/orc9.html   阅读目录 目录 检查RAC状态 检查创建的数据库 全部参考文献 相关文章 Oracle 11G RAC ...

  5. 【转】【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)

    原文地址:http://www.cnblogs.com/baiboy/p/orc8.html   阅读目录 目录 数据库安装 参考文献 相关文章 Oracle 11G RAC数据库安装(八) 概述:写 ...

  6. MHA+keepalived集群环境搭建

    整个MHA+keepalived集群环境搭建 1.1. 环境简介1.1.1.vmvare虚拟机,系统版本CentOS6.5 x86_64位最小化安装,mysql的版本5.7.21,1.1.2.虚拟机器 ...

  7. 大数据系列(3)——Hadoop集群完全分布式坏境搭建

    前言 上一篇我们讲解了Hadoop单节点的安装,并且已经通过VMware安装了一台CentOS 6.8的Linux系统,咱们本篇的目标就是要配置一个真正的完全分布式的Hadoop集群,闲言少叙,进入本 ...

  8. Hadoop集群完全分布式坏境搭建

    前言 上一篇我们讲解了Hadoop单节点的安装,并且已经通过VMware安装了一台CentOS 6.8的Linux系统,咱们本篇的目标就是要配置一个真正的完全分布式的Hadoop集群,闲言少叙,进入本 ...

  9. Centos7+nginx+keepalived集群及双主架构案例

    目录简介 一.简介 二.部署nginx+keepalived 集群 三.部署nginx+keepalived双主架构 四.高可用之调用辅助脚本进行资源监控,并根据监控的结果状态实现动态调整 一.简介 ...

随机推荐

  1. 用ASP实现JS的decodeURIComponent()函数

    <% response.write jsDecodeURIComponent( "%E6%B5%8B%E8%AF%95" ) %> <script languag ...

  2. 响应头里的"Last-Modified"值是怎么来的?

    1.如图所示,app.js文件得到的响应头的"Last-Modified"数值是:Mon, 09 Sep 2013 09:18:22 GMT 我们查看服务器上的app.js文件的修 ...

  3. 2017.6.29 java读取.properties配置文件的几种方法

    参考来自:http://www.cnblogs.com/s3189454231s/p/5626557.html 关于路径的解释:http://blog.csdn.net/bluishglc/artic ...

  4. [PWA] Cache Third Party Resources from a CDN in a React PWA

    Our service worker caches our static assets - but only those assets that are included in our React A ...

  5. redis中的事务(版本2.6.16)

    一.命令支持 1.multi 开始事务 2.exec事务提交 3.取消事务discard 二.事务示例 1.示例 redis>set key1 20OKredis>mutilOKredis ...

  6. Laravel利用pusher推送消息

    一.注册pusher 1.注册https://pusher.com/ 2.获取key,密匙,app_id等 二.配置pusher 1.安装pusher composer require pusher/ ...

  7. 代理工具Charles使用

    代理工具Charles使用 分类: MAC 2014-03-27 20:41 7810人阅读 评论(2) 收藏 举报 手机开发 一.跟踪HTTPS 1.下载官方的证书ssl.zip证书,解压成*.cr ...

  8. Convolutional Patch Networks with Spatial Prior for Road Detection and Urban Scene Understanding

    Convolutional Patch Networks with Spatial Prior for Road Detection and Urban Scene Understanding 深度学 ...

  9. JavsScript中DOM的基本操作

    节点及其类型 元素节点 属性节点: 元素的属性, 可以直接通过属性的方式来操作. 文本节点: 是元素节点的子节点, 其内容为文本. 在 html 文档的什么位置编写 js 代码 直接在 html 页面 ...

  10. myeclipse8.6 git 安装学习

    只有公司有svn,回到宿舍无法访问,因此没法做迭代开发,因此最近学习了git,这样在公司了提交的代码,回到宿舍也可以继续开发,用了一天的时间才弄明白git的原理,智商有问题啊,下面说下具体步骤,个人已 ...