第十三卷 實現四台Web服務器的負載均衡(1 / 2)

第十三卷 實現四台Web服務器的負載均衡

集群的概念容易和一些概念(SMP 、NUMA、MPP、分布處理)相混淆,其主要區別在資源被共享和複製的級別不同。它們是按SMP、NUMA、MPP、集群、分布處理從最緊 密到最鬆散的排列。

SMP(多處理係統):這種係統是在一台計算機裏有多個CPU,CPU之間的地位是平等的,它們共享內存空間和I/O設備。其工作方法是由操作係統負責將任務分解成多個並發進程,然後讓其在不同的CPU上運行。

NUMA(非統一內存存取):這種係統可以讓多處理計算機的CPU比SMP更高效地共享本地內存,CPU可以更快速地存取單一的內存區域,不過如需要也可以用間接方式存取其他區域的內存,這種方法是讓某些CPU在給定範圍的物理內存中有更大的優先使用權。

MPP(巨型並行處理):這種係統的節點都有自己的CPU,並有自己的專有資源。此種結構相對獨立,但各個節點一般沒有完全存取I/O的能力。

集群:集群係統是由獨立的計算機組成,但有控製管理工具統一管理。

分布處理:它是比我們要構築的集群係統更鬆散的連接,一般是任務在不同的地方完成,沒有可以作為整體管理的單一實體。

以上的聚合方式有緊有疏,它們都有自己的適用範圍,這裏就不多說了,有興趣可自己找些資料看,這裏隻是想讓大家了解它所處的位置。

實現負載均衡的方法

集群的目的是共享和高效地利用資源,提供大型運算,提供負載均衡分配請求壓力以及出現故障時能夠進行切換實現高可用性。

限於篇幅,本文隻對負載均衡的實現做些介紹(針對TurboLinux Cluster Server)。通過對相關軟件的分析,實現集群負載的功能是通過流量管理實現的,具體有這樣幾種實現方法:直接路由(Direct forwarding)、網絡地址轉換(NAT)、隧道技術(Tunneling)。

直接路由(Direct forwarding)

當參與集群的計算機和作為控製管理的計算機在同一個網段時可以用此法,控製管理的計算機接收到請求包時直接送到參與集群的節點。優點是返回給客戶的流量不經過控製主機,速度快開銷少。

網絡地址轉換(NAT)

這種方法可能大家較熟悉,地址轉換器有能被外界訪問到的合法IP地址,它修改來自專有網絡的流出包的地址,外界看起來包是來自地址轉換器本身,當外界包送到轉換器時,它能判斷出應該將包送到內部網的哪個節點。優點是節省IP地址,能對內部進行偽裝;缺點是效率低,因為返回給請求方的流量經過轉換器。

隧道技術(Tunneling)

這種方式是在集群的節點不在同一個網段時可用的轉發機製,是將IP包封裝在其他網絡流量中的方法,為了安全的考慮,應該使用隧道技術中的VPN,也可使用租用專線。

集群所能提供的服務是基於TCP/IP的Web服務、Mail服務、News服務、DNS服務、Proxy服務器等等,下麵我們將就具體的產品TurboLinux Cluster Server 來實現一個進行負載均衡集群係統,用於提供Web和FTP的服務。

四台服務器的負載均衡實例

所提供的服務:Web、FTP。

係統的實現目的:做一個較完善負載均衡的係統,以便能用到其中的較多的功能。

采用設備狀況:使用四台服務器,其中3台裝TurboLinux Cluster Server,1台安裝Windows 2000 Sever。

係統安裝

1.在兩台服務器上安裝TurboLinux, apache和wu-ftpd也要安裝,因為集群要提供這種服務,安裝完後重啟,掛接光驅在目錄/mnt/cdrom下,執 行./TLCS-install,然後按提示完全安裝。

2.在一台服務器上安裝Windows 2000 Server,要安裝Internet Information Server 5.0。

係統配置

1.設置各台服務器的IP地址、子網掩碼、路由等,調通網絡,將一台TurboLinux服務器設置 成DNS服務器,使其能夠正向解析和反向解析。服務器名此例為 pc1,域為test.com。