• centos7下keepalived1.3.4安装与使用


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

    一、下载keepalived

    http://www.keepalived.org/

    如:keepalived-1.3.4.tar.gz

    二、安装keepalived

    > tar xf keepalived-1.3.4.tar.gz
    > cd keepalived-1.3.4
    > ./configure --prefix=/data/keepalived
    > make && make install

    复制/sbin/keepalived到/usr/sbin下

    > cp /data/keepalived/sbin/keepalived /usr/sbin/

    keepalived默认会读取/etc/keepalived/keepalived.conf配置文件

    > mkdir /etc/keepalived
    > cp /data/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf

    复制sysconfig文件到/etc/sysconfig下

    > cp /data/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

    复制启动脚本到/etc/init.d下

    > cd /data/keepalived-1.3.4
    > cp ./keepalived/etc/init.d/keepalived /etc/init.d/
    > chmod 755 /etc/init.d/keepalived
    

      

    三、实验环境说明

    两台虚拟机,IP分别为192.168.1.222和192.168.1.233,虚拟机与真实主机是桥接模式上网并互通。

    分别装上了nginx和haproxy,nginx创建了两个虚拟主机,端口号为8080和8082,配置如下:

    server {
        listen       8080;
        server_name  localhost;
    
        location / {
            root   /data/www/site1;
            index  index.html index.htm;
        }
    }
    server {
        listen       8082;
        server_name  localhost;
    
        location / {
            root   /data/www/site2;
            index  index.html index.htm;
        }
    }

    haproxy绑定80端口,反向代理这四台主机,配置如下:

    global
        log 127.0.0.1 local3 info
        chroot /data/haproxy
        user haproxy
        group haproxy
        daemon
        stats socket /data/haproxy/haproxy.sock mode 600 level admin
        stats timeout 2m
    
    defaults
        log global
        mode http
        option httplog
        option dontlognull
        timeout connect 5000
        timeout client 50000
        timeout server 50000
    
    frontend http_front
        bind *:80
        stats uri /haproxy?stats
        #默认使用的后端
        default_backend http_back
    
    backend http_back
        balance roundrobin
        option httpchk GET /index.html
        option forwardfor header X-Forwarded-For
        server node1 192.168.1.222:8080 check inter 2000 rise 3 fall 3 weight 30
        server node2 192.168.1.222:8082 check inter 2000 rise 3 fall 3 weight 30
        server node3 192.168.1.233:8080 check inter 2000 rise 3 fall 3 weight 30
        server node4 192.168.1.233:8082 check inter 2000 rise 3 fall 3 weight 30
    

      

    三、keepalived的配置

    两台虚拟主机上分别装上keepalived
    keepalived的配置文件/etc/keepalived/keepalived.conf

    #全局配置
    global_defs {
       #接收通知的email
       notification_email {
           lackone@126.com
       }
       #发送通知的email
       notification_email_from haproxy_01@126.com
       #smtp服务器地址
       smtp_server 127.0.0.1
       smtp_connect_timeout 30
       #运行的标识
       router_id haproxy_01
    }
    #vrrp的实例配置
    #haproxy_01名称可自定义
    vrrp_instance haproxy_01 {
        #主节点
        state MASTER
        #实例绑定的网卡
        #注意centos7下第一块网卡不是eth0,请自行查看,不然keepalived无法启动成功
        interface eno16777736
        #虚拟路由ID,唯一
        virtual_router_id 51
        #权重
        priority 150
        #检查的时间间隔
        advert_int 2
        #验证
        authentication {
            auth_type PASS
            auth_pass haproxy_01
        }
        #设置虚拟IP地址
        virtual_ipaddress {
            192.168.1.10
            192.168.1.11
        }
    }

    另一台主机上的配置只需修改

    state BACKUP
    priority 100

    配置好后,启动keepalived服务

    > service keepalived start

    查看网络接口列表

    > ip addr list

    tcpdump查看,这里的eno16777736是我的网卡名

    > tcpdump -i eno16777736 -n 'host 224.0.0.18'
    19:13:30.260858 IP 192.168.1.222 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 150, authtype simple, intvl 2s, length 24
    19:13:32.261878 IP 192.168.1.222 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 150, authtype simple, intvl 2s, length 24
    19:13:34.263286 IP 192.168.1.222 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 150, authtype simple, intvl 2s, length 24

    然后我们手动把MASTER的keepalived关掉

    > service keepalived stop

    然后再用tcpdump查看

    > tcpdump -i eno16777736 -n 'host 224.0.0.18'
    19:16:05.120377 IP 192.168.1.233 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 2s, length 24
    19:16:07.121645 IP 192.168.1.233 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 2s, length 24
    19:16:09.122353 IP 192.168.1.233 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 2s, length 24

    很明显看到已从222切换到了233了。

    然后我们通过浏览器访问192.168.1.10或192.168.1.11可以看到后台服务切换正常,实现了222和233两台主机间服务的高可用。

  • 相关阅读:
    mate9进水黑屏维修
    无重复最长字串
    布偶猫
    移除失效的打开方式
    NAO机器人实验日常
    226. 翻转二叉树
    20.有效括号
    GraphX中的图构造器
    Spark读取Hive数据的方式
    GraphX中顶点和边的RDD操作
  • 原文地址:https://www.cnblogs.com/jkko123/p/6442381.html
Copyright © 2020-2023  润新知