KeepAlived的配置及使用!

此篇博客主要是和大家共同了解一下keepalived的功能及基础配置,以便于牢固掌握,此篇博客共分为三个部分;

               ⊙ 简述keepalived的主要功能及安装环境;
               ⊙ 介绍keepalied配置文件的参数;
               ⊙ 配置keepalvid的主备模式及双主模式;


简述keepalived的主要功能及安装环境;

keepalived的主要功能:
                      keepalived主要专用于高可用LVS,是VRRP的软件实现方式,它的作用是,在两台或者是多台类linux主机上安装上keepalived以后,配置好多播地址,端口,启动起来,那么,在这个keepalived协议上,就相当于说这两台主机就是两个物理路由器,vrrp只能用于转移ip,不支持转移主机上所允许的服务;同时,keepalived能够为你的linux主机内核生产ipvs规则,帮你配置负载均衡的服务器集群,能够帮助监控后端服务器的健康状态,根据后端服务器的监控状态来进行增删;所以,我们可以来定义keepalived的主要功能有一下两种;
                          1. vrrp协议栈的实现
                          2. ipvs规则生成及各RS的健康状态检测


            keepalived的安装配置环境:
                      对于任何分布式系统及其高可用集群来说都有一些几个前提:
                           1. 各节点时间一定要同步;
                           2. 确保iptables及selinux不会成为阻碍;
                           3. 各节点之间能够通过主机名进行通信(并非必须);
                           4. 各节点之间的root用户可以基于秘钥认证的SSH 服务完成互相通信 (并非必须);
       
            我们可以使用ntpdate来进行时间同步到一台主机上,然后使用iptables -F 清除一下防火墙规则;对于达成让各节点之间能够通过主机名进行通信,这里建议使用更改 /etc/hosts 文件来事先;如图0513-01.jpg所示:
           KeepAlived的配置及使用!
                                                示图:0513-01.jpg
          对于各节点之间的root用户可以基于秘钥认证的ssh服务完成通信,并非必要,在这里就没做说明;

          配置完外部环境,我们就可以来进行keepalived的安装了,对于CentOS6.4以上的版本,已将keepalived收录到base 仓库中,我们可以直接使用 yum install keepalived 进行安装,CentOS6.4 以下的用户则需要到官网去现在程序包,进行编译安装,我们的实验环境是使用的CentOS7.3的主机,所以我们可以直接执行 yum install keepalived 来安装使用;
KeepAlived的配置及使用!
                                                      示图:0513-02.jpg

      安装完成后,我们可以看一下其生成的文件 如图 0513-03.jpg 所示:
     KeepAlived的配置及使用!
                                                  示图:0513-03.jpg

       配置文件在 /etc/keepalived 目录下 ,进程文件为/usr/sbin/keepalived 

介绍keepalived配置文件的参数:
 
             程序环境:
                              主配置文件:/etc/keepalived/keepalived.conf
                              主程序文件:/usr/sbin/keepalived
                              Unit File:keepalived.service
                              Unit File的环境配置文件:/etc/sysconfig/keepalived
      
                  进入到/etc/keepalived 目录中,打开keepalved.conf,我们可以看到,其主要内容可以分为三个                     部分:
                      第一段:  GLOBAL CONFIGURATION: 为全局配置段
                                                     Global definitions:全局定义
                                                     Static route/addresses:  静态路由和相关地址的配置
                          第二段 :  VRRPD CONFIGURATION: vrrp 配置段
                                                      其实此段就是用来配置vrrp协议的守护进程,以便于能够解析vrrpd
                                                     vrrp instance: 一个vrrp instance就相当于一个vrrp虚拟路由器
                                                     vrrp synchronization group(s): vrrp 同步组
                          第三段   :  LVS CONFIGURATION:  配置ipvs的,如果用不到,可先删除

         下面我们对前两段的各个参数进行具体分析:

           第一段:
                     KeepAlived的配置及使用!
                                                示图: 0513-04.jpg

                 notification_email {
                             root@localhost
                  }
                是指出现问题后能够接收邮件的地址 ,这里我们只是实验使用,所以设定为本地邮箱,生产中一定要设定成自己可接收到的可用                   邮箱;
                notification_email_from keepalived@localhost:  邮件的发件人,我们使用的也是本地自定义名称
                smtp_server: 本地邮件地址,我们直接使用的主机地址;
                smtp_connect_timeout 30 :  如果连接不上,等待连接的超时时间;
                router_id : 当前物理路由器的id号,我们前面以在hosts文件中配置了解析,所以直接使用的主机名;
                vrrp_mcast_group4 224.0.100.40 : ipv4的多播地址,此地址建议更改为自己的唯一地址,以防和别的主机冲突 
             第二段:
                   KeepAlived的配置及使用!
                                                             示图:0513-05.jpg
                     state MASTER|BACKUP:  当前节点在此虚拟路由器上的初始状态;只能有一个为MASTER, 余下的都应该为BACKUP
                     interface IFACE_NAME:  绑定为当前虚拟路由器使用的物理接口;
                     virtual_router_id VRID: 当前虚拟路由器的唯一标识,范围是0-255;
                     priority 100: 当前主机在此虚拟路由器中的优先级;范围1-254;
                     advert_int  1: vrrp通告的时间间隔;
                     authentication {
                              auth_type AH|PASS
                              auth_padd <PASSWORD>
                     }     : 定义当前服务的用户密码,密码建议使用小于8位的随机数;
                     virtual_ipaddress {
                        <IPADDR>/<MASK> brd <IPADDR> dev <STRING> scope <SCOPE> label <LABEL>
                                      172.18.0.80/16 dev ens32
                    }    : 将虚拟ip定义在那块网卡上
        
配置keepalived的主备模式及双主模式:

              我们先来配置主备模式:
                                         主备模式比较简单,下载安装完成keepalived后进入/etc/keepalved 目录中,首先将keepalived进行备份,使用命令 cp   keepalived{,.bek} 将keepalived拷贝到此目录下并加以.bek后缀,如图 0513-06 所示;
                        KeepAlived的配置及使用!
                                                                    示图:0513-06.jpg

              然后对keepalved进行编辑如图 0513-07.jpg所示:

                        KeepAlived的配置及使用!
                                                            示图:0513-07.jpg
                   修改其各项参数,然后使用scp命令将其复制到另一个节点上,对另一个节点上的此文件进行修改 如图 0513-08.jpg所示:
KeepAlived的配置及使用!
                                                      示图:0513-08.jpg
        配置完成后,就可以启动服务了,我们使用systemctl start keepalived 命令先启动keepalived,然后在使用 systemctl status keepalived 来查看其状态,可以看到node1为MASTER, node2为BECKUP; 如示图
       0513-09.jpg,0513-10.jpg;  KeepAlived的配置及使用!
                                                                 示图:0513-09.jpg
KeepAlived的配置及使用!
                                                               示图:0513-10.jpg
           在node1上使用命令 ip a l 可以看到 172.18.0.80 ip以添加到设备ens32上;我们把node1 keepalived 服务stop,则172.18.0.80 ip 移动到node2上;主备模式配置过程就算完成了。需要注意的是,两个节点之间默认是开启抢占模式的,需要把主node的优先级调高至备node的;如不适用抢占模式,则在配置文件中添加 nopreempt即可;
               
下面我来看一下双主模式的配置过程:
           高可用中的一个服务,一定是一主一备或者一主多备;我们这里所说的双主,在传统意义上,无非就是 多配几个高可用服务,然后,不同的服务,让他们互为主备;所以,我们所说的双主模型,如果有两节点集群,我们再配一个虚拟路由器,对于第二个虚拟路由器来说,我们的物理节点,右侧的是主,左侧的是备,就能够实现双主模式,甚至有三个节点还可以做成主主主模型;
  
         我们下面来演示下双主模型;
         其实很简单,在主备模式的基础上,我们将node1的 vrrp_instance 段复制一份,然后定义为一个新的组,更爱node1上为beckup,优先级为98,虚拟路由器id更改一下,就可;然后在把node2的vrrp_instance同样复制一份,更改为master,优先级为100,虚拟路由器id及ip做出调整即可;如示图:                                                    KeepAlived的配置及使用!                                                                  示图:0513-11.jpg                                                                                                                                                  
KeepAlived的配置及使用!
                                                                  示图:0513-12.jpg
          
        除此之外,keepalived还可根据实际需要定义多种模式,多主多备等等…

         希望通过此篇博客能够加深大家对keepalied的认识,如果能够给大家带来微小的帮助,更是再好不过了!
      
            本篇博客仅供个人学习使用!

原创文章,作者:Marui,如若转载,请注明出处:http://www.178linux.com/75363

(8)
MaruiMarui
上一篇 2017-05-13
下一篇 2017-05-13

相关推荐

  • 设计模式(三)建造者模式Builder(创建型)

    1. 概述        在软件开发的过程中,当遇到一个“复杂的对象”的创建工作,该对象由一定各个部分的子对象用一定的算法构成,由于需求的变化,复杂对象的各个部分经常面临剧烈的变化,但将它们组合在一起的算法相对稳定。        例子1:买肯德基     &…

    Linux干货 2015-06-25
  • N25-第11周博客作业

    1、详细描述一次加密通讯的过程,结合图示最佳。 第一步:他们需要实现协商好对称加密算法,单向加密算法,公钥加密算法,交换公钥等。 第二步:B用户想要将数据传给A,首先需要使用单向加密算法取出数据的特征码,并用自己的私钥对这段特征码进行加密(数字签名),B用户生成临时对称密钥,并用对称密钥加密整段数据,B用户使用 A用户的公钥加密一次性对称密钥,附加在整段数据…

    Linux干货 2017-05-21
  • DNS从入门到管理(一)

    DNS从入门到管理(一) DNS概念 DNS三步法 反向解析 主从DNS服务器的实现 子域授权 智能DNS 压力测试与DNS排错 DNS概述 DNS(Domain NameSystem,域名系统),域名和IP地址相互映射的一个分布式数据库,通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析。而DNS的主要作用,就是域名解析,将主机名解析成IP地址。…

    Linux干货 2016-10-06
  • N25 – 第一周博客作业

      1. 描述计算机的组成及其功能2. 按系列罗列Linux的发行版,并描述不同发行版之间的联系和区别3. 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述4. 说明Linux系统上命令的使用格式;详细介绍ifconfig,echo,tty,startx,export,pwd,history,sh…

    Linux干货 2016-11-28
  • Linux basics–part1

    一、计算机的组成及其功能 依据冯·诺依曼体系结构,计算机可分为五大部分,CPU的运算器和控制器、内存、输入、输出。 CPU运算器:计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU)。运算器由算术逻辑单元(ALU)、累加器、状态寄存器、通用寄存…

    Linux干货 2017-07-10
  • 8.1-用户和组(作业篇)

     1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中。 [root@localhost ~]# tr a-z A-Z </etc/issue > /tmp/issue.out [root@localhost ~]#&n…

    Linux干货 2016-08-04

评论列表(2条)

  • All well
    All well 2017-05-14 14:46

    很nice,让我从迷糊逐渐走向清晰,赞

    • Marui
      Marui 2017-05-14 20:13

      @All well哈哈 非常荣幸!