天天看點

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

實驗:實作高可用的LVS-DR模型

 1、準備兩台RS伺服器

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

2、将兩台lVS安裝httpd或nginx,用來做sorry server

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

3、定義RS伺服器

在後端伺服器RS1寫配置腳本

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

執行腳本後,ifconfig

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

之後腳本傳給RS2,執行此腳本,同樣存在lo:0 10.0.56.10

4、LVS伺服器安裝ipvsadm,之後添加虛拟網絡

ifconfig ens33:0 10.0.56.10 netmask 255.255.255.255 broadcast 10.0.56.10 up

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

5、配置添加RS伺服器被lvs排程

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

6、測試,注意測試機加上到10.0.56.0/24的路由,此時基本的已完成

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

7、LVS1下線,配置LVS2

LVS1:ifconfig ens33:0 down

LVS2:

ipvsadm -A -t 10.0.56.10:80 -s rr

ipvsadm -a -t 10.0.56.10:80 -r 192.168.239.72 -g

ipvsadm -a -t 10.0.56.10:80 -r 192.168.239.73 -g

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

之後結果會等一個間隔時間後才會出現

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

8、配置keepalived

清空ipvsadm的規則,ipvsadm -C

兩個LVS主機上均有在/etc/keepalived/keepalived.conf:

virtual_ipaddress {

        10.0.56.10/24 dev ens33 label ens33:1

    }

virtual_server 10.0.56.10 80 {

        delay_loop 2

        lb_algo wrr

        lb_kind DR

        protocol TCP

        sorry_server 127.0.0.1 80

        real_server 192.168.239.72 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.239.73 80 {

                url {

                status_code 200

                nb_get_retry 3

}

之後兩台LVS全部停止keepalived

先啟動LVS1的keepalived

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

測試1(如果光标閃爍,檢視LVS伺服器的iptables -vnL中是否有個DROP,由此規則原因是keepalive.conf中有vrrp_strict)

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

測試2

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

測試3

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

測試4

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

暫停片刻後恢複排程

附:整個LVS的keepalive.conf

global_defs {

   notification_email {

        root@localhost

   }

   notification_email_from keepalived@localhost

   smtp_server 127.0.0.1

   smtp_connect_timeout 30

   router_id lvs1

   vrrp_skip_check_adv_addr

   vrrp_strict

   vrrp_garp_interval 0

   vrrp_gna_interval 0

   vrrp_mcast_group4 224.0.156.18

vrrp_instance VI_1 {

    state MASTER

    interface ens33

    virtual_router_id 55

    priority 100

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass passwd

    virtual_ipaddress {

        notify_master "/etc/keepalived/notify.sh master"

        notify_backup "/etc/keepalived/notify.sh backup"

        notify_fault "/etc/keepalived/notify.sh fault"

sorry_server 127.0.0.1 80  

real_server 192.168.239.72 80 {

                status_code 200

實驗:keepalive實作高并發nginx代理nginx伺服器(單主模型)

1、簡易拓撲圖

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

2、在兩台keepalive伺服器中更改配置/etc/keepalive/keepalive.conf

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

做一步測試一步,說明兩台keepalive的nginx配置正确

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

2、/etc/keepalive/keepalive.conf的配置

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

systemclt restart keepalived

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

3、測試1

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用
Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

此時依舊成功

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用
Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

加入nginx檢測腳本,判斷nginx程序是否存在

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用
Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

實驗:keepalive實作高并發nginx代理nginx伺服器(雙主模型)

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

2、配置ka1

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

配置ka2

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

配置儲存後重新開機keepalive

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

3、配置RS伺服器

4、配置ka1的nginx.conf

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用
Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

配置ka 2的nginx,和ka 1的基本一緻,最好兩個default的server_name和proxy_pass換到各自對應的RS主機位置

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

5、客戶機配置/etc/hosts解析

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

6、測試

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

測試結果

Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用
Linux環境下實作keepalive支援的LVS高可用性和NGINX的單主模型雙主模型高可用

繼續閱讀