Keepalived 集群在Linux下的搭建
【概述】: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
方案二、离线安装
- 下载依赖 libnfnetlink-devel-1.0.1-4.el7.x86_64.rpm
下载地址:https://access.redhat.com/downloads/
备注:在redhat官网中查找,详情见libnl-devel和libnfnetlink-devel下载方式文档
- 将下载的libnfnetlink-devel-1.0.1-4.el7.x86_64.rpm依赖上传至/home/software/目录下。
- 安装截图如下
二、安装
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下的搭建的更多相关文章
- 【原创】ApacheTomcat集群在Linux下的搭建步骤
在RedHat5(以下简称RH)上搭建ApacheTomcat的集群环境,有以下步骤: 1.首先安装apr和apr-util apr-util需要依赖于apr包,所以先安装apr, http://fi ...
- 【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)
Oracle 11G RAC数据库安装(八) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...
- 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)
Oracle 11G RAC数据库安装(九) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...
- 【转】【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)
原文地址:http://www.cnblogs.com/baiboy/p/orc9.html 阅读目录 目录 检查RAC状态 检查创建的数据库 全部参考文献 相关文章 Oracle 11G RAC ...
- 【转】【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)
原文地址:http://www.cnblogs.com/baiboy/p/orc8.html 阅读目录 目录 数据库安装 参考文献 相关文章 Oracle 11G RAC数据库安装(八) 概述:写 ...
- MHA+keepalived集群环境搭建
整个MHA+keepalived集群环境搭建 1.1. 环境简介1.1.1.vmvare虚拟机,系统版本CentOS6.5 x86_64位最小化安装,mysql的版本5.7.21,1.1.2.虚拟机器 ...
- 大数据系列(3)——Hadoop集群完全分布式坏境搭建
前言 上一篇我们讲解了Hadoop单节点的安装,并且已经通过VMware安装了一台CentOS 6.8的Linux系统,咱们本篇的目标就是要配置一个真正的完全分布式的Hadoop集群,闲言少叙,进入本 ...
- Hadoop集群完全分布式坏境搭建
前言 上一篇我们讲解了Hadoop单节点的安装,并且已经通过VMware安装了一台CentOS 6.8的Linux系统,咱们本篇的目标就是要配置一个真正的完全分布式的Hadoop集群,闲言少叙,进入本 ...
- Centos7+nginx+keepalived集群及双主架构案例
目录简介 一.简介 二.部署nginx+keepalived 集群 三.部署nginx+keepalived双主架构 四.高可用之调用辅助脚本进行资源监控,并根据监控的结果状态实现动态调整 一.简介 ...
随机推荐
- JAVA常见算法题(六)
package com.xiaowu.demo; /** * 输入两个正整数m和n,求其最大公约数和最小公倍数. * * @author WQ * */ public class Demo6 { pu ...
- mac下npm/node的安装和卸载、升级;node、npm升级后最后删掉node_modules重新安装
mac还是使用brew install简单一些:最好使用一种安装方式,不要多种方式互用: 更新npm到最新版本npm install -g npm更新npm到指定版本 npm -g install n ...
- 上机题目(0基础)- Java网络操作-Socket实现client和server端通信二(Java)
上一节实现了client像server端发送请求.本节将实现server端向client回传信息.实现原理非常easy,在原来的基础上.在server端实现输出流,在client实现输入流就可以,详细 ...
- 【Hive】Hive 基础
Hive架构: Hive基础 1 概念 1.1 简介 1.1.1 hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表, 并提供简单的sql查询功能,可以将sql语句 ...
- Hadoop之Mapreduce详解
1. 什么是Mapreduce Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架: Mapreduce核心功能是将用户编写的业务逻辑代码和自带 ...
- 命令行设置IE代理
IE代理可以在注册表中设置,所以用DOS修改注册表,可以达到目的.方法一:注册表文件:REGEDIT4[HKEY_CURRENT_USER\Software\Microsoft\Windows\Cur ...
- 谷歌安卓UI自动化测试策略
中文翻译版: 为了使大家确信"应做单元测试,就一定能做单元测试",谷歌测试工程师Mona El Mahdy专门写了一篇博客,提出了几种执行安卓应用用户界面单元测试的方法.Mahdy ...
- 持久化配置管理 diamond 使用简介
本次为大家介绍diamond的概况和快速使用. 一.概况 diamond是淘宝内部使用的一个管理持久配置的系统,它的特点是简单.可靠.易用,目前淘宝内部绝大多数系统的配置,由diamond来进行统一管 ...
- SQLiteDatabase中query、insert、update、delete方法参数说明
1.SQLiteDataBase对象的query()接口: public Cursor query (String table, String[] columns, String selection, ...
- 解决ie7下overflow:hidden失效问题
但父亲元素下面的子节点或者孙子节点有position:relative:或者absolute时,父亲即使设置了overflow:hidden:依然会溢出 解决方法可以: 在父亲元素上加上*positi ...