Linux服務器集群系統之可伸縮媒體服務
Linux集群系統是當代許多公司采用的解決方案,Linux集群通過多臺機器連接起來,處理復雜的問題。可以將同構或者異構的計算機連接起來,協同完成特定的任務。這樣就構成了集群。LVS是Linux virtual server的縮寫,他的意思是Linux虛擬機服務。本文主要介紹的是基于Linux下的集群系統。
LVS的媒體集群:
基于LVS的媒體集群的體系結構如圖3所示:***層是負載調度器,一般采用IP負載均衡技術,可以使得整個系統有較高的吞吐率;第二層是Web服務器池,在每個結點上可以運行相應的媒體服務;第三層是共享存儲,通過網絡文件系統/分布式文件系統存儲媒體節目。集群中各結點是通過高速網絡相連接。
圖3:基于LVS的媒體集群
IPVS負載調度器一般使用直接路由方法(即VS/DR方法,將在以后文章中詳細敘述),來架構媒體集群系統。調度器將媒體服務請求較均衡地分發到各個服務器上,而媒體服務器將響應數據直接返回給客戶,這樣可以使得整個媒體集群系統具有很好的伸縮性。
媒體服務器可以運行各種媒體服務軟件。目前,LVS集群對于Real Media、Windows Media和Apple Quicktime媒體服務都有很好的支持,都有真實的系統在運行。一般來說,流媒體服務都會使用一個TCP連接(如RTSP協議:Real-Time Streaming Protocol)進行帶寬的協商和流速的控制,通過UDP將流數據返回客戶。這里,IPVS調度器提供功能將TCP和UDP集中考慮,保證來自同一客戶的媒體TCP和UDP連接會被轉發到集群中同一臺媒體服務器,使得媒體服務準確無誤地進行。
共享存儲是媒體集群系統中最關鍵的問題,因為媒體文件往往非常大(一部片子需要幾百兆到幾千兆的存儲空間),這對存儲的容量和讀的速度有較高的要求。對于規模較小的媒體集群系統,例如有3至6個媒體服務器結點,存儲系統可以考慮用帶千兆網卡的Linux服務器,使用軟件RAID和日志型文件系統,再運行內核的NFS服務,會有不錯的效果。對于規模較大的媒體集群系統,***選擇對文件分段(File Stripping)存儲和文件緩存有較好支持的分布式文件系統;媒體文件分段存儲在分布式文件系統的多個存儲結點上,可以提高文件系統的性能和存儲結點間的負載均衡;媒體文件在媒體服務器上自動地被緩存,可提高文件的訪問速度。否則,可以考慮自己在媒體服務器上開發相應的工具,如緩存工具能定時地統計出最近的熱點媒體文件,將熱點文件復制到本地硬盤上,并替換緩存中的非熱點文件,***通知其他媒體服務器結點它所緩存的媒體文件以及負載情況;在媒體服務器上有應用層調度工具,它收到客戶的媒體服務請求,若所請求的媒體文件緩存在本地硬盤上,則直接轉給本地媒體服務進程服務,否則先考慮該文件是否被其他媒體服務器緩存;如該文件被其他服務器緩存并且該服務器不忙,則將請求轉給該服務器上的媒體服務進程處理,否則直接轉給本地媒體服務進程,從后端的共享存儲中讀出媒體文件。
共享存儲的好處是媒體文件的管理人員看到統一的存儲空間,使得媒體文件維護工作比較方便。當客戶訪問不斷增加使得整個系統超載時,管理員可以很快地加入新的媒體服務器結點來處理請求。
Real公司以其高壓縮比的音頻視頻格式、Real媒體服務器和媒體播放器RealPlayer而聞名。Real公司正在使用以上結構將由20多臺服務器組成的LVS可伸縮Web和媒體集群,為其全球用戶提供Web和音頻視頻服務。Real公司的高級技術主管聲稱LVS擊敗所有他們嘗試過的商品化負載均衡產品[7]。
【編輯推薦】
- Linux集群原理與安裝配置匯總
- “懶惰”Linux集群管理員的11個秘訣
- 圖文詳解 文件柜內DIY自己的Linux集群機
- 大型Linux集群的安裝節點和管理
- 大型Linux集群簡介和硬件配置
- 高性能Linux集群基礎知識