在現行的許多網絡應用中,有時一台服務器往往不能滿足客戶端的要求,此時只能通過增加服務器來解決問題。
那么,有沒有一個辦法或者技術來解決此類問題呢?使用Windows 2000或Windows Server 2003中的網絡負載平衡群集就可以(本文將介紹Windows Server 2003中的網絡負載平衡技術的實現方法)。
一、網絡負載平衡的優點
1.網絡負載平衡允許你將傳入的請求傳播到最多達32台的服務器上,即可以使用最多32台服務器共同分擔對外的網絡請求服務。網絡負載平衡技術保證即使是在負載很重的情況下它們也能作出快速響應。
2.網絡負載平衡對外只須提供一個IP地址(或域名)。
3.如果網絡負載平衡中的一台或幾台服務器不可用時,服務不會中斷。網絡負載平衡自動檢測到服務器不可用時,能夠迅速在剩余的服務器中重新指派客戶機通訊。此保護措施能夠幫助你為關鍵的業務程序提供不中斷的服務。可以根據網絡訪問量的增多來增加網絡負載平衡服務器的數量。
4.網絡負載平衡可在普通的計算機上實現。
二:過程規划
環境結構
2台服務器,系統為2003,都是單網卡《有的說要雙網卡,有雙網卡的時候只是為了遠程管理的方便,對於NLB關系不是很大,對故障轉移到是很需要》,如圖
WEB1:10.0.0.1
WEB2:10.0.0.3
群集虛擬IP:10.0.0.2
1,首先,我們要先設置好服務器的名字和IP地址,這是前提,在此就不在截圖了
2,打開WEB1,以管理員身份登錄,從“管理工具”中運行“網絡負載平衡管理器”,用鼠標右鍵單擊“網絡負載平衡群集”如圖
3,從出現的菜單中選擇“新建群集”,進入“群集參數”界面。設置完成后進行下一步
4,可以根據自身的情況進行添加,然后下一步
5,看下端口規則的解釋,根據自身情況進行添加和編輯,然后下一步
6,這里是單網卡,如果是多網卡的話,會全部顯示出來,在選擇的時候一定要注意,選擇對方提供服務的IP地址,這里就一個也就無所謂了!
7,設置第一台服務器的優先級
8,正在進行配置,一小會就會完成變成綠色的!
9,至此,第一台已經配置完成,下面就是加入第二胎服務器,方法一樣的,在此就不在截圖了,最后完成的如圖,都處於聚合狀態
以后,如果這兩台服務器不能滿足需求,可以按以上步驟添加第3台、第4台計算機到網絡負載平衡中以滿足要求。
三:用IIS服務驗證網絡負載平衡
網絡負載平衡配置好后,為了實現某項具體的服務,需要在網絡負載平衡的計算機上安裝相應的服務。例 如:為了實現IIS網站的負載平衡,需要在相應的網絡負載平衡的計算機上安裝IIS服務。
安裝網絡負載平衡的應用程序時,不需要特別的方法,只需要在配置好網絡負載平衡的計算機上安裝相應的服務即可。但是為了讓每個用戶在通過網絡負載平衡訪問到不同的計算機時,能夠訪問到一致的數據,需要在網絡負載平衡的每台計算機上保持數據的一致性。舉例來說:實現了兩個節點的IIS的網絡負載平衡,為了保證兩個網站內容的一致性,除了這兩個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上點右鍵查找網卡名,即可到達.
IT--你---我---他----
IIS
轉載自:http://bbs.51cto.com/thread-912261-1-1.html