在現行的許多網路應用中,有時一台伺服器往往不能滿足用戶端的要求,此時只能通過增加伺服器來解決問題。
那麼,有沒有一個辦法或者技術來解決此類問題呢?使用Windows 2000或Windows Server 2003中的網路Server Load Balancer群集就可以(本文將介紹Windows Server 2003中的網路Server Load Balancer技術的實現方法)。
一、網路Server Load Balancer的優點
1.網路Server Load Balancer允許你將傳入的請求傳播到最多達32台的伺服器上,即可以使用最多32台伺服器共同分擔對外的網路請求服務。網路Server Load Balancer技術保證即使是在負載很重的情況下它們也能作出快速響應。
2.網路Server Load Balancer對外只須提供一個IP地址(或網域名稱)。
3.如果網路Server Load Balancer中的一台或幾台伺服器不可用時,服務不會中斷。網路Server Load Balancer自動檢測到伺服器不可用時,能夠迅速在剩餘的伺服器中重新指派客戶機通訊。此保護措施能夠協助你為關鍵的業務程式提供不中斷的服務。可以根據網路訪問量的增多來增加網路Server Load Balancer伺服器的數量。
4.網路Server Load Balancer可在普通的電腦上實現。
二:過程規劃
環境結構
2台伺服器,系統為2003,都是單網卡《有的說要雙網卡,有雙網卡的時候只是為了遠端管理的方便,對於NLB關係不是很大,對容錯移轉到是很需要》,
WEB1:10.0.0.1
WEB2:10.0.0.3
群集虛擬IP:10.0.0.2
1,首先,我們要先設定好伺服器的名字和IP地址,這是前提,在此就不在了
2,開啟WEB1,以管理員身份登入,從“管理工具”中運行“網路Server Load Balancer管理器”,用滑鼠右鍵單擊“網路Server Load Balancer群集”
3,從出現的菜單中選擇“建立群集”,進入“群集參數”介面。設定完成後進行下一步
4,可以根據自身的情況進行添加,然後下一步
5,看下連接埠規則的解釋,根據自身情況進行添加和編輯,然後下一步
6,這裡是單網卡,如果是多網卡的話,會全部顯示出來,在選擇的時候一定要注意,選擇對方提供服務的IP地址,這裡就一個也就無所謂了!
7,設定第一台伺服器的優先順序
8,進行中配置,一小會就會完成變成綠色的!
9,至此,第一台已經配置完成,下面就是加入第二胎伺服器,方法一樣的,在此就不在了,最後完成的,都處於彙總狀態
以後,如果這兩台伺服器不能滿足需求,可以按以上步驟添加第3台、第4台電腦到網路Server Load Balancer中以滿足要求。
三:用IIS服務驗證網路Server Load Balancer
網路Server Load Balancer配置好後,為了實現某項具體的服務,需要在網路Server Load Balancer的電腦上安裝相應的服務。例 如:為了實現IIS網站的Server Load Balancer,需要在相應的網路Server Load Balancer的電腦上安裝IIS服務。
安裝網路Server Load Balancer的應用程式時,不需要特別的方法,只需要在配置好網路Server Load Balancer的電腦上安裝相應的服務即可。但是為了讓每個使用者在通過網路Server Load Balancer訪問到不同的電腦時,能夠訪問到一致的資料,需要在網路Server Load Balancer的每台電腦上保持資料的一致性。舉例來說:實現了兩個節點的IIS的網路Server Load Balancer,為了保證兩個網站內容的一致性,除了這兩個IIS伺服器的配置相同外,相應的網站資料必須一致。
1,在“添加/刪除程式”中,點擊“添加Windows組件”,進入Windows組件嚮導,雙擊“應用程式伺服器”,進入“應用程式伺服器”選中ASP.NET、Internet資訊服務及應用網路COM+訪問後,即可開始安裝IIS服務。
2,安裝之後,進入WEB1的inetpub\wwwroot目錄,建立一個文字檔,輸入以下內容:this is WEB1 另存新檔default.htm
3,進入WEB2的inetpub\wwwroot目錄,建立一個文字檔,輸入以下內容:
this is WEB2 另存新檔default.htm
4,如果是對外的IIS,那麼內容應該是一樣的,這裡我們為了達到效果明顯,才把內容寫的不一樣,如果要達到2太伺服器網站內容一樣,可以使用DFS自動複製!
5,我們開始測試,使用一台XP進行訪問,
在伺服器正常的時候提供服務的是WEB1,因為他的優先順序最高
當WEB有問題的時候,那麼使用者在訪問的時候結果
四,至此此次實驗已經結束!
另外:在第一次做雙網卡實驗的時候沒有異常,但在第二次做單網卡實驗的時候出現故障
尋找註冊表發現,錯誤字串和網卡資訊有關,對應的鍵是NetCfgInstanceId.加入NLB節點的主機介面,必須要有不同的NetCfgInstanceId.
經測試,NewSID並不修改該值,因此雖然兩台虛擬機器的SID不同,但由於NetCfgInstanceId一樣,導致第二個節點加入NLB群集時出錯.
解決辦法有兩個,都可以修改NetCfgInstanceId:
1.使用NewSID後,在裝置管理員裡卸載網卡,掃描檢測硬體改動,重新設定網路;
2.直接使用sysprep.
其他資訊: NetCfgInstanceId所在的登錄機碼
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\
{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\NetCfgInstanceId
用大括弧括起來的是"網路介面卡"項,每個系統可能不同;下面的子項有數個,需要找本地串連對應的,譬如上面的是0001. 簡單的法子是先看網卡的名字,如VMware Accelerated AMD PCNet Adapter,然後在Class上點右鍵尋找網卡名,即可到達.