雙主模型的lvs-dr高可用負載均衡集群

雙主模型的lvs-dr高可用負載均衡集群

實驗目的:使用keepalived實現lvs-dr模型雙主高可用集群

實驗環境:兩臺virtual server(實現lvs的雙主)、兩臺real server(安裝web service,用于負載均衡)、一臺clietn用于驗證結果

注意:為了不影響實驗結果,在實驗開始前先關閉iptablesselinux

操作步驟:

一、配置IP

1.配置A主機的IP

# ip addr add dev eth0 192.168.10.2/24

2.配置B主機的IP

# ip addr add dev eth0 192.168.10.23/24

3.配置C主機的IP,修改內核參數和回環的IP

# ip addr add dev eth0 192.168.10.3/24

# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

# ip addr add dev lo 192.168.10.200/32 label lo:0 broadcast 192.168.10.200

# ip addr add dev lo 192.168.10.201/32 label lo:1 broadcast 192.168.10.201

4.配置D主機的IP,修改內核參數和回環的IP

# ip addr add dev eth0 192.168.10.33/24

# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

# ip addr add dev lo 192.168.10.200/32 label lo:0 broadcast 192.168.10.200

# ip addr add dev lo 192.168.10.201/32 label lo:1 broadcast 192.168.10.201

二、配置web
service
CD主機做同樣配置,默認主頁的內容中的IP地址改為D主機的IP即可)

1.安裝apache

# yum -y install httpd

2.創建默認主頁

# vim /var/www/html/index.html

    <h1>R1:192.168.10.3</h1>

3.啟動服務

# service httpd start

三、配置keepalived,實現雙主高可用

1.安裝keepalived

# yum -y install keepalived

2.編輯A主機的配置文件/etc/keepalived/keepalived.conf,作如下配置:

! Configuration File for keepalived

    global_defs {

    notification_email {

        root@localhost

    }

    notification_email_from keepalived@localhost

    smtp_server 127.0.0.1

    smtp_connect_timeout 30

    router_id centos6

    vrrp_mcast_group4 224.0.100.39

    }

    vrrp_instance lvs {

        state MASTER

        interface eth0

        virtual_router_id 14

        priority 100

        advert_int 1

        authentication {

            auth_type PASS

            auth_pass MDQ41fTp

        }

        virtual_ipaddress {

            192.168.10.200/24 dev eth0

        }

    }

    vrrp_instance lvs2 {

        state BACKUP

        interface eth0    

        virtual_router_id 15

        priority 98

        advert_int 1

        authentication {

            auth_type PASS

            auth_pass XYZ41fTp

        }

        virtual_ipaddress {

            192.168.10.201/24 dev eth0

        }

    }

    virtual_server 192.168.10.200 80 {

        delay_loop 6

        lb_algo rr

        lb_kind DR

        protocol TCP

        sorry_server 127.0.0.1 80

        real_server 192.168.10.3 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.10.33 80 {

        weight 1

        HTTP_GET {

            url {

                path /

                status_code 200

            }

                connect_timeout 1

                nb_get_retry 3

                delay_before_retry 1

            }

        }

    }

    virtual_server 192.168.10.201 80 {

        delay_loop 6

        lb_algo rr

        lb_kind DR

        protocol TCP

        sorry_server 127.0.0.1 80

        real_server 192.168.10.3 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.10.33 80 {

        weight 1

        HTTP_GET {

            url {

                path /

                status_code 200

            }

                connect_timeout 1

                nb_get_retry 3

                delay_before_retry 1

            }

        }

   }

B主機也作同樣配置,稍作修改即可,需要修改的地方如下:

    vrrp_instance lvs {

        state BACKUP

        priority 98

    }

    vrrp_instance lvs2 {

        state MASTER

        priority 100

    }

四、配置sorry_server(在兩臺RS都不能正常提供服務且有用戶訪問時,sorry主機可顯示告知信息),sorry_server需要配置在virtual server(兩臺RS都做同樣配置,默認主頁中的IP地址改為本機的IP以示區分。)

1.安裝apache

# yum -y install httpd

2.創建默認主頁

# vim /var/www/html/index.html

<h1>sorry_server:192.168.10.2</h1>

3.啟動服務

# service httpd start

五、模擬故障,驗證結果(由于沒有配置路由,因此client主機并不能訪問,可在服務器網段中選擇任意一臺主機測試)

1.啟動兩臺VSkeepalived服務

# service keepalived start

2.查看生成的lvs規則,如圖有兩組規則

# ipvsadm -ln

雙主模型的lvs-dr高可用負載均衡集群

3.訪問192.168.10.200,結果應是后端的RS輪詢響應請求

雙主模型的lvs-dr高可用負載均衡集群

4.訪問192.168.10.201,結果應是后端的RS輪詢響應請求

雙主模型的lvs-dr高可用負載均衡集群

5.將后端RSweb服務關閉一臺,此時訪問192.168.10.200192.168.10.201,響應請求的將只是另一臺web服務正常運行的RS

雙主模型的lvs-dr高可用負載均衡集群

6.將后端RSweb服務都關閉,此時訪問192.168.10.200192.168.10.201,響應請求的將只是各自的主server中定義的sorry_server

雙主模型的lvs-dr高可用負載均衡集群

雙主模型的lvs-dr高可用負載均衡集群

7.關閉一臺VSkeepalived服務,此時訪問192.168.10.200192.168.10.201,響應的請求的將只是另一臺正常運行keepalived服務的VS

雙主模型的lvs-dr高可用負載均衡集群

原創文章,作者:人字拖,如若轉載,請注明出處:http://www.www58058.com/75455

(1)
人字拖人字拖
上一篇 2017-05-13
下一篇 2017-05-13

相關推薦

  • 基礎命令

    1,對于Linux的實驗環境我們要用到虛擬機,往往每次上線都要登錄,這時候如果把用戶設為自動登錄就會方便許多,接下來就介紹下設置虛擬機的自動登錄 , /etc/gdm/custom.conf 這個就是設置自動登錄的一個配置文件,我們先來使用nano打開這個文件,如下 # GDM configuration storage 這是GDM的一個配置存儲 [daem…

    2017-11-19
  • 計算機入門

    Linux入門 與 計算機

    Linux干貨 2018-02-07
  • 磁盤配額、陣列與邏輯卷

    一、磁盤配額 在內核中執行以文件系統為單位啟用對不同組或者用戶的策略不同 根據塊或者節點進行限制執行軟限制(soft limit)硬限制(hard limit) 步驟一:獲得文件系統支持臨時有效:mount -o remount,usrquota,grpquota {mount_point|device}永久有效:寫入配置文件 /etc/fstab 中檢查文…

    Linux干貨 2016-08-29
  • 8月11日shell編程腳本及課后作業

    shell腳本編程 本章內容 編程基礎 腳本基礎格式 變量 運算 條件測試 流程控制 函數 數組 高級字符串操作 高級變量 配置用戶環境 編程基礎 程序:指令+數據    程序編程風格:       過程式:以指令為中心,數據服務于指令   &nbs…

    Linux干貨 2016-08-15
  • 用戶和組管理的命令

    用戶管理概念: 用戶類別:         管理員,普通用戶,(系統用戶和登錄用戶) 組類別:         管理組員,普通用戶組         基本組和附加組         私有組,公共組 數…

    Linux干貨 2016-12-21
  • grep學習示例

    grep學習示例 Linux中grep命令使用較多,現將自己學習的羅列幾條. 1. 去除空白行     空白行是指空行或者只有空格的行,使用grep命令去除空白行,命令如下:      grep -v  “^[[:space:]]*$” &nbs…

    Linux干貨 2017-07-30
欧美性久久久久