win2003 使用DNS服務器實現負載均衡
筆者以企業網中的Web服務器為例來介紹一下如何使用DNS服務器實現網絡負載均衡。為了提高域名為“www.jb51.net”的網站的訪問量,在企業網中部署三臺內容相同的Web服務器,它們提供相同的服務,但每臺服務器的IP地址都不一樣。下面對企業網中的DNS服務器進行設置來實現三臺Web服務器共同承擔客戶對網站的訪問。
一、啟用循環
以WindowsServer2003系統為例,在DNS服務器中,依次點擊“開始→程序→管理工具→DNS”選項,進入DNS管理器窗口,鼠標右鍵點擊DNS服務器圖標,在彈出的快捷菜單中選擇“屬性”選項,接著在屬性對話框中切換到“高級”選項卡(圖1),確?!胺掌鬟x項”列表框中的“啟用循環”選項處于選中狀態。
二、添加主機記錄
在“jb51.net”區域中創建主機記錄。在DNS管理器窗口中,右鍵點擊“jb51.net”項,在彈出的菜單中選擇“新建主機”,進入新建主機對話框,在“名稱”欄中輸入“WWW”,IP地址欄中輸入其中一臺Web服務器的IP地址,如192.168.0.5,最后點擊“添加主機”按鈕。
因為企業網中有三臺Web服務器,并且它們的IP地址都不同,因此另外還要新建兩條主機名為“WWW”的主機記錄,方法和上面一樣,僅僅是它們的IP地址內容不同。這樣就能將網站域名分別解析到不同的Web服務器上。
DNS服務器jb51.net區域三條主機記錄內容如下表所示:
完成了以上三條主機記錄的創建后(圖2),就實現了Web服務器的網絡負載均衡。這樣當客戶機訪問www.jb51.net網站時,就會向DNS服務器發出域名解析請求。DNS服務器收到第一個請求時,會把第一個IP地址192.168.0.5返回給客戶機,當第二個客戶機要求域名解析時,DNS服務器就把第二個IP地址192.168.1.5返回給客戶機。通過這樣的循環分配,就可以把客戶機的訪問分擔到不同的Web服務器上,從而實現網絡負載均衡功能。
三、負載均衡功能的優化
企業網通常由很多子網構成,為了降低網絡中的數據流量,客戶機最好能訪問處于同一子網內的Web服務器。雖然實現了網絡負載均衡功能,但并不能保證客戶訪問的是本子網的Web服務器。其實這個問題也很好解決,只要啟用DNS服務器的“啟用網絡掩碼排序”功能即可。
在DNS管理器窗口中,右鍵點擊DNS服務器,在彈出的菜單中選擇“屬性”,然后在屬性對話框中切換到“高級”選項卡,勾選“服務器選項”列表框中的“啟用網絡掩碼排序”選項即可。這樣客戶機每次都能訪問到本子網內的Web服務器了。
完成以上設置后,就使DNS服務器實現了網絡負載均衡功能,把客戶的訪問分擔到每個Web服務器上,并且還減少了跨子網的網絡通信流量,大大降低了企業網的通信負擔。
完整版本:
現在網絡的規模越來越大,網絡中服務器的負載也變得越來越重。例如:在公司的網絡中安裝了一臺WEB服務器,用于向企業內部網中的用戶提供服務,假如網絡中有幾千甚至上萬個用戶需要同時訪問這臺WEB服務器,那么這臺服務器的性能將變得極差。
如何來解決這個問題呢?在Windows 2000 Advanced Server中提供有Load Banlance負載均衡服務可以解決這個問題,但該服務的設置較復雜。另外我們還可以通過DNS來實現負載均衡的功能。
Enable round robin 啟用循環
為了減輕某臺服務器的負載,我們可以在網絡中安裝多臺服務器。例如,原來網絡中只有一臺X235 的WEB服務器,其主機名為www.test.com,IP地址為192.168.1.100。為了減輕這臺WEB服務器的負載,我們可以在網絡中安裝多臺X235來提供WEB服務,并保證每臺WEB服務器的內容都是一致的。如果可以實現讓客戶端分別訪問不同的WEB服務器,這樣就達到了分擔負載的目的。那么如何讓客戶端分別向不同的WEB服務器訪問呢?這就要用到DNS服務所提供的round robin功能。
我們可以按如下步驟操作:
在Windows200中打開管理工具中的DNS管理器。
在DNS管理其中,用鼠標右鍵點擊該DNS服務器圖標,在彈出的菜單中選擇Property屬性菜單。
在彈出的窗口中,選擇Advanced選項卡。確保Enable round robin選項是處于被選中的狀態。
點擊OK關閉該窗口。
當設定好Round roubin后,接下來需要在DNS的區域(Zone)中添加主機記錄:
打開管理工具中的DNS管理器
用鼠標右鍵點擊將要創建記錄的區域,在彈出的菜單中選擇New host新建主機記錄。然后依照向導提示輸入必要的信息。
主機名 IP地址
www 192.168.1.200
www 192.168.1.201
www 192.168.1.202
當輸入完所有主機的主機名與IP的對應關系后,你將看到類似于下圖的窗口。
在這里我們注意到,添加的三條主機記錄是同一個主機名對應著不同的IP。這些不同的IP即為網絡中安裝的多臺WEB服務器的實際IP,他們對應著同一個主機名www.test.com。
這樣當客戶端們在瀏覽器的地址欄中輸入:www.test.com去訪問WEB服務器時,就會向DNS服務器發出名稱解析請求。當DNS服務器收到第一個客戶端的請求時,會把第一個IP 192.168.1.200響應給客戶端,當第二個客戶端要求解析時,服務器把第二個IP192.168.1.201響應給客戶端,以此類推。通過這樣的循環分配IP地址,就可以讓不同的客戶器訪問不同的服務器,從而達到分擔服務器的負載的功能。
Enable netmask ordering 啟用子網優先
如果公司的網絡是由多個子網構成的,為了使用戶能夠更有效地訪問服務器中的資源,例如WEB服務器上的資源,我們可以在每個子網中都安裝一臺WEB服務器,這些WEB服務器保存的數據是完全一樣的并且都使用同一個主機名,例如:www.test.com。那么如何讓用戶在其瀏覽器的地址欄中輸入主機名www.test.com時,訪問的是本子網的WEB服務器,而不是其他子網的web服務器呢?我們可以通過設置Enable netmask ordering 啟用子網優先來實現這一功能。
想實現Enable netmask ordering 啟用子網優先,我們可以按以下步驟操作:
打開管理工具中的DNS管理器
在DNS管理其中,用鼠標右鍵點擊該DNS服務器圖標,在彈出的菜單中選擇Properties屬性菜單。在彈出的窗口中,選擇Advanced選項卡。確保Enable subnet ordering選項是處于被選中的狀態。點擊OK關閉該窗口。
當設定好subnet ordering后,接下來需要在區域中添加主機記錄:
打開管理工具中的DNS管理器
用鼠標右鍵單擊將要創建記錄的區域,在彈出的菜單中選擇New host新建主機記錄。然后依照向導提示輸入必要的信息。
例如:
主機名 IP地址
www 192.168.1.200
www 202.96.1.201
www 64.35.1.202
當輸入完所有主機的主機名與IP的對應關系后,你將看到類似于下圖的窗口。
這樣我們在DNS服務器中添加了三條主機記錄:同一個主機名對應著不同的IP。這些不同的IP即為不同子網中安裝的WEB服務器的實際IP地址,他們對應著同一個主機名www.test.com。
這樣當用戶在其瀏覽器的地址欄中輸入:www.test.com去訪問該WEB服務器時,該客戶端就會向DNS服務器發出名稱解析請求。作為DNS服務器收到客戶端的查詢請求后,將比較客戶端的IP地址,與它所請求的主機名所對應的IP地址中的哪一個在同一子網中,然后將這個IP (與客戶端在同一子網中的IP地址) 響應給客戶端。這樣就可以實現客戶端訪問的總是本子網中的服務器, 把服務器的訪問負載分攤到了各個子網的服務器中,并且減少了跨子網的網絡流量。
相關文章: