題記:算法
服務器是企業信息網絡的核心。windows
隨着應用的深刻,企業網內的信息流量快速增加,當用戶量及其應用量很大時,在同一時刻企業的主機服務器可能要承受大量用戶的來訪請求,然而一臺主機的處理能力是有限的,假若訪問量的增加超過了主機的處理極限,主機的處理能力就會成爲企業網應用的瓶頸,這將制約網絡應用的繼續發展。 服務器
解決之道 網絡
解決這個問題的傳統思路是更換技術更加先進、性能更增強大的主機服務器,然而這將使企業面臨資金投入的巨大壓力,並且對於一個成長型企業來講,網絡應用信息量增加的速度很快,新的主機可能在不遠的未來遭遇相同的尷尬處境。 分佈式
另外一個解決思路就是使用流量分擔技術。即在網絡內增長多臺主機服務器,並讓這些服務器保存和處理相同的應用內容。這樣的主機服務器並不必定要求是技術最早進、性能最強大的,因此投資能夠相對較少,可是由它們組成的服務器羣,卻可以共同完成網絡的服務功能。當用戶來訪時,這些服務器輪流響應不一樣用戶的請求,經過流量分擔技術把大量的用戶請求自動地分散到了不一樣的主機服務器中處理,從而減小了單個主機上的任務量,實現了網絡流量在多臺主機間的平衡處理。 ide
流量分擔技術實現的方法根據系統的軟硬件不一樣而有所區別,有通用方法也有專用方法,有的網絡系統還爲此提供了專門的服務。微軟的Windows Server 2003就在其網絡內提供了許多此類技術,主要是分佈式文件系統(DFS)。 工具
DFS 發威 性能
DFS即分佈式文件系統,主要用於解決把分散的共享資源集中管理的問題,它其實還有一個重要的功能,就是在域環境中可以利用文件複製服務(FRS)爲共享目錄產生副本。 操作系統
DFS的基本概念是DFS根和DFS鏈接。DFS根指服務器或服務器組,是客戶端試圖訪問文件時首先要前往的地方。這些服務器一般分佈在一個域的各個站點中。DFS 鏈接是指從邏輯目錄到能夠處理文件請求的服務器(位於企業內的任意位置)上的物理共享文件夾的引用。在Windows Server 2003中,大大加強了DFS的功能。 Windows Server 2003 在可靠性方面,針對DFS 做了重要的功能提高:一個服務器能夠主持多個DFS 根。在Windows 2000中,不可能在一個服務器上有多個DFS根。所以,須要有大量運行Windows 2000 的服務器來主持多個DFS根。在Windows Server 2003 中,取消了這一限制。此外,Windows 2000 羣集的獨立DFS 服務器只能主持一個DFS根,而Windows Server 2003容許主持多個DFS根。 指針
Windows Server 2003 還改進了在跨越多個站點對複製操做進行設置時的DFS行爲。在 Windows 2000中,DFS 會優先考慮與客戶端位於同一站點中的目標,若是在該站點中沒有鏈接目標,它會在任何其餘站點中爲該客戶端請求選擇任意的鏈接目標。這種算法不是最有效的。
例如,若是某企業有分別位於北京、天津和上海的站點,而且其客戶端計算機試圖訪問天津中的鏈接,則當天津中的全部鏈接目標都沒法訪問時,該客戶端計算機不會考慮通訊成本的高低,而故障轉移到北京或上海中的某個目標。與此不一樣的是,Windows Server 2003會使用主動目錄(Active Directory)中的站點開銷信息來選擇可以知足客戶端請求的站點外目標。對於該企業的這種狀況,DFS 可以從主動目錄瞭解到從天津到上海的通訊費用比從天津到北京的通訊費用更昂貴,所以它會根據主動目錄中的站點配置相應地將天津的客戶端重定向到最近的北京目標。
利用DFS
實現流量分擔方法的首先要在多臺主機服務器內保持相同的內容,即把某主機的特定內容動態地複製到多臺主機中。好比在Windows Server 2003 裏,咱們就能夠藉助DFS 技術來完成此目的。經過使用DFS 在域環境中可以利用文件複製服務(FRS)爲共享目錄產生副本這一功能,就可以把指定主機服務器內某一文件夾下的內容自動拷貝到其餘一臺或多臺服務器中,從而就實現了主機間保持相同內容的目的。
在Windows Server 2003 中使用DFS的第一步是要創建DFS 根目錄。
從Windows Server 2003 的管理工具進入「分佈式文件系統」管理器,在這裏新建DFS根目錄。創建根目錄的時候系統會要求選擇根的類型。DFS根的類型有兩種:一種是域DFS;另外一種是獨立DFS,要想實現目錄的副本,必須
選擇域DFS 類型。獨立DFS 只是在非域環境內創建的,它不能支持文件複製服務。
在域環境裏創建DFS,需指定域名和保存DFS 根的主機服務器名,其中域能夠是本地域也能夠信任域。而後如圖1 所示要定義根的名稱,此名稱是用來在域中標識 DFS根的。接着要在主機服務器的NTFS分區內指定一個共享文件夾用來放置DFS 根。第二步是要創建連接。連接是從DFS 根中指向網絡內各共享目錄的指針。在「分佈式文件系統」管理器裏用鼠標右擊已經創建的DFS根,選擇「新建連接」。在新建連接的嚮導裏須要指定連接指向的目標位置,而後爲此連接起一個形象的名稱。
經過以上創建連接的方法能夠分別把網絡中各個共享目錄都組織DFS 中來,這樣用戶只要訪問DFS 根就可以訪問到其中的全部共享目錄了。
域DFS的連接創建後,就能夠爲其建立副本。指定另外一臺服務器上的一個共享目錄做爲副本複製的目的地。接下來在複製嚮導中定義複製的具體對象。一臺主機服務器裏的共享目錄能夠被指定複製到其餘多臺服務器中。
至此,在多臺主機內保持相同內容的工做就完成了。Windows Server 2003的DFS會利用文件複製服務,把某主機服務器的特定內容動態地複製到多臺服務器中。經過定義DFS 根的屬性,還能夠把DFS 發佈到活動目錄中,當域用戶在活動目錄裏訪問此主機服務器的連接內容時,DFS就會自動在多臺服務器的副本間分流訪問流量。然而這樣的應用只解決了企業網內部 Windows用戶的訪問問題,可是,許多非企業網用戶也許根本訪問不到域的DFS根,好比廣域網用戶在訪問主機服務器上的Web頁內容時就不是直接訪問DFS根的,從而也就沒法訪問其中的連接副本。所以還應該選擇一種更通用的方法來實現不一樣主機服務器間的流量分擔。
藉助DNS
對於上述問題,能夠經過域名服務(DNS)來解決。根據DNS的工做特色,咱們的思路是讓DNS將同一個主機名稱輪流解析到不一樣的IP地址,即把信息輪流交換到不一樣的網絡主機內,這些主機就是咱們在前面已經利用Windows Sever 2003 的DFS 副本技術準備好了的、保存了相同內容的服務器,從而達到在多臺主機間分擔網絡流量的目的。
實現這一功能能夠藉助Windows Server 2003 的 DNS 服務器裏提供的循環解析功能來完成。
首先要在DNS管理器內進行「新建主機」操做,即指定主機名稱與其IP地址的映射對應關係,在此應該將全部在前面介紹的已經保存了副本目錄的各臺主機都定義到 DNS服務器中。設置時應該注意,要根據主機的網絡地址爲各臺主機指定不一樣的IP,但同時各主機都要起同一個相同的名稱。通過這一步的定義後在DNS服務器裏就配置出了多臺具備相同名稱但不一樣地址的主機。接下來進入屬性設置的高級配置中定義服務器選項。要達到讓DNS把信息輪流交換到不一樣主機的目的,必須在這裏選中「啓用循環」選項,這個功能是此技術的關鍵,它利用DNS將同一個主機名稱輪流解析到不一樣的IP地址上。
完成這些設置工做後,Windows Server 2003 網絡中利用多主機服務器來分擔網絡流量的任務就能夠實現了。當許多用戶同時訪問網絡主機時,DNS服務器會先把第一臺主機的IP地址迴應給第一個用戶,而後把第二臺主機的IP地址迴應給第二個用戶,等等,當用完最後一個IP地址後再動態循環到第一臺主機,以次類推。用戶在訪問時不用知道主機的具體網絡地址,只要訪問主機的名稱便可,全部流量的分配工做由DNS 服務器自動完成,並且DNS 服務器還可以根據子網的劃分,優先由子網內的主機來處理來自同一子網的用戶訪問,這樣就實現了網絡流量在多臺主機服務器間的負載平衡。
以上介紹的這種分擔流量的方法,使用了Windows Server 2003 中的DFS 和DNS兩個服務,技術徹底由軟件實現,實現起來比較簡單,並且成本低,不須要配置額外的硬件。雖然功能相對較少,但使用操做系統自己的網絡技術,不須要另外的其餘負載平衡服務,因此此方法通用性較強,任何提供目錄副本技術和支持DNS循環解析功能的主機服務器都可以實現。
另外,在實際使用時,主機數量要依據網絡的流量統計來決定,不切實際地增長主機數量可能會加劇文件複製服務和DNS 服務的負擔,反而有可能下降系統的整體性能。對於系統要求高,功能複雜的環境,應該根據需求來選擇可以知足應用的方案。總之,最終目的是減輕單個主機服務器的負載壓力,但不能犧牲網絡其餘方面的性能,因此要對網絡進行統籌規劃,如正確劃分子網以及肯定子網內的主機數量等等。