迴圈復用DNS實現多伺服器負載均衡

2021-05-28 06:57:36 字數 3736 閱讀 9516

企業知名度增加,**訪問量逐漸上公升,是每乙個網管所盼望的。但同時應用伺服器的資料流量和訪問量將成倍增加,伺服器將不堪重負。

1 概述

企業知名度增加,**訪問量逐漸上公升,是每乙個網管所盼望的。但同時應用伺服器的資料流量和訪問量將成倍增加,伺服器將不堪重負。

這時,可採用兩種方式解決此問題,一是進行硬體公升級,購買配置更高、效能更好的伺服器,這種方法的優點是簡單易行,缺點是投資大,會造成現有資源的浪費,且下一次業務量的提公升還會面臨同樣問題。另一種方法是採用集群技術,利用兩台以上的伺服器進行協同工作,在集群系統中執行的伺服器並不一定是高檔產品(可以是企業現有的伺服器),但伺服器的集群卻可以提供相當高效能的不停機服務;另外,隨著業務量的增大,可隨時增加集群系統中執行的伺服器數量。集群技術的優點是高可靠性和強大靈活的系統擴充能力。

兩台以上的伺服器進行協同工作必然涉及到負載均衡問題,目前常用的負載均衡技術主要有:nat負載均衡、反向**負載均衡及dns負載。

nat負載均衡將乙個外部ip位址對映為多個內部ip位址,對每次連線請求動態地轉換為乙個內部伺服器的位址,將外部連線請求引到轉換得到位址的那個伺服器上[1]。反向**負載均衡使用**伺服器將請求**給內部的web伺服器,讓**伺服器將請求均勻地**給多台內部web伺服器之一上,從而達到負載均衡的目的[2]。dns負載均衡在dns中為多個位址配置同乙個名字,從而使得不同的客戶訪問不同的伺服器來實現負載均衡。本文將詳細介紹dns負載均衡原理和技術實現。

2 dns負載均衡原理

dns負載均衡是通過迴圈復用實現的,如果發現主機名的多個位址資源記錄,則可用它迴圈使用包含在查詢應答中的主機資源記錄。在預設情況下,dns伺服器的服務使用迴圈復用對資源記錄進行排序,這些資源記錄是在解析為多個對映的主機名應答中返回的。該功能提供了一種非常簡便的方法,用於對客戶機使用web伺服器和其他頻繁查詢的多宿主計算機的負載平衡。

要使迴圈復用正常工作,必須首先在該區域中註冊所查詢名稱的多個主機資源紀錄,並啟用dns伺服器迴圈復用。如果dns伺服器禁止迴圈復用,那麼這些查詢的響應順序以應答列表中資源記錄在區域中儲存時的靜態排序為基礎。

3 四台伺服器的負載均衡例項

可提供的服務:web、ftp系統實現的目的:做乙個較完善的負載均衡系統,以共享和高效地利用資源裝置狀況:五颱伺服器,其中四台伺服器組成集群系統,ip位址分別為172.28.20.1、172.28.20.2、172.28.20.3、172.28.20.4;

一台伺服器作為控制管理伺服器,提供dns服務,設企業網域名稱為www.example.com.cn。

伺服器配置:集群系統伺服器安裝windows 2000 sever ,須安裝internet資訊服務元件;

dns伺服器安裝windows 2000 sever ,須安裝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

③啟用多宿主名稱的迴圈復用

單擊開始/程式/管理工具/dns/dns伺服器名/屬性/高階,在「伺服器選項」中,選擇「啟用迴圈」核取方塊,然後單擊「確定」。

至此,正向搜尋型查詢用於ip位址分別為172.20.20.1、172.28.20.2、172.28.20.3和172.28.20.4的多宿主主機(www.example.com.cn)配置完成,具體如圖1所示。

dns伺服器配置圖

當客戶請求訪問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,就可測試

出系統實現目的已達到。

4 需注意的兩點問題

⑴ 本地子網優先順序

當集群中的伺服器不在同一網段時,預設情況下,當客戶機查詢解析對映到多個 ip位址的主機名時,dns服務使用本地子網優先排序作為

給出同一網路上首選 ip 位址的方法。此功能要求客戶應用程式嘗試使用連線可用的最近(一般是最快的)ip 位址連線至主機。

dns 服務按以下方式使用本地子網優先順序:

①dns 服務確定是否需要本地子網的優先順序排序查詢響應。

如果有多個位址資源記錄與要查詢的主機名匹配,則 dns服務可按其子網位置重新對記錄進行排序。如果查詢的主機名只與乙個位址資源

記錄匹配,或者客戶機的 ip 網路位址與多重資源記錄響應列表上的任何對映位址的 ip 網路位址匹配,則不需要進行優先排列。

②對於匹配響應列表中的每乙個資源紀錄,dns 服務決定了哪些記錄(如果有)與查詢客戶機的子網位置匹配。

③dns 服務重新對響應列表進行排序,以便將與發出請求的客戶機的本地子網匹配的 主機位址資源記錄排在響應列表中的第一位。

④按子網的順序進行優先順序排序後,響應列表將返回給發出請求的客戶機。

⑵ 不足之處

雖然迴圈復用 dns 是乙個普遍使用的在 web 伺服器上負載平衡的解決方案,但是,該方式有它自身的缺陷。迴圈復用 dns使用dns

將傳入的 ip 請求對映到定義的一系列迴圈形式的伺服器。一旦發生伺服器故障,迴圈復用dns繼續把請求傳送到這個故障伺服器,一直

到把該伺服器從 dns 中移走為止。這樣許多使用者必須等到 dns 連線超時以後才能成功地訪問目標**。

5 結束語

集群負載均衡被認為是目前十大熱門技術之一,它也是乙個高階應用,internet/intranet中負載均衡方案應用十分廣泛,許多大中型網

站都難脫離這種技術。nat負載均衡、反向**均衡及dns負載均衡,將視需要而被採用。利用迴圈復用dns實現負載均衡是一種經濟又實用的方法,不需要新增昂貴的負載均衡裝置,並且伺服器可以位於網際網路的任意位置,該技術當前使用在包括yahoo在內的一些web站點上。

文章出處

搭建多區域DNS伺服器

步驟一 新增baidu.com區域 1 修改主配置檔案 etc named.conf 2 為新區域baidu.com建立解析記錄檔案 2015052201 更新序列號 4h 重新整理時間 15m 重試間隔 4h 超時時間 1d 無效記錄的生存時間 in ns svr5.tedu.cn.本區域dns伺...

搭建多區域DNS伺服器

沿用練習一,擴充套件現有的dns服務配置,增加對baidu.com區域的解析支援 1 能夠將www.baidu.com或baidu.com解析為1.2.3.4 2 能夠將music.baidu.com解析為5.6.7.8 另一方面,為192.168.4.0 24網段提供反向解析 1 能夠將192.1...

搭建多區域DNS伺服器

2.搭建多區域dns伺服器 問題沿用練習一,擴充套件現有的dns服務配置,增加對baidu.com區域的解析支援 1 能夠將www.baidu.com或baidu.com解析為1.2.3.4 2 能夠將music.baidu.com解析為5.6.7.8 另一方面,為192.168.4.0 24網段提...