LVS-DR+Keepalived+httpd(双主)

Posted allin2018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LVS-DR+Keepalived+httpd(双主)相关的知识,希望对你有一定的参考价值。

LVS-DR + Keepalived双主配置

  • 网络拓扑图如下
    技术分享图片

  • 准备RealServer(RS服务器)配置
    这里RS上准备http服务作为应用验证,在实际生产中两台RS服务器应该具有相同资源实现冗余。这里为了测试验证,故意将被访问资源设置成不同,以方便验证。

  1. 两台RS服务器上执行yum install httpd -y安装httpd应用程序(两台都要执行,前提是系统已配置yum仓库)
  2. 准备网络环境,要求LVS和RS服务器必须在同一个物理网络。
  3. RS服务器通过内核屏蔽arp报文广播及响应,为此编辑以下脚本实现(这是为了以后使用方便,如果是一次性验证直接敲命令也可以)。
    技术分享图片

  4. 两台RS服务器都运行以上脚本后检查状态如下:
    检查IP设置
    技术分享图片
    检查内核参数
    技术分享图片

  5. 验证RS http服务可用
    技术分享图片
    技术分享图片
    从客户端直接访问RS http服务资源,以确保RS 正常提供服务。
    技术分享图片

  • 准备Director调度服务器(LVS-DR+keepalived)

  1. 安装软件
    技术分享图片
  2. 修改Director1的keepalived配置文件
    ! Configuration File for keepalived
    global_defs {
    notification_email {
    [email protected]
    }
    notification_email_from [email protected]
    smtp_server 127.0.0.1
    smtp_connect_timeout 30
    router_id LVS_DEVEL
    vrrp_mcast_group4 224.0.4.223
    }
    vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 163
    priority 100
    advert_int 1
    authentication {
    auth_type PASS
    auth_pass 11112222
    }
    virtual_ipaddress {
    192.168.30.100
    }
    }
    virtual_server 192.168.30.100 80 {
    delay_loop 2
    lb_algo rr
    lb_kind DR
    protocol TCP
    real_server 192.168.30.23 80 {
    weight 1
    HTTP_GET {
    url {
    path /
    status_code 200
    }
    connect_timeout 1
    nb_get_retry 3
    delay_before_retry 1
    }
    }
    real_server 192.168.30.24 80 {
    weight 1
    HTTP_GET {
    url {
    path /
    status_code 200
    }
    connect_timeout 1
    nb_get_retry 3
    delay_before_retry 1
    }
    }
    }
    vrrp_instance VI_2 {
    state BACKUP
    interface ens33
    virtual_router_id 126
    priority 95
    advert_int 1
    authentication {
    auth_type PASS
    auth_pass 11112222
    }
    virtual_ipaddress {
    192.168.30.200
    }
    }
    virtual_server 192.168.30.200 80 {
    delay_loop 2
    lb_algo rr
    lb_kind DR
    protocol TCP
    real_server 192.168.30.23 80 {
    weight 1
    HTTP_GET {
    url {
    path /
    status_code 200
    }
    connect_timeout 1
    nb_get_retry 3
    delay_before_retry 1
    }
    }
    real_server 192.168.30.24 80 {
    weight 1
    HTTP_GET {
    url {
    path /
    status_code 200
    }
    connect_timeout 1
    nb_get_retry 3
    delay_before_retry 1
    }
    }
    }

  3. 修改Director2的keepalived配置文件,只需要修改以下黑体部分,其它部分不变
    vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 163
    priority 95
    advert_int 1
    authentication {
    auth_type PASS
    auth_pass 11112222
    }
    virtual_ipaddress {
    192.168.30.100
    }
    }
    vrrp_instance VI_2 {
    state MASTER
    interface ens33
    virtual_router_id 126
    priority 100
    advert_int 1
    authentication {
    auth_type PASS
    auth_pass 11112222
    }
    virtual_ipaddress {
    192.168.30.200
    }
    }

  4. 启动keepalived
    技术分享图片
    技术分享图片
    两台Director查看ipvs状态
    技术分享图片

  5. 客户端访问验证
    a. 访问两个VIP地址都能成功访问http资源,并且实现轮询调度
    技术分享图片
    b. 客户端持续访问过程中 关闭RS1的http服务,看能否自动调度到RS2并且从ipvs中剔除RS1
    技术分享图片
    ipvs剔除了RS1资源服务器
    技术分享图片
    技术分享图片
    c. 客户端持续访问过程中,断掉Director1服务 查看客户端是否受影响,并且Director VIP是否漂移
    客户端访问情况:
    技术分享图片
    Dirctor1关闭服务
    技术分享图片
    Dirctor2 VIP情况
    技术分享图片

至此,LVS-DR + keepalived安装配置测试成功。






































































































































































以上是关于LVS-DR+Keepalived+httpd(双主)的主要内容,如果未能解决你的问题,请参考以下文章

Keepalived实现双主的LVS-DR模式

LVS-DR+keepalived高可用群集

直接进去正题!LVS-DR模式keppalived及LVS-DR-keepalived部署!

LVS+keepalived生产环境实现电信联通双VIP(DR模式)

keepalived+LVS-DR

keepalived实现Lvs-dr集群的高可用