電腦店訊 隨著高速網絡的不斷發展, 網絡用戶及各種網絡應用迅速增長, 使得網絡服務器的負載能力漸漸成為高速網絡中的瓶頸和薄弱環節. 單一服務器需要很高的硬件成本來滿足如此高的負載要求, 甚至有時很難滿足. 因此各種相對廉價且性能穩定的高可用性集群系統被更廣泛地使用, 各種商業的、非商業的集群系統快速發展. 其中基於L inux 的LV S (L inux virtual server) 負載均衡集群系統由於其開放性、高可用性、高可伸展性等優點被普遍使用.但LV S 集群缺少一個全面的管理系統對集群進行監控與管理, 並保證系統的穩定運行. 當集群規模較大時, 無論對集群內單一節點還是對集群系統進行管理均很煩瑣. 本文針對LV S 集群設計較完善的管理系統, 以便於擴大其集群規模, 提高LV S 集群的可用性及通用性; 並將系統rea lserver 集群上部分實現.
1 總體設計
本系統的設計參考了一些成熟的集群管理系統的設計思想, 在不對原LV S 集群系統進行改動的前提下進行. 采用模塊化設計, 不同功能獨立成模塊, 各模塊間互不影響, 單獨與統一的管理界面進行信息交換, 便於修改與擴展.系統分為4 部分: 集群節點狀態的監控、集群節點的快速安裝與恢復、集群的動態調度、管理界面. 集群節點狀態監控包括對集群內各節點軟硬件的狀態進行監測及根據設置的危險值報警; 節點的快速安裝與恢復指對集群節點操作系統及軟件的快速便捷的安裝, 並在節點出現故障時可迅速恢復到初試狀態, 這需要集群內各節點的硬件配置一致; 集群的動態調度要求在集群內節點數量增加或減少時能快速平滑地切換, 不影響集群的運行. 友好的管理界面是集群管理員與管理系統交互的通道, 並且系統各部分通過管理界面結合起來, 形成有機的整體.
整個系統的實現不是全部從零開始, 有很多OpenSou rce 的網絡管理項目可供借鑒, 同時針對LV S 集群已經有一些功能比較簡單的開源的管理軟件也可以參照. 在對上述開放代碼修改的基礎上, 加入自主開發的代碼, 形成完整的管理系統. 系統底層主要使用國際標准協議SNM P 簡單網絡管理協議對集群進行管理, 便於擴展.
2 各部分的具體設計
2. 1 集群節點的監控
監測的對象主要包括節點內存、CPU 使用情況、節點負載狀況及服務進程運行狀況. 當上述對象出現異常情況時系統要發出報警, 手工或者自動排除故障.監控部分以開源項目MRTG (mu lt i2rou tert raff ic grapher) 和MON 為基礎進行改進.
MRTG 是網絡流量監控工具, 也可以對CPU、內存、IöO 等硬件及特定服務的流量情況進行監測,並將監測的結果用圖形形式通過W EB 方式顯示出來. MRTG 通過SNM P 協議對網絡設備進行監測, 且MRTG 提供了接口, 可以用第三方工具繪制各種顯示圖形. 本系統采用RRDToo ls 繪制系統管理界面所要的圖形.MON 是服務可用性的監視工具, 可以在服務失效時發出警報. MON 的監測過程可分外獨立的兩部分: 監測條件, 條件失敗時觸發的動作.MON 以監視器(mon ito r) 的形式對被監測的進程或者設備進行監視, 一旦監視器失效就觸發相應的告警程序(alert) ; 告警程序可以根據設置自動進行簡單處理並通過ma il 等手段通知管理員.
兩部分可以獨立設置, 非常靈活.MON 負責對節點服務的可用性進行監視,在出現異常時發出報警並做出相應處理, 而MRTG 負責系統的采集並顯示節點的運行狀況,為分析集群性能、判斷故障原因提供直觀詳實的數據.
2. 2 集群節點的快速安裝與恢復
隨著集群內節點數量的增加, 節點操作系統及軟件的安裝將成為一項很煩瑣的工作. 由於負載均衡且集群內各節點實現功能相同, 所安裝的操作系統及軟件也都相同, 在硬件配置相同的前提下完全可以采用軟件自動快速安裝. 同時也可以用此方法對故障節點進行快速恢復.系統采用In tel 定義的PXE (p reboo texecu t ion environmen t) 遠程啟動標准和System Imager 系統鏡像工具. PXE 是RPL ( remo te p rogram load) 的換代技術, 可以遠程引導W indow s 系列、L inux 等多種操作系統.
System Imager 鏡像工具可以將樣本機器的系統鏡像下來, 由鏡像服務器通過網絡將與樣本機器完全一致的軟件系統安裝到其他機器上, 並且可以對客戶機的IP、主機名等做簡單配置. 鏡像服務器同時也是PXE 服務器, 先安裝好樣本節點,然後在鏡像服務器生成鏡像, 集群內要安裝系統的節點通過PXE 引導安裝樣本節點的鏡像, 實現了快速自動安裝. 當集群有變更時只需更改樣本機器的設置, 然後更新鏡像就可以實現整個集群系統的更新. 當集群內節點出現重大故障時, 按此方法將該節點系統重新安裝即可恢復.
2. 3 集群的動態調度
在LV S 集群中增加或者減少節點相對比較容易, 只需在負載均衡節點用ipvsadm 設置即可,而且過渡很平滑. 此部分主要做好與其他部分如界面、監控等部分的接口, 並要為以後擴展到基於內容的負載均衡的動態調度做好准備.
2. 4 管理界面
整個管理系統通過管理界面構成一個有機的整體, 管理員通過管理界面與管理系統交互, 實現對集群系統的管理. 管理界面采用CöS 模式, 出於安全考慮, 管理界面將全部自主開發, 可以參照現有的一些簡單的圖形化LV S 管理工具, 如lvs2gu i、lvsm 等的設計思想.
3 未來的擴展
LV S 集群系統仍在發展, 將支持基於內容的負載均衡. 目前的LV S 僅在第3 層網絡層進行負載均衡, 集群只能提供單一服務, 基於內容的負載均衡將使同一集群可以提供多種服務.對此在設計本管理系統時為系統的擴展作了准備. 主要是在節點安裝、動態調度兩部分. 在節點安裝系統時要能通過預先配置對提供不同服務的節點分別安裝不同的軟件. 這可以參照腳本安裝工具對System Imager 進行修改, 或者制作多個鏡像進行選擇; 在動態調度部分要求根據各服務的負載狀況動態地調度集群內提供不同服務的
節點的數量, 當某項服務的負載過重就將負載較輕的節點轉變成提供該服務的節點. 可用分布式shell (dist ribu ted shell) 來實現這種調度, 可以參照Rdist、Cfengine 等工具.
4 系統的實現
該系統在大連理工大學VOD 視頻點播系統的realserver 集群中已經部分實現. 監控和自動安裝部分已經實現, 並且可以對集群內節點進行簡單調度. 保證了集群的7 × 24 h 穩定工作,在統一的管理界面實現後管理將更加便捷, 系統運作效率將進一步提高.