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. 倒计时和div幻灯片

    倒计时从10秒开始,10秒之后,同意按钮可以使用. 设置一个区域背景,三张照片滚动显示,左右按钮可以下一张上一张,如果点击了左右按钮就不再自动滚动.

  2. Android ViewPager+HorizontalScrollView实现标题栏滑动(腾讯新闻)

    1) ViewPager提供了左右滑动切换页面的方法,但是它所提供的标题只是无语,估计没有真正的项目会照搬拿过来;并且它只能一页一页滑,我想直接查看最后一页要滑半天; 2) 看了腾讯新闻客户端感觉体验 ...

  3. Django基础之创建程序

    环境配置 安装python35 安装django:pip install django==1.9.5 创建django程序 1.命令行创建django程序 A django-admin startpr ...

  4. Linux系统资源监控--linux命令、nmon和spotlight

    前言: 系统资源监控一般监控系统的CPU,内存,磁盘和网络.系统分为windows和Linux.本篇主要记录Linux. Linux系统资源监控常用命令及工具 一.常用命令:top.free.iost ...

  5. Android开发笔记(2)——ViewGroup

    笔记链接:http://www.cnblogs.com/igoslly/p/6794344.html 一.ViewGroup 1.ViewGroup的意义——整合Layout多个不同View,并对其进 ...

  6. setTimeout 0

    setTimeout 0 就是把事件放到下一次事件循环时调用,至少要一个时钟之后: ); console.log('this should before setTimeout 0'); var i=0 ...

  7. ubuntu系统nginx+Redis+PHP

    一.安装ngnix apt-get update sudo apt-get install nginx /etc/init.d/nginx start 二.安装php sudo apt-get ins ...

  8. Jmeter的面板介绍

    一.jmeter面板介绍,这里是5.1.1版本 1.jmeter面板大致分为菜单区,图标区,目录树以及详细配置区域. 2.大多数人用着英文的面板不太舒服,可以在options里切换jmeter的语言 ...

  9. Python中使用SQLite

    参考原文 廖雪峰Python教程 使用SQLite SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是用C写的,而且体积很小,所以经常被集成到各种应用程序中,甚至在IOS和 ...

  10. 我已经迷失在事件环(event-loop)中了【Nodejs篇】

    我第一次看到他事件环(event-loop)的时候,我是一脸懵,这是什么鬼,是什么循环吗,为什么event还要loop,不是都是一次性的吗? 浏览器中和nodejs环境中的事件环是有一些区别的,这里我 ...