LVS 配置方案

一、  現狀

目前網站的負載均衡和高可用性是通過DNS 輪詢來實現的,這種方式不符合當前標準做法.

二、  目標

用業界標準的LVS 替換當前的DNS 輪詢.

三、  總體方案

3.1、系統設計

本方案將在5臺服務器上實現具備負載均衡和高可用性的LVS, 使用的轉發模式爲直接路由, 使用的連接分配模式爲源地址哈希(SH). 其中兩臺服務器作爲負載均衡器,以實現高可用性, 另外三臺服務器作爲Real Server 提供 WEB 服務, 以實行負載均衡.
另外還將配置簡單的GUI, 以實現對LVS的簡單監控.
LVS 羣集配置完成後, 需要在我們的DNS 服務器上配置相應的DNS 記錄.

 

                         
 3-1

3.2、方案描述

Ø 本方案將在不增加任何硬件設備的條件下進行, 因此將把負載均衡器安裝在兩臺提供其它服務的服務器上.
Ø 爲達到很好的性能我們選用直接路由這種轉發模式
Ø 爲達到切實的負載均衡我們選用最少連接數這種連接分配模式.
Ø 使用成熟的LVS解決方案Ultramonkeykeepalived 也是不錯的選擇).

3.3、負載分析

Ø 負載均衡器的系統負載: CPU 和內存使用量都很低
Ø 負載均衡器的網絡負載: 網絡流量很低
因此負載均衡器可以跟其它服務共用一臺服務器的資源

3.4、冗餘設計

       我們選用的這種配置(如圖3-1所示)本身就具備冗餘能力.

3.5IP 地址分配

功能類別        內網IP地址    公網 IP 地址    IP of lo:0 /VIP

WEB服務器1      192.168.1.1                   1.1.1.6

WEB服務器2      192.168.1.2                   1.1.1.6

WEB服務器3      192.168.1.3                   1.1.1.6

負載均衡器1     192.168.1.4    1.1.1.4 

   負載均衡器2     192.168.1.5    1.1.1.5

3.6、安裝應用軟件時,必須有設備名稱,軟件版本,安裝目錄

設備名稱              軟件                                              安裝目錄
web-svr-001         arptables-noarp-addr (rpm )      --
web-svr-002         同上                                               --
web-svr-003         同上                                               --
lb-svr-mst              heartbeat                                        --
                              heartbeat-ldirectord                       --
                              heartbeat-pils                                --
                              heartbeat-stonith                          --
                              ipvsadm                                        --
                              libnet                                            --
                              perl-Authen-SASL                       --
                              perl-Digest-HMAC                     --
                              perl-Digest-SHA1                       --
                              perl-IO-Socket-SSL                    --
                              perl-ldap                                      --
                              perl-Mail-IMAPClient                  --
                              perl-Net-DNS                              --
                              perl-Net-SSLeay                          --
                              perl-Parse-RecDescent                 --
                              (以上是rpm)                        
                              libart_lgpl                             /usr/local/libart
                              rrd-tool                                /usr/local/rrd-tool  
                              lvs-rrd                                 /var/www/html/lvs-rrd
                              (以上爲tarball)
lb-svr-slv               同上                                    同上

四、  實施步驟

4.1施工計劃與時間

計劃安排
預計完成時間(分鐘)
主要負責人
獲取跟配置LVS相關的信息
30
鄒可見
配置負載均衡器
60
鄒可見
配置後端WEB 服務器
30
鄒可見
驗證LVS 集羣
30
鄒可見
配置LVS集羣監控工具
30
鄒可見
檢查LVS集羣監控工具的運行狀況
15
鄒可見
修改DNS記錄
15
鄒可見
再次驗證LVS 集羣
30
鄒可見

4.2操作步驟(詳細到命令級別)

預估花費時間
預計開始時間-完成時間
實際開始時間-完成時間
4小時
待定

 

 

 

1)  登錄到將建立集羣的每臺服務器上,執行 uname –n 獲取主機名。

 

2)  登錄到將作爲負載均衡器的兩臺服務器上,執行LB/script/install.sh 安裝相關軟件包並拷貝配置文件到/etc/ha.d目錄下。

3)  修改其中一臺負載均衡器上的/etc/ha.d 目錄下的配置文件,並將修改後的配置文件拷貝到另外一臺負載均衡器的/etc/ha.d目錄下。

4)  啓動兩臺負載均衡器上的/etc/init.d/heartbeat 服務:/etc/init.d/heartbeat start

5)  查看兩臺負載均衡器上的 /var/log/lvs.log 文件,確認它們工作正常。

6)  登錄到三臺後端WEB服務器上,執行RS/script/install.sh 安裝相關軟件包並進行配置,
RS/config/mytest.html 文件拷貝到 各臺機的apache 文檔目錄下。

7)   Master 負載均衡器上執行 ipvsadm –L –n 確認 LVS 已經將三臺後端WEB服務器加入到 Real Server Pool 中。

 

8)在兩臺負載均衡器上運行LB/script/install_mon.sh 安裝監控軟件lvs-rrd

 

9)修改lvs-rrd 的配置腳本 graph-lvs.sh lvs.rrd.update

 

10) 修改DNS配置,將[url]www.domain.com[/url]映射到VIP上。

 

11)在Master 負載均衡器上執行 ipvsadm –L –n 檢查LVS 分發HTTP 請求的情況。

五、應急和回滾方案

5.1.本方案可能會引起的風險,包括極限風險和應變措施

風險:LVS 不穩定導致無法正常訪問[url]www.domain.com[/url]
應變措施:修改DNS 配置,恢復使用DNS 輪詢。

5.2、明確採用應急方案條件

在修改DNS 配置並且配置生效後,如果無法正常訪問[url]www.domain.com[/url],必須立即回滾。

六、測試及驗收

6.1施工人員測試方案

1、操作步驟詳細到命令行級別
      查看LVS的連接情況: ipvsadm –L –n
      查看LVS的吞吐量情況: ipvsadm –L –n –rate
      查看LVS的統計信息: ipvsadm –L –n –stat
      如果上述步驟都返回正常信息,則檢查LVS監控頁面是否正常。
   WEB 瀏覽器中打開如下頁面,檢查是否能夠看到LVS集羣中各個服務器的 active connection inactive connection 情況。
2、明確結果正常或異常的條件
     如果看到三臺WEB服務器的active connection 大體相同,則表示LVS 正常。
    反之,如果三臺WEB服務器的active connection在很長一段時間內都相差懸殊,則需要作調整。
 
附:附件裏面是排版工整的本文原件,和相關腳本。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章