【概述】: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. 15 个 Docker 技巧和提示

    CLI(Command Line Interface,命令行) 好的 docker ps 输出 将 docker ps 输出通过管道重定向到 less -S,避免折行: docker ps -a |  ...

  2. appium Parameters were incorrect

    raise exception_class(value) selenium.common.exceptions.WebDriverException: Message: Parameters were ...

  3. git reset,git checkout区别

    https://www.cnblogs.com/houpeiyong/p/5890748.html git reset  HEAD~1  将HEAD指向倒数第二次提交,最后一次提交删除,文件还在 gi ...

  4. [转载]How to Install Google Chrome 39 in CentOS/RHEL 6 and Fedora 19/18

    FROM: http://tecadmin.net/install-google-chrome-in-centos-rhel-and-fedora/ Google Chrome is a freewa ...

  5. python解析json文件报错No JSON object could be decoded

    2017-04-25 可用Nodepad++将json文件打开并以UTF8无BOM格式保存.

  6. 【共享单车】—— React后台管理系统开发手记:Redux集成开发

    前言:以下内容基于React全家桶+AntD实战课程的学习实践过程记录.最终成果github地址:https://github.com/66Web/react-antd-manager,欢迎star. ...

  7. D3学习之:D3.js中的12中地图投影方式

    特别感谢:1.[张天旭]的D3API汉化说明.已被引用到官方站点: 2.[馒头华华]提供的ourd3js.com上提供的学习系列教程,让我们这些新人起码有了一个方向. 不得不说,学习国外的新技术真的是 ...

  8. Scrapy的介绍和用法

    转载:https://www.toutiao.com/i6493421606306578958/ Scrapy是爬虫必须学会的一个框架!他确实很难搞的透彻!今天就不给大家全部介绍了!还是介绍其中的Cr ...

  9. iOS_新版iOS11 UITbleView适配的一些问题及解决方法

    // tableView 偏移20/64适配 if (@available(iOS 11.0, *)) { self.tableView.contentInsetAdjustmentBehavior ...

  10. apache环境下禁止某文件夹内运行PHP脚本、禁止访问文件或目录执行权限的设置方法

    apache环境下禁止某文件夹内运行PHP脚本.禁止访问文件或目录执行权限的设置方法   首先我们来看两段对上传目录设置无权限的列子,配置如下: <Directory "要去掉PHP执 ...