zoukankan      html  css  js  c++  java
  • Ubuntu安装keepalived

    Ubuntu安装keepalived

    一、Keepalived是什么鬼东西:

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

    二、Keepalived 这个鬼东西的工作原理:

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

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

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

    以下是keepalived官网上提供的架构图

     

    三、环境准备和keepalived的安装

    1、通过ip addr list 或者ip addr show 或者是ip a 等命令查询本机ip

     

    2、修改网络配置

      修改/etc/sysctl.conf配置文件

     

    首先找到net.ipv4.ip_forward=1这个配置,并其注释去除,然后在下面插入net.ipv4.ip_nonlocal_bind=1这句配置

     

    保存并退出;

    查看是否配置成功

     

    如果输出不是1而是0就说明可能还没生效,执行sudo sysctl –p使其生效

     

    这样网络配置就配置好了

    3、安装keepalived和相关包

    先安装相关包

     

    再安装keepalived

     

    输入y继续

     

    安装成功

    4、配置keepalived.conf

    编辑keepalived.conf文件

     

    在keepalived.conf中编辑如下内容

    global_defs {
    
        notification_email {
    
            1412262314@qq.com
    
        }
    
        notification_email_from guoxm@puzek.com
    
        smtp_server smtp.mxhichine.com
    
        smtp_connect_timeout 30
    
        router_id server71
    
    }
    
    vrrp_script chk_health {
    
        script "/opt/keepalived/check_health.sh"
    
        interval 1
    
        weight 1
    
    }
    
    vrrp_instance VI_1 {
    
        state BACKUP
    
        interface ens33
    
        virtual_router_id 51
    
        priority 100
    
        advert_int 1
    
        authentication {
    
            auth_type PASS
    
            auth_pass puzek
    
        }
    
        virtual_ipaddress {
    
            192.168.100.100
    
        }
    
        track_script {
    
            chk_health
    
        }
    
        notify_master "/opt/keepalived/notify.sh master"
    
        notify_backup "/opt/keepalived/notify.sh backup"
    
        notify_fault "/opt/keepalived/notify.sh fault"
    
    }

    这里可以创建一个keepalived_script用户(可以不用),用于执行keepalived的脚本

    sudo useradd keepalived_script

    然后创建密码

    sudo passwd keepalived_script

    输入密码和确认密码就创建完成了

    然后创建keepalived需要使用shell脚本后,将脚本的用户和用户组都设置成keepalived_script

    sudo chown -R keepalived_script:keepalived_script notify.shsudo

    然后就可以启动keepalived了

    启动keepalived(停止使用stop)

     

    查看是否启动成功

     

    必须要有三个keepalived的进程,这三个分别是keepalived父进程,vrrp子进程、check子进程;两个子进程都被系统watchlog看管,两个子进程各自负责复杂自己的事;

    然后查看虚拟ip是否起来了

     

    如果有其他问题可以查看keepalived的日志(keepalived的日志默认打在系统日志中,所以可以使用grep 过滤一下)

    cat /var/log/syslog | grep Keepalived

  • 相关阅读:
    Overloaded的方法是否可以改变返回值的类型
    parseXXX的用法
    java的类型转换问题。int a = 123456;short b = (short)a;System.out.println(b);为什么结果是-7616?
    UVA 10405 Longest Common Subsequence(简单DP)
    POJ 1001 Exponentiation(大数处理)
    POJ 2318 TOYS(计算几何)(二分)
    POJ 1265 Area (计算几何)(Pick定理)
    POJ 3371 Flesch Reading Ease (模拟题)
    POJ 3687 Labeling Balls(拓扑序列)
    POJ 1094 Sorting It All Out(拓扑序列)
  • 原文地址:https://www.cnblogs.com/guoximing/p/9390269.html
Copyright © 2011-2022 走看看