linux高级技巧:集群之keepalived
1.keepalived简单介绍
Keepalived是一个基于VRRP协议来实现的WEB服务高可用方案。能够利用其来避免单点故障。使用多台节点安装keepalived。
其它的节点用来提供真实的服务。相同的,他们对外表现一个虚拟的IP。主server宕机的时候。备份server就会接管虚拟IP,继续提供服务,从而保证了高可用性。
keepalived的原理图例如以下所看到的:

最左边是客户机。它訪问我们的虚拟IP。然后我们有master(主控制节点)和backup(备用控制节点)。
最右边的就是我们提供服务的真机了。
2.搭建keepalived服务
我们使用四个节点来做这个实验,两个充当控制节点。另外两个提供服务。
然后用真机的浏览器訪问虚拟IP。
注意事项:
1.全部节点要做好解析。
2.时间同步
3.yum源设置好(除了主要的源。高可用等也要加入)
如图是我们的操作控制台:

keepalived的安装包为:
keepalived-1.2.13.tar.gz
两个控制节点分别解压和编译、安装keepalived:

在编译keepalived之前我们须要安装一些相关的包:


编译keepalived源代码包:

这个是我们的 编译结果:

然后我们进行安装:

上述的步骤在两个控制节点上都要进行,最后在配置文件里我们再设定主副节点。
建立软链接,把keepalived的配置文件和服务启动文件链接到指定位置:

设置配置文件:

我们设置了邮件的发送地址和ip。MASTER制定为主控制节点,虚拟id两个节点必须同样。
delay_loop 指定6秒检測服务状态。

设置虚拟ip。这是我们客户机訪问的IP。

这个是剩余的配置文件内容,我们设置连接方式为直连方式DR,负载策略为轮叫方式rr。协议威TCP。然后我们设置了两个提供服务节点的IP和port。分别为192.168.2.108和192.168.2.109的80port。也就是网页訪问服务。

然后我们设置备机的配置文件。模式设置为BACKUP,权重改动为50。这样才干够优先让主控制节点接管。
然后我们打开keepalived服务。并查看日志。发现已经识别了192.168.2.110虚拟IP:
在两个提供真机的服务节点上安装arptable_jf软件:

设置arptables的策略:


然后我们要在两个控制节点上安装ipvsadm软件来监控服务的状态:


假设无法安装的话。查看yum源,设置成例如以下所看到的:

在两个提供服务的真机上安装httpd。设置完默认公布内容后启动服务:

然后我们在主控制节点上查看当前的监控信息:

在真机的浏览器上查看192.168.2.110的信息。
由于是轮叫策略。所以会轮换显示192.168.2.108和192.168.2.109的默认公布内容:

3小结:
这样我们就搭建了keepalived下的高可用集群。
这个的复杂程度要低于heartbeat。在生产环境中也是很常见的。
linux高级技巧:集群之keepalived的更多相关文章
- Linux CentOs集群LVS+Keepalived负载均衡的实现
准备工作 环境:Win10下Centos6.4虚拟机. 负载均衡:两台(一主一备) LVS + Keepalived. HTTP服务器:3台. 给每台服务器配置IP 1.VIP(virtual ip ...
- LVS集群和Keepalived高可用实战
第四十章LVS集群和Keepalived高可用实战 一.ARP协议 1.概念 地址解析协议,即ARP(AddressResolutionProtocol),是根据IP地址获取物理MAC地址的一个TCP ...
- Linux企业集群用商用硬件和免费软件构建高可用集群PDF
Linux企业集群:用商用硬件和免费软件构建高可用集群 目录: 译者序致谢前言绪论第一部分 集群资源 第1章 启动服务 第2章 处理数据包 第3章 编译内容 第二部分 高可用性 第4章 使用rsync ...
- Linux服务器集群系统(一)--转
引用地址:http://www.linuxvirtualserver.org/zh/lvs1.html LVS项目介绍 章文嵩 (wensong@linux-vs.org)2002 年 3 月 本文介 ...
- Linux服务器集群系统(一)(转)
add by zhj:虽然是2002年的文章,但读来还是收益良多.在 章文嵩:谈LVS及阿里开源背后的精彩故事 中LVS发起人及主要贡献者谈了LVS的开发过程及阿里开源的一些故事 原文:http:// ...
- 【原创】Linux服务器集群通过SSH无密码登录
SSH 无密码授权访问slave集群机器 1. 安装SSH,所有集群机器,都要安装SSH环境介绍: Master : CNT06BIG01 192.168.3.61 SLAVE 1: CNT06BI ...
- Linux服务器集群系统(LVS)
from:http://www.linuxvirtualserver.org/zh/lvs1.html#5 本文介绍了Linux服务器集群系统--LVS(Linux Virtual Server)项目 ...
- 高可用集群之keepalived+lvs实战-技术流ken
keepalived简介 lvs在我之前的博客<高负载集群实战之lvs负载均衡-技术流ken>中已经进行了详细的介绍和应用,在这里就不再赘述.这篇博文将把lvs与keepalived相结合 ...
- 浅析Linux服务器集群系统技术
浅析Linux服务器集群系统技术 目录 前言 常用的服务器集群 集群系统的优势 LVS集群的通用体系结构 为什么使用层次的体系结构 为什么是共享存储 可伸缩Web服务 前言 总结两篇技术文章,努力学习 ...
- Gravitational Teleport 开源的通过ssh && kubernetes api 管理linux 服务器集群的网关
Gravitational Teleport 是一个开源的通过ssh && kubernetes api 管理linux 服务器集群的网关 支持以下功能: 基于证书的身份认证 ssh ...
随机推荐
- javascript 信息的发布与删除
现在很多类似以微博发布动态的效果,下面为一个用 JavaScript写的小小的类似微博发布信息的案例 <!DOCTYPE html> <html lang="en" ...
- Spring: (一) -- 春雨润物之 核心IOC
作为一个Java人,想必都或多或少的了解过Spring.对于其优势也能道个一二,诸如方便解耦.支持AOP编程.支持声明式事务.方便测试等等.Spring也不仅仅局限于服务器端开发,它可以做非常多的事情 ...
- [ HAOI 2008 ] 圆上的整点
\(\\\) Description 给出一个整数 \(r\) ,求圆 \(x^2+y^2=r^2\) 上的整点数. \(r\le 2\times 10^9\) \(\\\) Solution 神题. ...
- Spark学习之RDD编程(2)
Spark学习之RDD编程(2) 1. Spark中的RDD是一个不可变的分布式对象集合. 2. 在Spark中数据的操作不外乎创建RDD.转化已有的RDD以及调用RDD操作进行求值. 3. 创建RD ...
- SQL SERVER 执行计划各字段注释
SET SHOWPLAN_ALL使 Microsoft® SQL Server™ 不执行 Transact-SQL 语句.相反,SQL Server 返回有关语句执行方式和语句预计所需资源的详细信息. ...
- Mac上简单常用Terminal命令
方案1 SSH是一个非常伟大的工具,如果你要在互联网上远程连接到服务器,那么SSH无疑是最佳的候选.SSH是加密的,OpenSSH加密所有通信(包括密码),有效消除了窃听,连接劫持和其它攻击.本文将为 ...
- CAD使用GetxDataDouble读数据(网页版)
主要用到函数说明: MxDrawEntity::GetxDataDouble2 读取一个Double扩展数据,详细说明如下: 参数 说明 [in] LONG lItem 该值所在位置 [out, re ...
- 完善本地搭建的jekyll环境(Windows)
序:上篇文章虽然在本地搭建好了jekyll环境,但是却存在一些问题,如通过jekyll new创建的站点无法正常跑起来.中文编码有问题.这说明之前搭建的环境有不周之处. PS:因之前自己搭建环境时并未 ...
- 动态生成java、动态编译、动态加载
我曾经见过一个“规则引擎”,是在应用系统web界面直接编写java代码,然后保存后,规则即生效,我一直很是奇怪,这是如何实现的呢?实际这就好像jsp,被中间件动态的编译成java文件,有被动态的编译成 ...
- C++ string使用
在c语言里,我们使用一个字符串时,是通过字符数组或者字符指针的方式来进行使用,在C++里,标准模板库已经给我们提供了string类型(string是以类的方式提供给我们使用). 定义和初始化strin ...