LVS 配置方案
一、? 現狀
目前網站的負載均衡和高可用性是通過DNS 輪詢來實現的,這種方式不符合當前標準做法.二、? 目標
用業界標準的LVS 替換當前的DNS 輪詢. <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />三、? 總體方案
3.1、系統設計
本方案將在5臺服務器上實現具備負載均衡和高可用性的LVS, 使用的轉發模式為直接路由, 使用的連接分配模式為源地址哈希(SH). 其中兩臺服務器作為負載均衡器,以實現高可用性, 另外三臺服務器作為Real Server 提供 WEB 服務, 以實行負載均衡. 另外還將配置簡單的GUI, 以實現對LVS的簡單監控. LVS 群集配置完成后, 需要在我們的DNS 服務器上配置相應的DNS 記錄.?
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /> ????????????????????????? ?圖3-13.2、方案描述
??本方案將在不增加任何硬件設備的條件下進行, 因此將把負載均衡器安裝在兩臺提供其它服務的服務器上. ??為達到很好的性能我們選用直接路由這種轉發模式 ??為達到切實的負載均衡我們選用最少連接數這種連接分配模式. ??使用成熟的LVS解決方案Ultramonkey(keepalived 也是不錯的選擇).3.3、負載分析
??負載均衡器的系統負載: CPU 和內存使用量都很低 ??負載均衡器的網絡負載: 網絡流量很低 因此負載均衡器可以跟其它服務共用一臺服務器的資源3.4、冗余設計
?????? 我們選用的這種配置(如圖3-1所示)本身就具備冗余能力.3.5、IP 地址分配
功能類別??????? 內網IP地址??? 公網 IP 地址??? IP of lo:0 /VIP WEB服務器1 ???? 192.168.1.1???? ??????????????<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />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.53.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在很長一段時間內都相差懸殊,則需要作調整。 ? 附:附件里面是排版工整的本文原件,和相關腳本。轉載于:https://blog.51cto.com/zoukejian/82081
總結
- 上一篇: 一个学习的好去处!!
- 下一篇: 2008软考网络工程师题