高可用+LVS-NAT

关键:floating VIP 要以组为单位同时切换

  • 实验1: 主备VRRP 切换实验

    预期:

    高可用+LVS-NAT

    • 设定配置文件:
      • A主机 (172.18.48.61)

        vrrp_sync_group VG1 {

        group {

        outside_network

        inside_network

        }

        }

        vrrp_instance outside_network {

        state MASTER

        interface eth0

        virtual_router_id 100

        priority 100

        advert_int 1

        authentication {

        auth_type PASS

        auth_pass 1111

        }

        virtual_ipaddress {

        172.18.148.148/16 dev eth0 label eth0:1

        }

        }

        vrrp_instance inside_network {

        state MASTER

        interface eth1

        virtual_router_id 51

        priority 100

        advert_int 1

        authentication {

        auth_type PASS

        auth_pass 1111

        }

        virtual_ipaddress {

        192.168.10.254/24 dev eth1 label eth1:1

        }

        }

      • B主机(172.18.48.62)

        vrrp_sync_group VG1 {

        group {

        outside_network

        inside_network

        }

        }

        vrrp_instance outside_network {

        state BACKUP

        interface eth0

        virtual_router_id 100

        priority 98

        advert_int 1

        authentication {

        auth_type PASS

        auth_pass 1111

        }

        virtual_ipaddress {

        172.18.148.148/16 dev eth0 label eth0:1

        }

        }

        vrrp_instance inside_network {

        state BACKUP

        interface eth1

        virtual_router_id 51

        priority 98

        advert_int 1

        authentication {

        auth_type PASS

        auth_pass 1111

        }

        virtual_ipaddress {

        192.168.10.254/24 dev eth1 label eth1:1

        }

        }

    • 测试:

      先开启B主机(BACKUP) 两块网卡IP 均已设定

      高可用+LVS-NAT

      在开启A主机(MASTER)// VIP 实现切换

      高可用+LVS-NAT

      如果不设置 vrrp_sync_group VG1 的话:是什么情况?

      注释掉配置文件并重启:

      高可用+LVS-NAT

      正常情况下是:A主机两个预定IP ,B 没有 (参照上面两个图)

      手动断掉一块网卡:

      高可用+LVS-NAT

      • 主机A的IP: //eth1 的IP 没了只有eth0
        • 高可用+LVS-NAT
      • 主机B的IP://只有eth1 的IP
        • 高可用+LVS-NAT
      • 结论:
        • 如果不设定成组的话,就会出现如此情况造成服务无法正常运行

  • 架构LVS-NAT 实现keepalived+LVS 组合

    先设定 RS 网络结构:

    高可用+LVS-NAT

    设置RSA 的网络和开启httpd服务

    • # ifconfig eth0 192.168.10.63/24
    • #route add default dev eth0
    • 高可用+LVS-NAT

    • 高可用+LVS-NAT

    • 高可用+LVS-NAT

    • 高可用+LVS-NAT

    设置RSB 的网络和开启httpd 服务 (参照上面的)

    分别设置调度器的keepalived.conf 文件

    virtual_server 172.18.148.148 80 {

    delay_loop 6

    lb_algo wrr

    lb_kind NAT

    protocol TCP

    real_server 192.168.10.63 80 {

    weight 1

    HTTP_GET {

    url {

    path /

    status_code 200

    }

    connect_timeout 3

    nb_get_retry 3

    delay_before_retry 3

    }

    }

    real_server 192.168.10.64 80 {

    weight 2

    HTTP_GET {

    url {

    path /

    status_code 200

    }

    connect_timeout 3

    nb_get_retry 3

    delay_before_retry 3

    }

    }

    }

    测试链接: //人为制造故障后依然可以访问。

    高可用+LVS-NAT

  • 双主模型 //测验!!
    • 原理:即再增加一组VIP设置,
    • 配置A调度器的/etc/keepalived/keepalived.conf //新加一组;注意主备的交互

      vrrp_sync_group VG2 { //VRRP段

      group {

      outside_network2

      inside_network2

      }

      }

      vrrp_instance outside_network2 {

      state BACKUP

      interface eth0

      virtual_router_id 101

      priority 98

      advert_int 1

      authentication {

      auth_type PASS

      auth_pass 1111

      }

      virtual_ipaddress {

      172.18.148.149/16 dev eth0 label eth0:2

      }

      }

      vrrp_instance inside_network2 {

      state BACKUP

      interface eth1

      virtual_router_id 52

      priority 98

      advert_int 1

      authentication {

      auth_type PASS

      auth_pass 1111

      }

      virtual_ipaddress {

      192.168.10.253/24 dev eth1 label eth1:2

      }

      }

      virtual_server 172.18.148.149 80 { //LVS段

      delay_loop 6

      lb_algo wrr

      lb_kind NAT

      protocol TCP

      real_server 192.168.10.63 80 {

      weight 1

      HTTP_GET {

      url {

      path /

      status_code 200

      }

      connect_timeout 3

      nb_get_retry 3

      delay_before_retry 3

      }

      }

      real_server 192.168.10.64 80 {

      weight 2

      HTTP_GET {

      url {

      path /

      status_code 200

      }

      connect_timeout 3

      nb_get_retry 3

      delay_before_retry 3

      }

      }

      }

  • B调度器的配置//参照A的 (截图略)
  • 重启服务并查看IP

    A调度器的

    高可用+LVS-NAT

    B调度器的

    高可用+LVS-NAT

    测试:// 不成功;

    错误原因分析:

    高可用+LVS-NAT

    高可用+LVS-NAT

    高可用+LVS-NAT

原创文章,作者:zhoulz,如若转载,请注明出处:http://www.178linux.com/75614

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code