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的更多相关文章

  1. Linux CentOs集群LVS+Keepalived负载均衡的实现

    准备工作 环境:Win10下Centos6.4虚拟机. 负载均衡:两台(一主一备)  LVS + Keepalived. HTTP服务器:3台. 给每台服务器配置IP 1.VIP(virtual ip ...

  2. LVS集群和Keepalived高可用实战

    第四十章LVS集群和Keepalived高可用实战 一.ARP协议 1.概念 地址解析协议,即ARP(AddressResolutionProtocol),是根据IP地址获取物理MAC地址的一个TCP ...

  3. Linux企业集群用商用硬件和免费软件构建高可用集群PDF

    Linux企业集群:用商用硬件和免费软件构建高可用集群 目录: 译者序致谢前言绪论第一部分 集群资源 第1章 启动服务 第2章 处理数据包 第3章 编译内容 第二部分 高可用性 第4章 使用rsync ...

  4. Linux服务器集群系统(一)--转

    引用地址:http://www.linuxvirtualserver.org/zh/lvs1.html LVS项目介绍 章文嵩 (wensong@linux-vs.org)2002 年 3 月 本文介 ...

  5. Linux服务器集群系统(一)(转)

    add by zhj:虽然是2002年的文章,但读来还是收益良多.在 章文嵩:谈LVS及阿里开源背后的精彩故事 中LVS发起人及主要贡献者谈了LVS的开发过程及阿里开源的一些故事 原文:http:// ...

  6. 【原创】Linux服务器集群通过SSH无密码登录

    SSH 无密码授权访问slave集群机器 1. 安装SSH,所有集群机器,都要安装SSH环境介绍:  Master : CNT06BIG01 192.168.3.61 SLAVE 1: CNT06BI ...

  7. Linux服务器集群系统(LVS)

    from:http://www.linuxvirtualserver.org/zh/lvs1.html#5 本文介绍了Linux服务器集群系统--LVS(Linux Virtual Server)项目 ...

  8. 高可用集群之keepalived+lvs实战-技术流ken

    keepalived简介 lvs在我之前的博客<高负载集群实战之lvs负载均衡-技术流ken>中已经进行了详细的介绍和应用,在这里就不再赘述.这篇博文将把lvs与keepalived相结合 ...

  9. 浅析Linux服务器集群系统技术

    浅析Linux服务器集群系统技术 目录 前言 常用的服务器集群 集群系统的优势 LVS集群的通用体系结构 为什么使用层次的体系结构 为什么是共享存储 可伸缩Web服务 前言 总结两篇技术文章,努力学习 ...

  10. Gravitational Teleport 开源的通过ssh && kubernetes api 管理linux 服务器集群的网关

    Gravitational Teleport 是一个开源的通过ssh && kubernetes api 管理linux 服务器集群的网关 支持以下功能: 基于证书的身份认证 ssh ...

随机推荐

  1. javascript 信息的发布与删除

    现在很多类似以微博发布动态的效果,下面为一个用 JavaScript写的小小的类似微博发布信息的案例 <!DOCTYPE html> <html lang="en" ...

  2. Spring: (一) -- 春雨润物之 核心IOC

    作为一个Java人,想必都或多或少的了解过Spring.对于其优势也能道个一二,诸如方便解耦.支持AOP编程.支持声明式事务.方便测试等等.Spring也不仅仅局限于服务器端开发,它可以做非常多的事情 ...

  3. [ HAOI 2008 ] 圆上的整点

    \(\\\) Description 给出一个整数 \(r\) ,求圆 \(x^2+y^2=r^2\) 上的整点数. \(r\le 2\times 10^9\) \(\\\) Solution 神题. ...

  4. Spark学习之RDD编程(2)

    Spark学习之RDD编程(2) 1. Spark中的RDD是一个不可变的分布式对象集合. 2. 在Spark中数据的操作不外乎创建RDD.转化已有的RDD以及调用RDD操作进行求值. 3. 创建RD ...

  5. SQL SERVER 执行计划各字段注释

    SET SHOWPLAN_ALL使 Microsoft® SQL Server™ 不执行 Transact-SQL 语句.相反,SQL Server 返回有关语句执行方式和语句预计所需资源的详细信息. ...

  6. Mac上简单常用Terminal命令

    方案1 SSH是一个非常伟大的工具,如果你要在互联网上远程连接到服务器,那么SSH无疑是最佳的候选.SSH是加密的,OpenSSH加密所有通信(包括密码),有效消除了窃听,连接劫持和其它攻击.本文将为 ...

  7. CAD使用GetxDataDouble读数据(网页版)

    主要用到函数说明: MxDrawEntity::GetxDataDouble2 读取一个Double扩展数据,详细说明如下: 参数 说明 [in] LONG lItem 该值所在位置 [out, re ...

  8. 完善本地搭建的jekyll环境(Windows)

    序:上篇文章虽然在本地搭建好了jekyll环境,但是却存在一些问题,如通过jekyll new创建的站点无法正常跑起来.中文编码有问题.这说明之前搭建的环境有不周之处. PS:因之前自己搭建环境时并未 ...

  9. 动态生成java、动态编译、动态加载

    我曾经见过一个“规则引擎”,是在应用系统web界面直接编写java代码,然后保存后,规则即生效,我一直很是奇怪,这是如何实现的呢?实际这就好像jsp,被中间件动态的编译成java文件,有被动态的编译成 ...

  10. C++ string使用

    在c语言里,我们使用一个字符串时,是通过字符数组或者字符指针的方式来进行使用,在C++里,标准模板库已经给我们提供了string类型(string是以类的方式提供给我们使用). 定义和初始化strin ...