我是靠谱客的博主 留胡子玫瑰,最近开发中收集的这篇文章主要介绍Keepalived虚拟机搭建(适用于真实服务器)软件介绍个人理解安装准备安装步骤(主备服务器都需要执行以下步骤)主备服务器的配置完成测试,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

软件介绍


  1. 什么是负载均衡高可用

    nginx作为负载均衡器,所有请求都到了nginx,可见nginx处于非常重点的位置,如果nginx服务器宕机后端web服务将无法提供服务,影响严重。

    为了屏蔽负载均衡服务器的宕机,需要建立一个备份机。主服务器和备份机上都运行高可用(High Availability)监控程序,通过传送诸如“I am alive”这样的信息来监控对方的运行状况。当备份机不能在一定的时间内收到这样的信息时,它就接管主服务器的服务IP并继续提供负载均衡服务;当备份管理器又从主管理器收到“I am alive”这样的信息时,它就释放服务IP地址,这样的主服务器就开始再次提供负载均衡服务。

  2. 什么是keepalived

    keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。

    Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。

  3. keepalived工作原理

    keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。

    虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(VIP = Virtual IP Address,虚拟IP地址,该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到VRRP包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。

    keepalived主要有三个模块,分别是core、check和VRRP。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。VRRP模块是来实现VRRP协议的。

个人理解


  1. 注意

    keepalived需要一个虚拟IP(vip),这个虚拟ip是需要服务器提供商支持的,在安装前要确保服务器是支持该项服务的。

  2. 原理

    keepalived是采用vrrp协议来实现的,其实最重要的一点就是虚拟IP的应用。如何理解虚拟IP呢?下面通过举个例子来进行说明:

    我们现在有两台服务器:192.168.1.5和192.168.1.6,两台服务器部署了一样的服务对外提供服务。
    如果主服务宕机,需要手动切换到192.168.1.6的备用服务上才能正常。这样做显然是不智能的。不符合迈动互联的智慧企业领导者的形象。

    而keepalived就是为了解决这个问题。我们现在有一个虚拟IP:192.168.1.7。keepalived会把这个IP绑定到192.168.1.5上。外网直接访问192.168.1.7即可访问到192.168.1.5。当主服务宕机时,keepalived会把这个虚拟IP绑定到备服务器192.168.1.6上。这一切都是keepalived自动完成的。其实可以这样理解,keepalived是两台服务器的代理,哪个服务gameover,就把它踢出去,让其他的继续提供相同的服务。

安装准备


  1. 安装环境

    yum -y install kernel-devel*
    yum -y install openssl-*
    yum -y install popt-devel
    yum -y install lrzsz
    yum -y install openssh-clients
    yum -y install libnl libnl-devel popt
    
  2. 上传软件

    将keepalived-1.2.15.tar.gz上传到服务器/root/下。

安装步骤(主备服务器都需要执行以下步骤)


  1. 解压并进入解压目录

    cd /root
    tar -zxvf keepalived-1.2.15.tar.gz
    cd keepalived-1.2.15
    
  2. 执行配置命令

    安装在/usr/local
    
    ./configure --prefix=/usr/local/keepalived
    
  3. 编译

    make
    
  4. 安装

    make install
    
  5. 拷贝执行文件

    cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
    
  6. 将init.d文件拷贝到etc下,加入开机启动项

    cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived
    
  7. 将keepalived文件拷贝到etc下,加入网卡配置

    cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
    
  8. 创建keepalived文件夹

    mkdir -p /etc/keepalived
    
  9. 将keepalived配置文件拷贝到etc下

    cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
    
  10. 添加可执行权限

    chmod +x /etc/init.d/keepalived
    
  11. 加入开机启动项

    chkconfig --add keepalived   添加时必须保证/etc/init.d/keepalived存在
    
    chkconfig --list   添加完可查询系统服务是否存在
    
  12. 配置日志文件

    1.将keepalived日志输出到local0:
        vi /etc/sysconfig/keepalived
        KEEPALIVED_OPTIONS="-D -d -S 0"
    
    2.在/etc/rsyslog.conf里添加:
        local0.*  /var/log/keepalived.log
    
  13. 启动keepalived和rsyslog日志服务

    keepalived
    
        启动:service keepalived start
        停止:service keepalived stop
        重启:service keepalived restart
    
    rsyslog
    
        service rsyslog start
        service rsyslog restart
    
  14. 打开防火墙的通讯地址

    iptables -A INPUT -d 224.0.0.18 -j ACCEPT
    /etc/rc.d/init.d/iptables save
    

    到此,就算安装完成了,不过还需要配置一下:虚拟IP,和主备服务器。

主备服务器的配置

主服务:192.168.128.128 备服务:192.168.128.129 虚拟IP:192.168.128.130

  1. 主服务器配置

    修改主nginx下/etc/keepalived/keepalived.conf文件

    ! Configuration File for keepalived
    
    #全局配置
    global_defs {
    notification_email {  #指定keepalived在发生切换时需要发送email到的对象,一行一个
        XXX@XXX.com
    }
    notification_email_from XXX@XXX.com  #指定发件人
    #smtp_server XXX.smtp.com                             #指定smtp服务器地址
    #smtp_connect_timeout 30                               #指定smtp连接超时时间
    router_id LVS_DEVEL                                    #运行keepalived机器的一个标识
    }
    
    vrrp_instance VI_1 {
        state MASTER           #标示状态为MASTER 备份机为BACKUP
        interface eth0         #设置实例绑定的网卡
        virtual_router_id 51   #同一实例下virtual_router_id必须相同
        priority 100           #MASTER权重要高于BACKUP 比如BACKUP为99
        advert_int 1           #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒
        authentication {       #设置认证
            auth_type PASS     #主从服务器验证方式
            auth_pass 8888
        }
        virtual_ipaddress {    #设置vip
            192.168.128.130       #可以多个虚拟IP,换行即可
        }
    }
    
  2. 备服务器配置

    修改备nginx下/etc/keepalived/keepalived.conf文件

    配置备nginx时需要注意:需要修改state为BACKUP , priority比MASTER低,virtual_router_id和master的值一致

    ! Configuration File for keepalived
    
    #全局配置
    global_defs {
        notification_email {  #指定keepalived在发生切换时需要发送email到的对象,一行一个
            XXX@XXX.com
        }
        notification_email_from XXX@XXX.com                 #指定发件人
        #smtp_server XXX.smtp.com                               #指定smtp服务器地址
        #smtp_connect_timeout 30                               #指定smtp连接超时时间
        router_id LVS_DEVEL                                    #运行keepalived机器的一个标识
    }
    
    vrrp_instance VI_1 {
        state BACKUP           #标示状态为MASTER 备份机为BACKUP
        interface eth0         #设置实例绑定的网卡
        virtual_router_id 51   #同一实例下virtual_router_id必须相同
        priority 99            #MASTER权重要高于BACKUP 比如BACKUP为99
        advert_int 1           #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒
        authentication {       #设置认证
            auth_type PASS     #主从服务器验证方式
            auth_pass 8888
     }
        virtual_ipaddress {    #设置vip
        192.168.128.130       #可以多个虚拟IP,换行即可
    }
    }
    

至此,安装完成,开始测试!

完成测试


  1. 主备服务器都启动keepalived和nginx

    service keepalived start
    ./nginx
    
  2. 初始状态

    查看主服务器上的eth0状态,可以看到虚拟IP已经绑定

    /sbin/ip add show eth0
    

    查看备服务器上的eth0状态

    /sbin/ip add show eth0
    

3.主服务器宕机(通过服务器关机来模拟)192.168.128.128

>注意:主nginx恢复时一定要将nginx也启动(通常nginx启动要加在开机启动中),否则即使vip漂移到主nginx也无法访问。

这时候查看备服务器192.168.128.129的eth0,如下图,就会发现虚拟ip自动切换到了备服务器,访问正常。

到此,就一切搞定啦!

最后

以上就是留胡子玫瑰为你收集整理的Keepalived虚拟机搭建(适用于真实服务器)软件介绍个人理解安装准备安装步骤(主备服务器都需要执行以下步骤)主备服务器的配置完成测试的全部内容,希望文章能够帮你解决Keepalived虚拟机搭建(适用于真实服务器)软件介绍个人理解安装准备安装步骤(主备服务器都需要执行以下步骤)主备服务器的配置完成测试所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部