• 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

    方案二、离线安装

      1.  libnfnetlink-devel-1.0.1-4.el7.x86_64.rpm

    地址:https://access.redhat.com/downloads/

    备注:在redhat官libnl-devel和libnfnetlink-devel下方式

    1. 将下载libnfnetlink-devel-1.0.1-4.el7.x86_64.rpm依/home/software/目
    2. 安装截图如下

          

      二、安装

        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 ~]# cd keepalived-1.2.24

       [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

         }

     }

     

    整体配置结束。以备后用。

  • 相关阅读:
    文本查询程序再探
    第15章 面向对象程序设计
    错误和异常处理 使用模板
    PHP会话管理
    身份验证
    表单提交与接收 文件提交与接收
    PHP文件访问
    PHP面向对象
    PHP速学
    第14章 重载运算与类型转换
  • 原文地址:https://www.cnblogs.com/northeastTycoon/p/10292050.html
Copyright © 2020-2023  润新知