DNS負載均衡原理和設置實操講解
在我們學習負載均衡知識的時候,首先接觸的就是DNS負載均衡相關的內容,那么作為基礎內容,我們就來深入學習一下廣域多臺服務器的負載均衡配置。首先我們來對基礎內容進行一下回顧,之后會對相關的配置問題進行舉例講解。
兩臺以上的服務器進行協同工作必然涉及到負載均衡問題,目前常用的負載均衡技術主要有:NAT負載均衡、反向代理負載均衡及DNS負載。
NAT負載均衡將一個外部IP地址映射為多個內部IP地址,對每次連接請求動態地轉換為一個內部服務器的地址,將外部連接請求引到轉換得到地址的那個服務器上。反向代理負載均衡使用代理服務器將請求轉發給內部的Web服務器,讓代理服務器將請求均勻地轉發給多臺內部Web服務器之一上,從而達到負載均衡的目的。DNS負載均衡在DNS中為多個地址配置同一個名字,從而使得不同的客戶訪問不同的服務器來實現負載均衡。
DNS負載均衡原理
DNS負載均衡是通過循環復用實現的,如果發現主機名的多個地址資源記錄,則可用它循環使用包含在查詢應答中的主機資源記錄。在默認情況下,DNS服務器的服務使用循環復用對資源記錄進行排序,這些資源記錄是在解析為多個映射的主機名應答中返回的。該功能提供了一種非常簡便的方法,用于對客戶機使用Web服務器和其他頻繁查詢的多宿主計算機的負載平衡。
要使循環復用正常工作,必須首先在該區域中注冊所查詢名稱的多個主機資源紀錄,并啟用DNS服務器循環復用。如果DNS服務器禁止循環復用,那么這些查詢的響應順序以應答列表中資源記錄在區域中存儲時的靜態排序為基礎。
四臺服務器的負載均衡實例
可提供的服務:Web、Ftp系統實現的目的:做一個較完善的負載均衡系統,以共享和高效地利用資源設備狀況:五臺服務器,其中四臺服務器組成集群系統,IP地址分別為172.28.20.1、172.28.20.2、172.28.20.3、172.28.20.4;一臺服務器作為控制管理服務器,提供DNS服務,設企業域名為www.example.com.cn。服務器配置:集群系統服務器安裝Windows2000sever,須安裝Internet信息服務組件;DNS服務器安裝Windows2000sever,須安裝DNS組件。
⑴分別設置各臺服務器IP地址、子網掩碼、網關及DNS服務器地址,調通網絡。
⑵設置DNS服務器
①在DNS中創建正向搜索的標準主要區域,實現域名
DNS服務器上單擊開始/程序/管理工具/DNS,打開DNS控制臺。在控制臺樹中,右鍵單擊“正向搜索區域",單擊新建區域/新建區域向導/下一步,選擇區域類型為“標準主要區域"。如果不是在活動目錄的域控制器上創建DNS區域,則區域類型中的“與活動目錄集成的區域"選項按鈕不可用;單擊“下一步"。輸入要創建的區域名稱example.com.cn,選擇創建新的區域文件,文件名為example.com.cn.dns,單擊下一步/完成,區域example.com.cn出現在控制臺樹中的“正向搜索區域"下。
②在區域example.com.cn中注冊查詢名稱www.example.com.cn的多個主機資源記錄。
在DNS控制臺樹中右鍵單擊區域example.com.cn,單擊新建主機,彈出“新建主機"窗口。在“名稱"欄輸入主機名www,在“IP地址"欄輸入對應的IP地址172.28.20.1,單擊“添加主機"、“確定"按鈕;重復此過程,主機名仍為www,IP地址依次為172.28.20.2、172.28.20.3、172.28.20.4。單擊“完成"。四條名為www的主機記錄出現在正向搜索區域“example.com.cn"中,指針依次為172.28.20.1、172.28.20.2、172.28.20.3、172.28.20.4
③啟用多宿主名稱的循環復用#p#
單擊開始/程序/管理工具/DNS/DNS服務器名/屬性/高級,在“服務器選項"中,選擇“啟用循環"復選框,然后單擊“確定"。至此,正向搜索型查詢用于IP地址分別為172.20.20.1、172.28.20.2、172.28.20.3和172.28.20.4的多宿主主機(www.example.com.cn)配置完成。當客戶請求訪問www.example.com.cn時,DNS服務器將循環調度IP地址的次序,將按172.28.20.1、172.28.20.2、172.28.20.3和172.28.20.4的順序應答***個客戶的要求,下一個客戶對同樣信息的請求將用旋轉后的172.28.20.2、172.28.20.3、172.28.20.4和172.20.20.1這樣的順序應答,旋轉過程將持續下去,成功實現DNS負載均衡。按以上步驟設置好后,有時會有疑問,為什么pingwww.example.com.cn,返回的都是同一個IP?原因很簡單,這是因為只用1臺電腦做測試,ping了***次后,電腦就會做一個緩存。用多臺電腦來ping,或在一臺電腦上ping完每一次后,均運行ipconfig/flnshdns,就可測試出系統實現目的已達到。
需注意的兩點問題
⑴本地子網優先級
當集群中的服務器不在同一網段時,默認情況下,當客戶機查詢解析映射到多個IP地址的主機名時,DNS服務使用本地子網優先排序作為給出同一網絡上***IP地址的方法。此功能要求客戶應用程序嘗試使用連接可用的最近(一般是最快的)IP地址連接至主機。DNS服務按以下方式使用本地子網優先級:
①DNS服務確定是否需要本地子網的優先級排序查詢響應。
如果有多個地址資源記錄與要查詢的主機名匹配,則DNS服務可按其子網位置重新對記錄進行排序。如果查詢的主機名只與一個地址資源記錄匹配,或者客戶機的IP網絡地址與多重資源記錄響應列表上的任何映射地址的IP網絡地址匹配,則不需要進行優先排列。
②對于匹配響應列表中的每一個資源紀錄,DNS服務決定了哪些記錄(如果有)與查詢客戶機的子網位置匹配。
③DNS服務重新對響應列表進行排序,以便將與發出請求的客戶機的本地子網匹配的主機地址資源記錄排在響應列表中的***位。
④按子網的順序進行優先級排序后,響應列表將返回給發出請求的客戶機。
⑵不足之處
雖然循環復用DNS是一個普遍使用的在Web服務器上負載平衡的解決方案,但是,該方式有它自身的缺陷。循環復用DNS使用DNS將傳入的IP請求映射到定義的一系列循環形式的服務器。一旦發生服務器故障,循環復用DNS繼續把請求發送到這個故障服務器,一直到把該服務器從DNS中移走為止。這樣許多用戶必須等到DNS連接超時以后才能成功地訪問目標網站。