热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Keepalived集群在Linux下的搭建

【概述】:Keepalived是一个免费开源的,用C编写。主要提供loadbalancing(负载均衡)和high-availability(高可用)功能,负载均衡实现需要依赖Li

【概述】: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

     Keepalived 集群在Linux下的搭建

  

有安装,先安装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

:安装时间较长一直等待即可

    完成既然图如下:

   Keepalived 集群在Linux下的搭建

    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、安装过程如下:安装过程中出现错误,加上忽略依赖即可

      Keepalived 集群在Linux下的搭建

    

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. 安装截图如下

 

       Keepalived 集群在Linux下的搭建

  二、安装

    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、启动

       Keepalived 集群在Linux下的搭建

 

 2.7、验证启动状态

 

        Keepalived 集群在Linux下的搭建

 

 

2.8、继续验证

  Keepalived 集群在Linux下的搭建

 

【有三个进程说明启动成功】

  

   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

     }

 }

 

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


推荐阅读
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 通过Anaconda安装tensorflow,并安装运行spyder编译器的完整教程
    本文提供了一个完整的教程,介绍了如何通过Anaconda安装tensorflow,并安装运行spyder编译器。文章详细介绍了安装Anaconda、创建tensorflow环境、安装GPU版本tensorflow、安装和运行Spyder编译器以及安装OpenCV等步骤。该教程适用于Windows 8操作系统,并提供了相关的网址供参考。通过本教程,读者可以轻松地安装和配置tensorflow环境,以及运行spyder编译器进行开发。 ... [详细]
  • PatchODAX8: ... [详细]
  • linux clickhouse安装在指定目录_Centos8服务器指定目录安装配置Nginx
    1.安装前准备(1)检查是否安装过nginx(如果没有安装过可以无视)find-namenginx搜索nginx文件及其文件夹rm-rf【nginx配置地址文件及其文件夹】手动删除 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • 本文介绍了在无法联网的情况下,通过下载rpm包离线安装zip和unzip的方法。详细介绍了如何搜索并下载合适的rpm包,以及如何使用rpm命令进行安装。 ... [详细]
  • PeopleSoft安装镜像版本及导入语言包的方法
    本文介绍了PeopleSoft安装镜像的两个版本,分别是VirtualBox虚拟机版本和NativeOS版本,并详细说明了导入语言包的方法。对于Windows版本,可以通过psdmt.exe登录进入,并使用datamover脚本导入语言包。对于Linux版本,同样可以使用命令行方式执行datamover脚本导入语言包。导入语言包后,可以实现多种语言的登录。参考文献提供了相关链接以供深入了解。 ... [详细]
  • LINUX学习之centos7营救模式
    今天卸载软件的时候,不小心把GNOME的一些组件给卸了,导致桌面无法正常开启,会卡在启动过程中,而我的开机启动模式又是设置为图形界面,所以一开LINUX就卡住了,进入不了命令行界面 ... [详细]
  • 负载均衡_Nginx反向代理动静分离负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第二部分
    nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解 ... [详细]
  • Nginxgaodaima.comnginx属于七层架构,支持的是http协议,本身对tcp协议没有支持。所以不能代理mysql等实现负载均衡。但是lvs这个东西不熟悉,主要是公司 ... [详细]
  • Git 第二章 Git 安装和卸载
    1.Git安装1.1软件下载打开[git官网]https:git-scm.com,下载git对应操作系统的版本。所有东西下载慢的话就可以去找镜像!官网 ... [详细]
author-avatar
往事不可味nd
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有