注意 |
---|
使用本資訊及其支援的產品之前, 請先閱讀附錄 E, 注意事項下的一般資訊。 |
第一版 (2002 年 11 月)
(C) Copyright International Business Machines Corporation 2002. All rights reserved.
Note to U.S. government Users -- Documentation related ...
Content Based Routing (CBR) 元件
本書將說明如何規劃、安裝、配置、 使用及疑難排解 IBM(R)WebSphere(R) Application Server Load Balancer for AIX、Linux、Solaris 及 Windows 2000。 本產品先前稱做 Edge Server Network Dispatcher、SecureWay Network Dispatcher、eNetwork Dispatcher 及 Interactive Network Dispatcher。
Load Balancer 管理手冊是針對熟悉作業系統及熟悉提供網際網路服務的有經驗網路及系統管理員而撰寫的。不需要之前使用 Load Balancer 的經驗。
本書不支援先前版次的 Load Balancer。
造訪 Edge Components InfoCenter (ecinfocenter) 網站以取得最新詳細資訊,讓您瞭解如何使用 Load Balancer for Edge Component,來發揮伺服器的最大效能。其中也包含了配置範例及內容。
Edge Components InfoCenter 網站鏈結到本書的最新版本 (以 HTML 及 PDF 格式表示)。
如需有關 Load Balancer 最近的更新內容與用法提示,請造訪下列網站支援頁面, 然後按一下 Search for Load Balancer hints and tips。 您可以從 Edge Components InfoCenter 鏈結到這個網站。
若要存取這些以及相關的網頁,請到列示於 相關的文件及網站 的 URL。
協助工具特性協助殘障使用者,如行動不便者或視障者,來順利使用軟體產品。 這些是 Load Balancer 中的主要協助工具特性:
您的回應對我們十分重要,因為它有助於我們提供最正確且高品質的資訊。 如果您對本書或其它 Edge 元件文件有任何意見:
本篇提供 Load Balancer 及其元件的概觀、可用配置特性的高階說明、 軟硬體需求的清單,以及安裝指示。它含有下列各章:
本章將提供 Load Balancer 的概觀,其中包含下列段落:
如需每一個 Load Balancer 元件提供的配置特性的高階清單,協助您規劃要使用哪些特性來管理您的網路,請參閱管理您的網路:決定要使用哪些 Load Balancer 特性。
Load Balancer 是一種軟體解決方案,用於將外來的從屬站要求分送給各個伺服器。 它會將 TCP/IP 階段作業要求引導給伺服器群組內不同的伺服器, 藉此來提升伺服器的效能;在這種方式中,可以平衡所有伺服器之間的要求。 這種平衡負載將不會影響到使用者及其它應用程式。Load Balancer 對如下各種應用程式相當有用: E-mail 伺服器、全球資訊網 (World Wide Web) 伺服器、分散式平行資料庫查詢, 以及其它 TCP/IP 應用程式。
當搭配 Web 伺服器使用時,Load Balancer 可以對尖峰需求的問題, 提供強大、有彈性及可調整的解決方案,使您的站台發揮最大的效能。如果需求量過大,到站訪客無法順利進入時,可用 Load Balancer 自動尋找最佳伺服器來處理進入的要求,進而提高客戶的滿意度以及您的利潤。
Load Balancer 是由以下五種元件組成,它們可單獨使用,或一起使用而提供更好的平衡負載效果:
在 HTTP 通信協定方面,您也可用 Dispatcher 的根據內容遞送特性,根據從屬站要求的內容來平衡負載。 所選擇的伺服器是 URL 符合所指定之規則的結果。
有關 Dispatcher、CBR、Site Selector、Cisco CSS Controller 及 Nortel Alteon Controller 等元件的進一步資訊,請參閱Load Balancer 有哪些元件?。
連上全球 Internet 的使用者及網路的數目激增,這種快速成長導致規模不足的問題, 進而限制了存取受歡迎站台的使用者數目。
目前,網路管理者可以各顯神通,以五花八門的手法,努力擴大存取數目。這些方法中, 有一些容許使用者在最初選用的伺服器較慢或未回應時,可以隨機選擇不同的伺服器。 這種方法既費事,又麻煩,效率極差。另一種方法就是標準的循環法, 領域名稱伺服器輪流選取伺服器來處理要求。 這種方法有進步,但是,仍然沒有效率,因為它盲目地轉遞要求, 完全不考慮伺服器的工作負荷。此外,即使伺服器發生故障,要求仍會繼續傳送進來。
因為需要功能更強大的解決方案,所以產生了 Load Balancer。 比早期解決方案及競爭對手的解決方案功能來得更強。
隨著從屬站要求數目的增加,您可以動態地新增伺服器, 如此每天可在數十甚至數百台的伺服器上,提供數千萬個要求的支援。
平衡負載可藉著將標準環繞式方法常見的熱點減至最少,確保每一組伺服器發揮其硬體的最大作用。
Load Balancer 是使用標準的 TCP/IP 通訊協定。您可以將它新增到現存的網路中, 而不必更動網路設備,易於安裝及配置。
使用簡單 mac 層次轉送方法時,Dispatcher 元件只會觀察從屬站到伺服器的入埠資料流量。 毋需察看伺服器至從屬站的離埠資料流量。與其它應用程式相較下, 將大大地減少對應用程式的影響,因而可以改善網路的效能。
Dispatcher、Cisco CSS Controller 及 Nortel Alteon Controller 元件提供內建的高可用性,以便在主要伺服器機器發生故障時, 能隨時利用備妥的備份機器,來接管平衡負載的工作。當其中一個伺服器發生故障時, 其他伺服器將繼續服務要求。這將消除任何作為單一故障點的伺服器,因而使得站台高度可用。
進一步資訊,請參閱何謂高可用性?。
搭配 Caching Proxy 時,CBR 元件即能根據所要求的內容,將 HTTP 及 HTTPS (SSL) 要求 proxy 到特定伺服器。 例如,若有一個要求在 URL 的目錄部份包含字串 '/cgi-bin/',而且伺服器名稱為本端伺服器, CBR 便可以將要求引導至特別配置來處理 CGI 要求的一組伺服器中的最佳伺服器。
Dispatcher 元件亦具備根據內容遞送能力,但它不需安裝 Caching Proxy。 由於 Dispatcher 元件的根據內容遞送作業是在收到封包時於核心程式中執行, 因此其所提供的根據內容遞送快於 CBR 元件。 Dispatcher 元件會針對 HTTP (使用 "內容" 類型規則) 及 HTTPS (使用 SSL 階段作業 ID 相關性) 來執行根據內容遞送。
Dispatcher 元件具備內建的高可用性特性,可從網路消除作為單一故障點的 Dispatcher。 這種特性必需使用第二台 Dispatcher 機器, 來監督主要機器, 並在主要機器發生故障時,隨時接管平衡負載的作業。 Dispatcher 還具備共同高可用性,容許兩台機器同為彼此的主要及次要 (備用) 機器。請參閱配置高可用性。
使用兩層配置且 Dispatcher 機器正平衡負載多重伺服器 (具有 CBR 或 Site Selector) 的資料傳輸時, 您可以針對 Load Balancer 的這些元件達到某種層次的高可用性。
控制器具有高可用性特性,可消除作為單一故障點的控制器。 機器上的控制器可以配置成主要控制器,不同機器上的控制器則可以配置成備份控制器。 備份控制器會監督主要控制器,並等待萬一主要控制器發生故障時,接管提供伺服器加權值給交換器的作業。相關資訊,請參閱高可用性。
Load Balancer for IBM WebSphere Application Server 版本 5.0 含有若干新的特性。其中最重要的新特性如下。
此特性適用於所有的 Load Balancer 元件。
此版次支援新版的 Red Hat Linux 與 SuSE Linux,並新增 SuSE SLES Linux 的支援。 相關資訊,請參閱Red Hat Linux、SuSE Linux 或 SuSE SLES Linux 的基本需求。
此特性適用於所有的 Load Balancer 元件。
只在 AIX 5.1 及 Solaris 8 上,除了 32 位元模式核心的支援之外,已延伸到 64 位元模式的支援。 進一步資訊,請參閱AIX 的基本需求及Solaris 的基本需求。
Cisco CSS Controller (原先稱為 Cisco Consultant) 是一種 Load Balancer 元件,會計算 Cisco CSS 交換器所平衡負載的伺服器的加權值。 Cisco CSS 交換器是支援 SNMP 的硬體型 Load Balancer。 控制器會使用較強的應用程式及系統意識,來增強 Cisco CSS 交換器的伺服器平衡負載功能。
如需進一步資訊,請參閱快速入門配置、規劃 Cisco CSS Controller 元件及配置 Cisco CSS Controller 元件。
此特性是 Load Balancer 的新元件。
Nortel Alteon Controller 計算 Nortel Alteon Web Switch 所平衡負載的伺服器的加權值。Nortel Alteon Web Switch 交換器是具有 SNMP 介面的硬體型 Load Balancer,可供您提取連線資訊及設定加權值。 Nortel Alteon Controller 是新的 Load Balancer 元件,可監督由 Alteon 交換器平衡負載的伺服器,並提供適當的加權值以確定準確的平衡負載。控制器會使用較強的應用程式及系統意識,來增強 Nortel Alteon 交換器的伺服器平衡負載功能。
如需進一步資訊,請參閱快速入門配置、規劃 Nortel Alteon Controller 元件及配置 Nortel Alteon Controller 元件。
此特性適用於 Cisco CSS Controller 及 Nortel Alteon Controller 等元件。
Load Balancer 支援 Cisco CSS Controller 元件及 Nortel Alteon Controller 元件的高可用性。客戶現已可在備份伺服器中安裝控制器,以便在主要控制器失敗時加以接管。
若是 Cisco CSS Controller,請參閱高可用性以取得進一步資訊。
若是 Nortel Alteon Controller,請參閱高可用性以取得進一步資訊。
這個特性適用於 CBR 元件。
CBR 現已支援透過相關性的 WAS 格式,將 Web 應用程式要求平衡負載至 WAS (版本 5) 伺服器。 CBR 有能力將 WAS HTTP plugin 配置檔自動對映到 CBR 配置,以便執行您的 WAS 配置之平衡負載。
這個特性適用於 Dispatcher 及 CBR 元件。
每秒連線數規則的增強功能可讓客戶指定 "upserversonrule" 選項。 藉由指定這個選項,您可以確定如果伺服器集中有一個或多個伺服器已關閉, 剩餘的伺服器將不會超載。
相關資訊,請參閱使用基於每秒連線數的規則。
這個特性適用於 CBR 元件。
CBR 主動 cookie 相關性之前的實作,把從屬站到伺服器的連線建立在要求的叢集和埠之基礎。 這可能會變成有多重規則與不同伺服器集的配置問題。增強功能將容許單一叢集及埠中的多重相關性, 並容許從屬站基於要求本文,維護可能有很多不同伺服器的相關性。
相關資訊,請參閱主動 cookie 相關性。
這個特性適用於 Dispatcher 元件。
Load Balancer 現在提供 Linux 平台上的 SNMP 支援。相關資訊,請參閱SNMP 指令及通訊協定。
此特性適用於 Load Balancer 的所有元件。
Load Balancer 除了透過 RMI (遠端方法呼叫) 支援遠端管理之外,也支援「遠端 Web 型管理」。 即使防火牆存在,Web 型管理也會提供 Load Balancer 的安全、鑑別的遠端管理。相關資訊,請參閱Web 型管理。
此特性適用於 Load Balancer 的所有元件。
現在可以從 GUI 樹狀結構中的「主電腦」節點存取指令行 (「傳送指令」)。 進一步資訊,請參閱第 *** 頁。
這個特性適用於 Dispatcher 元件。
在 Load Balancer 問題判定方面,已提供一個工具 (lbpd), 該工具可快速且輕鬆地收集客戶可以傳送至 IBM 服務的重要資訊。 相關資訊,請參閱收集疑難排解資訊。
此特性適用於 Dispatcher、CBR 及 Site Selector 等元件。
除了「輕裝備」SSL 通告器外,Load Balancer 現在新提供「重裝備」HTTPS 通告器的支援。HTTPS 通告器會開啟完整 SSL 連線,可以使用伺服器建立完整 SSL socket。 (相反地,輕裝備 SSL 通告器不會使用伺服器來建立完整的 SSL socket。)
有關 HTTPS 通告器的進一步資訊,請參閱通告器列示。
此特性套用於所有的 Load Balancer 元件。
Load Balancer 目前新提供監視 LDAP 伺服器狀況的 LDAP 通告器。
請參閱通告器列示,以取得進一步資訊。
此特性套用於所有的 Load Balancer 元件。
通告器目前有能力在標示伺服器當機之前重試連線。
這個特性適用於 Dispatcher 元件。
Dispatcher 目前有能力來傳送 TCP 重設到當機伺服器。TCP 重設導致立即關閉連線。
請參閱傳送 TCP 重設到當機伺服器 (僅適用於 Dispatcher 元件),以取得進一步資訊。
下列特性已從 Load Balancer 中移除
本章將提供 Load Balancer 各項元件的概觀,其中包含下列各節:
如需每一個 Load Balancer 元件提供的配置特性的高階清單,協助您規劃要使用哪些特性來管理您的網路,請參閱管理您的網路:決定要使用哪些 Load Balancer 特性。
Load Balancer 共有五項元件:Dispatcher、Content Based Routing (CBR)、Site Selector、Cisco CSS Controller 及 Nortel Alteon Controller。 Load Balancer 會依據您的站台配置,來提供您個別或搭配使用這些元件的彈性。 本章將分別提供這些元件的概觀。
Dispatcher 元件會透過平衡負載及管理軟體的獨特組合, 來平衡您的伺服器之間的資料傳輸。Dispatcher 也可以偵測出發生故障的伺服器,並在轉送資料時繞過該伺服器。 Dispatcher 可支援 HTTP、FTP、SSL、SMTP、NNTP、IMAP、POP3、Telnet 及任何其它 TCP 或無狀態 UDP 型的應用程式。
所有傳給 Dispatcher 機器的從屬站要求,都會依據某些動態設定的加權值,被引導至「最佳」伺服器。 在處理配置期間,您可以使用加權值的預設值,或變更這些值。
Dispatcher 元件是穩定且有效管理大規模、可調整之伺服器網路的關鍵。 透過 Dispatcher,您可以將許多個別的伺服器鏈結起來,使之形同單一的虛擬伺服器。 因此,您的站台將以單一 IP 位址出現在全世界面前。Dispatcher 功能在不受領域名稱伺服器的影響下運作;所有要求都將傳送至 Dispatcher 機器的 IP 位址。
Dispatcher 可為叢集伺服器帶來平衡資料傳輸負載的獨特優點,因而能夠穩定且有效地管理您的站台。
圖 1. 使用 Dispatcher 來管理本端伺服器的站台之實體表示法範例
圖 1顯示使用「乙太網路」配置的站台之實體呈現。 您可在不變更網路設備下,安裝 Dispatcher 機器。在從屬站要求經由 Dispatcher 引導至最佳伺服器後,回應將在沒有 Dispatcher 的參與下,以 MAC 轉送方法直接從伺服器傳送至從屬站。
圖 2. 使用 Dispatcher 及 Metric Server 來管理伺服器的站台範例
圖 2 說明所有伺服器均位在區域網路中的站台。Dispatcher 元件可用來轉送要求,而 Metric Server 則可用來提供系統負載資訊給 Dispatcher 機器。
在這個範例中,Metric Server 常駐程式會安裝在每一個後端伺服器上。 您可以將 Metric Server 搭配 Dispatcher 元件或任何其他 Load Balancer 元件來使用。
圖 3. 使用 Dispatcher 管理本端及遠端伺服器的站台範例
Dispatcher 中的廣域支援可讓您使用本端伺服器及遠端伺服器 (不同子網路上的伺服器)。 圖 3 所示的配置中,某一本端 Dispatcher (Dispatcher 1) 可當作所有要求的進入點。它會將這些要求在自己的本端伺服器間 (伺服器 A、伺服器 B、伺服器 C) 分送,並分送給遠端 Dispatcher (Dispatcher 2),而後者將平衡負載給其本端伺服器 (伺服器 G、伺服器 H、伺服器 I)。
當使用 Dispatcher 的 NAT 轉送方法或使用 GRE 支援時,不須在遠端站台 (伺服器 D、伺服器 E 及伺服器 F 所在之處) 使用 Dispatcher,同樣可達成 Dispatcher 廣域支援。 如需進一步資訊,請參閱Dispatcher 的 NAT/NAPT (nat 轉送方法)及GRE (同屬遞送封裝) 支援。
CBR 可搭配 Caching Proxy 將從屬站要求轉遞至指定的 HTTP 或 HTTPS (SSL) 伺服器。 它可讓您處理快取明細, 以低網路頻寬需求,即可獲得較快的速度來擷取 Web 文件。CBR 以及 Caching Proxy 會用指定的規則類型來檢查 HTTP 要求。
CBR 可讓您指定一組伺服器,以根據符合要求內容的正規表示式來處理要求。 因為 CBR 可讓您針對每種類型的要求來指定多重伺服器, 所以可將要求平衡負載,以獲得最佳的從屬站回應。伺服器群組中若有伺服器發生故障,CBR 也會偵測到, 並停止將要求遞送至該伺服器。CBR 元件所使用的平衡負載演算法,與 Dispatcher 元件所使用的證明演算法相同。
當 Caching Proxy 收到要求時,會用定義於 CBR 元件中的規則來加以檢查。 如果找到符合的項目,就會選擇與該規則相關的其中一個伺服器來處理要求。 然後 Caching Proxy 會執行其一般的處理程序,以將要求 proxy 至所選擇的伺服器。
除了高可用性、子代理程式、 廣域及少數其它配置指令以外,CBR 的功能皆與 Dispatcher 相同。
須先執行 Caching Proxy,之後 CBR 才可平衡負載從屬站要求。
圖 4 顯示站台的邏輯表示法,其中是以 CBR 來從本端伺服器 proxy 一些內容。CBR 元件會使用 Caching Proxy,根據 URL 的內容,將從屬站要求 (HTTP 或 HTTPS) 轉送給伺服器。
Site Selector 可作為名稱伺服器,搭配網域名稱系統中的其他名稱伺服器,以所收集的測量值與加權值,來平衡負載一組伺服器。 您可以建立站台配置,藉以依據從屬站要求所使用的網域名稱,來平衡負載一組伺服器間的資料傳輸。
從屬站會向其網路中的名稱伺服器送出解析網域名稱的要求。 名稱伺服器會將此要求轉送給 Site Selector 機器。 Site Selector 接著便將網域名稱解析成 IP 位址,而此位址屬於站台名稱下所配置的某一伺服器。 Site Selector 會將選定伺服器的 IP 位址傳回給名稱伺服器。 名稱伺服器傳回 IP 位址給從屬站。
Metric Server 是 Load Balancer 的系統監督元件,必須安裝至您配置中每個已平衡負載的伺服器上。 透過 Metric Server,Site Selector 即可監督伺服器的活動層次,偵測伺服器何時負載最小,以及偵測失敗的伺服器。 資料流量可測量伺服器的工作負荷。藉由自行設定系統測量單位 Script 檔,您即可控制用於量測負載的測量類型。 您可以配置 Site Selector 來配合您的環境, 您應考慮的因素如下:存取率、使用者總數及存取類型 (例如,短查詢、長時間執行的查詢,或密集載入 CPU)。
圖 5. 使用 Site Selector 及 Metric Server 來管理本端與遠端伺服器的站台範例
圖 5 所示為使用 Site Selector 元件來回答要求的站台。伺服器 1、伺服器 2 及伺服器 3 為本端站台。 伺服器 4、伺服器 5 及伺服器 6 則為遠端站台。
若某一從屬站向從屬站名稱伺服器送出網域名稱解析要求。 從屬站名稱伺服器會透過 DNS 將要求轉送給 Site Selector 機器 (路徑 1)。 Site Selector 接著會將網域名稱解析成其中一個伺服器的 IP 位址。 之後,Site Selector 會將選定伺服器的 IP 位址傳回給從屬站名稱伺服器。 名稱伺服器再將 IP 位址傳回給從屬站。
在從屬站收到伺服器的 IP 位址後,從屬站即會把應用程式要求直接遞送到所選定的伺服器 (路徑 2)。
Cisco CSS Controller 搭配 Cisco 的 CSS 11000 系列交換器,即可構成完整的解決方案。 此種合併解決方案將 CSS 11000 系列強大的封包轉送及內容遞送功能, 與 Load Balancer 用以決定服務 (後端伺服器應用程式或資料庫) 可用性與負載資訊的精密自覺演算法相結合。 Cisco CSS Controller 功能會利用 Load Balancer 的加權值計算演算法、標準及自訂的通告器,以及 Metric Server,來決定服務的測量單位、狀況及負載。 藉助這些資訊,Cisco CSS Controller 即可產生服務加權值,傳給 Cisco CSS Switch 以進行最佳服務選取、負載最佳化及容錯。
Cisco CSS Controller 會追蹤許多基準,包含:
當 Cisco CSS Switch (不具 Cisco CSS Controller) 要判定內容提供服務的狀況時,它會使用內容要求的回應時間或其它網路基準。 待 Cisco CSS Controller 就位後,這些活動即會從 Cisco CSS Switch 卸載至 Cisco CSS Controller。Cisco CSS Controller 會影響服務的加權值或提供內容的能力, 並在服務重新獲得或喪失可用性時,視需要啟動或暫停服務。
Cisco CSS Controller:
加權值將引用至埠上的所有服務中。對任何特定埠而言,系統將依據服務彼此的相對加權值,在服務之間分送要求。 例如,如果有一個服務設定為加權值 10,而另一個為 5,則設定為 10 的服務取得的要求數目是設定為 5 的服務的兩倍。 這些加權值是用 SNMP 來提供給 Cisco CSS Switch。 任何服務,只要它的加權值設得較高,Cisco CSS Switch 便會導引更多要求給該服務。
圖 6. 使用 Cisco CSS Controller 及 Metric Server 來管理本端服務的站台範例
Cisco CSS Controller 搭配使用 Cisco CSS Switch 時,可提供「集兩者之優點」的解決方案,同時兼納全線速的內容交換與精密的應用程式意識、容錯及服務負載最佳化。 Cisco CSS Controller 是 Cisco CSS Switch 與 IBM WebSphere Application Server 之間的整體補充解決方案的一部份。
Nortel Alteon Controller 聯合 Nortel Alteon 系列 Web 交換器來提供一種補充解決方案, 它會將交換器的封包轉送速度及功能與 Load Balancer 的精密自覺演算法結合一起,來決定伺服器加權值。
Nortel Alteon Controller 可讓您開發自訂的通告器,以更具智慧、應用程式自覺的方式,針對用於部署服務程式的應用程式,進行可用性與負載的評估。
Metric Server 則可提供系統負載資訊 (例如 CPU 及記憶體使用率資訊) 和組織架構,供您開發自訂的系統負載測量方式。
Nortel Alteon Controller 會收集許多類型的測量單位資料,來決定 Nortel Alteon Web Switch 所平衡負載的伺服器的加權值,包括:
Nortel Alteon Controller 使用 SNMP 與交換器通信。配置、狀態及連結資訊是從交換器擷取而來的。 一旦控制器算出伺服器加權值,就會在交換器上設定它們。交換器使用控制器所設定的加權值, 選取最佳的伺服器來處理服務的從屬站要求。
圖 7. 使用 Nortel Alteon Controller 來管理本端伺服器的站台範例
您可以用瀏覽器、遠端 GUI 或遠端指令行介面,來管理此控制器。
結合 Nortel Alteon 系列 Web 交換器的 Nortel Alteon Controller,可提供「集兩者之優點」的解決方案, 同時兼納全線速的封包交換與精密的應用程式意識、容錯及伺服器負載最佳化。Nortel Alteon Controller 是 Nortel Alteon 系列 Web 交換器與 IBM WebSphere 之間的補充解決方案的一部份。
本章將列出 Load Balancer 元件的配置特性,使您可以決定要使用哪些特性來管理網路:
若需 Load Balancer 高層次的總覽,請參閱Load Balancer 的概觀。
若要使各個伺服器的平衡負載作業最佳化並確保選用「正確」的伺服器,請參閱:
Dispatcher 可支援伺服器之間 HTTP、FTP、SSL、SMTP、NNTP、IMAP、POP3、Telnet 及任何其它 TCP 或無狀態 UDP 型應用程式的平衡負載。
_ 若要從不同於 Load Balancer 所在的機器來執行 Load Balancer 配置,請參閱Load Balancer 的遠端管理。
_ 若要在要平衡負載之 Web 伺服器所處的同一機器上執行 Dispatcher,請參閱使用並列伺服器。
平衡負載 SSL (HTTPS) 資料傳輸時:
_ 若要確定從屬站使用相同的 SSL 伺服器進行多重連線,請參閱Load Balancer 的相關性特性如何運作。
_ 若要確定從屬站使用相同的伺服器進行 HTTP 及 SSL 資料傳輸,請參閱跨埠相關性。
_ 若要確定從屬站使用相同的伺服器進行多重連線,請參閱Load Balancer 的相關性特性如何運作。
_ 若要確定一群從屬站使用相同的伺服器進行多重連線,請參閱相關性位址遮罩 (stickymask)。
_ 若要從您的配置中移除某一伺服器 (例如,為了進行維護) 而不干擾從屬站資料傳輸,請參閱靜止伺服器連線處理。
要將從屬站引導至不同的伺服器組以取得相同 web 位址,您可以在 Dispatcher 配置中新增「規則」。 相關資訊,請參閱配置規則型平衡負載。
_ 若要根據從屬站來源 IP 位址來引導從屬站到不同的伺服器組,請參閱根據從屬站 IP 位址來使用規則。
_ 若要根據從屬站埠來引導從屬站到不同的伺服器組,請參閱根據從屬站埠來使用規則。
_ 若要根據一天的時間來引導從屬站到不同的伺服器組,請參閱根據一天的時間來使用規則。
_ 若要根據網路封包中的「服務程式類型 (TOS)」位元來引導從屬站到伺服器,請參閱依據服務程式類型 (TOS) 使用規則。
_ 若要根據站台資料傳輸來引導從屬站到不同的伺服器組:
_ 使用每秒連線數時,請參閱使用基於每秒連線數的規則。
_ 使用作用中連線總數時,請參閱使用基於作用中連線總數的規則。
_ 保留及共用不同 Web 位址的頻寬時,請參閱使用基於保留頻寬及共用頻寬的規則。
_ 確定已正確測量伺服器組的資料傳輸,請參閱規則的伺服器評估選項。
_ 若要將超出的資料傳輸引導至預設的伺服器組 (例如,會回應「站台忙線」的伺服器),請參閱使用永遠為真的規則。
_ 若要置換從屬站相關性以確定從屬站不會「滯留」於超溢伺服器,請參閱埠相關性置換。
若要確定 HTTPS (SSL) 從屬站會返回相同的 SSL 伺服器 (根據從屬站要求中的 SSL ID)
_ 請參閱第 *** 頁。
若要根據比對從屬站要求之 URL 內容的規則,將 HTTP 從屬站引導至不同的伺服器組,請參閱Dispatcher 的根據內容遞送 (cbr 轉送方法)及根據要求內容來使用規則以取得進一步資訊。
_ 若要分辨特定的 URL 及其服務應用程式,請參閱伺服器分割:配置成實體伺服器 (IP 位址) 的邏輯伺服器。
_ 若要確定從屬站在多重連線中,使用 Web 伺服器所建立的 cookie 來要求類似的內容時,會傳回相同的伺服器,請參閱被動 cookie 相關性。
_ 若要將 Web 資料傳輸平衡負載到 caching-proxy 伺服器,使唯一的內容可快取到各個伺服器 (藉由消除多重機器上冗餘的內容快取,進而增加站台的大小),請參閱URI 相關性。
使用 Dispatcher 的 cbr 轉送方法時,其優點在於它對從屬站要求的回應速度,將比 CBR 元件來得快。 另外,Dispatcher 的 cbr 轉送不需要安裝及使用 Caching Proxy。
如果您的網路含有完整的安全 SSL (從屬站到伺服器) 資料傳輸時,使用 CBR 元件 (搭配 Caching Proxy) 的優點是它可以處理所需的加密/解密,以便進行根據內容遞送。 對完整的安全連線而言,Dispatcher 的 cbr 轉送僅能配置有 SSL ID 相關性,因為它無法處理加密/解密,藉以在從屬站要求的 URL 上,執行真正的根據內容遞送。
_ 若要用 Dispatcher 的廣域特性來平衡負載遠端伺服器,請參閱配置廣域 Dispatcher 支援及GRE (同屬遞送封裝) 支援。
_ 若要用 Dispatcher 的 nat 轉送方法來平衡負載遠端伺服器,請參閱Dispatcher 的 NAT/NAPT (nat 轉送方法)。
_ 若要將某一 Web 位址平衡負載給同一機器上的多個伺服器常駐程式,而每一常駐程式負責接收唯一的埠,請參閱Dispatcher 的 NAT/NAPT (nat 轉送方法)。
_ 若要將 Dispatcher 資料傳輸放到不同於從屬站資料傳輸的網路上 (藉由減少外部網路的競爭來增進效能),請參閱使用專用網路配置。
_ 若要將多重 Web 位址合併成單一配置,請參閱使用萬用字元叢集來結合伺服器配置。
_ 若要平衡負載防火牆,請參閱使用萬用字元叢集來平衡防火牆的資料流量。
_ 若要引導所有目的地埠的資料傳輸,請參閱使用萬用字元埠來引導未配置埠的資料傳輸。
_ 若要偵測可能的 "拒絕服務" 攻擊,請參閱拒絕服務攻擊偵測。
_ 若要分析伺服器資料傳輸量,請參閱使用二進位記載功能來分析伺服器統計值。
_ 若要在伺服器被標註為開機中或當機時產生警示,請參閱使用 script 產生警示或記錄伺服器失敗。
CBR 可整合平衡負載與 WebSphere Application Server 的 Caching Proxy,以便將從屬站要求 proxy 到指定的 HTTP 或 HTTPS (SSL) 伺服器。 若要使用 CBR,必須在同一伺服器上安裝及配置 Caching Proxy。 有關如何配置 Caching Proxy 以使用 CBR 的詳細資訊,請參閱步驟 1. 配置 Caching Proxy 以使用 CBR。
透過 CBR 元件 (或 Dispatcher 元件的 cbr 轉送方法),您便可為您的從屬站提供下列好處:
_ 將不同內容類型的要求平衡負載到伺服器組。(請參閱平衡負載不同類型內容的要求。)
_ 以最佳方式從 Web 伺服器中區分站台的內容,來增進回應時間。(請參閱分割您站台的內容以加快回應時間。)
_ 藉由將多重伺服器分派給每種類型的內容,來確保伺服器故障時,從屬站的資料傳輸不致中斷。(請參閱提供備份的 Web 伺服器內容。)
如果您的網路需要完整的安全 SSL 資料傳輸 (從屬站到伺服器) 時,使用 CBR 元件 (搭配 Caching Proxy) 的優點是,它可以處理 SSL 加密/解密,以便進行根據內容遞送。
對完整的安全 SSL 連線而言,Dispatcher 的 cbr 轉送僅能配置有 SSL ID 相關性,因為它無法處理加密/解密,藉以在從屬站要求的 URL 上,執行真正的根據內容遞送。
對 HTTP 資料傳輸而言,使用 Dispatcher 的 cbr 轉送方法時,其優點在於它對從屬站要求的回應速度,將比 CBR 元件來得快。 另外,Dispatcher 的 cbr 轉送不需要安裝及使用 Caching Proxy。
_ 若要從不同於 Load Balancer 所在的機器來執行 Load Balancer 配置,請參閱Load Balancer 的遠端管理。
_ CBR 可在正進行平衡負載之伺服器的相同機器上執行。 請參閱使用並列伺服器,以取得進一步資訊。
_ 若要藉多重 Caching Proxy 程序來增進 CPU 使用率,請參閱使用多重 Caching Proxy 程序來增進 CPU 使用率。
若要允許進行根據內容遞送 SSL 資料傳輸:
_ 兩端皆使用安全連線 (從屬站對 proxy 以及 proxy 對從屬站),請參閱平衡負載完全安全 (SSL) 連線。
_ 僅在從屬站對 proxy 端使用安全連線,請參閱平衡負載 SSL 中的 client-to-proxy 及 HTTP 中的 proxy-to-serve。
_ 若要分辨特定的 URL 及其服務應用程式,請參閱伺服器分割:配置成實體伺服器 (IP 位址) 的邏輯伺服器。
要將從屬站引導至不同的伺服器組以取得相同 web 位址,您可以在 CBR 配置中新增「規則」。 相關資訊,請參閱配置規則型平衡負載。
_ 若要根據所要求 URL 的內容來引導從屬站到不同的伺服器組,請參閱根據要求內容來使用規則。
_ 若要根據從屬站來源 IP 位址來引導從屬站到不同的伺服器組,請參閱根據從屬站 IP 位址來使用規則。
_ 若要根據一天的時間來引導從屬站到不同的伺服器組,請參閱根據一天的時間來使用規則。
_ 若要根據站台資料傳輸來引導從屬站到不同的伺服器組:
使用每秒連線數時,請參閱使用基於每秒連線數的規則。
使用作用中連線總數時,請參閱使用基於作用中連線總數的規則。
_ 若要將超出的資料傳輸引導至預設的伺服器組 (例如,會回應「站台忙線」的伺服器),請參閱使用永遠為真的規則。
_ 若要置換從屬站相關性以確定從屬站不會「滯留」於超溢伺服器,請參閱埠相關性置換。
_ 若要確定從屬站會返回相同的伺服器來進行多重連線,請參閱Load Balancer 的相關性特性如何運作。
_ 若要從您的配置中移除某一伺服器 (例如,為了進行維護) 而不干擾從屬站資料傳輸,請參閱靜止伺服器連線處理。
_ 若要確定從屬站在多重連線中,不依賴 Web 伺服器所建立的 cookie 來要求類似的內容時,會回到相同的伺服器,請參閱主動 cookie 相關性。
_ 若要確定從屬站在多重連線中,使用 Web 伺服器所建立的 cookie 來要求類似的內容時,會回到相同的伺服器,請參閱被動 cookie 相關性。
_ 若要將 Web 資料傳輸平衡負載到 caching-proxy 伺服器,使唯一的內容可快取到各個伺服器 (藉由消除多重機器上冗餘的內容快取,進而增加站台的大小),請參閱URI 相關性。
_ 若要用 Dispatcher 以具有 CBR 的兩層配置,在您的網路中移除單一故障點限制,請參閱何謂高可用性?。
_ 若要分析伺服器資料傳輸量,請參閱使用二進位記載功能來分析伺服器統計值。
_ 若要在伺服器被標註為開機中或當機時產生警示,請參閱使用 script 產生警示或記錄伺服器失敗。
Site Selector 會針對一組伺服器來平衡負載名稱服務要求。
_ 若要從不同於 Load Balancer 所在的機器來執行 Load Balancer 配置,請參閱Load Balancer 的遠端管理。
_ Site Selector 可在正進行平衡負載之伺服器的相同機器上執行,而不須執行額外的配置步驟。
_ 假設母項名稱伺服器及正常 DNS 復原方法的正確配置皆已齊備,即可透過「網域名稱系統 (DNS)」方法以多重備援 Site Selector 來提供高可用性。 正常 DNS 復原方法的範例有:重新傳輸查詢及重試區域轉送。
_ 若要用 Dispatcher 以具有 Site Selector 的兩層配置,在您的網路中移除單一故障點限制,請參閱何謂高可用性?。
_ 若要確定從屬站使用相同的伺服器進行多重名稱伺服器要求,請參閱Load Balancer 的相關性特性如何運作。
_ 若要確定使用標準 DNS 方法來設定「維持時間 (TTL)」的主從相關性,請參閱TTL 注意事項。
要將從屬站要求引導至不同的伺服器組以進行網域名稱解析,您可以在 Site Selector 配置中新增「規則」。相關資訊,請參閱配置規則型平衡負載。
_ 若要根據從屬站來源 IP 位址來引導從屬站到不同的伺服器組,請參閱根據從屬站 IP 位址來使用規則。
_ 若要根據一天的時間來引導從屬站到不同的伺服器組,請參閱根據一天的時間來使用規則。
_ 若要根據伺服器組的測量單位負載值來引導從屬站到不同的伺服器組,請參閱:
_ 若要將超出的資料傳輸引導至預設的伺服器組 (例如,會回應「站台忙線」的伺服器),請參閱使用永遠為真的規則。
Site Selector 同時可在區域網路 (LAN) 或廣域網路 (WAN) 中執行。
在 WAN 環境下:
_ 若要使用加權環繞式選取方法,來平衡負載從屬站名稱伺服器要求,其間不需要額外的配置步驟。
_ 若要考慮從屬站名稱伺服器與提供所要求的應用程式之伺服器 (目的地伺服器) 的網路接近性, 請參閱使用「網路接近」特性。
_ 若要在伺服器被標註為開機中或當機時產生警示,請參閱使用 script 產生警示或記錄伺服器失敗。
Cisco CSS Controller 會使用較大的應用程式及系統意識,來增強 Cisco 交換器的伺服器平衡負載功能。 控制器使用更多的應用程式感應式及系統感應式測量單位,來動態計算伺服器加權值。 加權值是使用 SNMP 來提供給交換器。 交換器處理從屬站要求時,使用加權值會導致伺服器負載最佳化並改善容錯。
若要使各個伺服器的平衡負載作業最佳化並確保選用「正確」的伺服器,請參閱:
_ 若要從不同於 Load Balancer 所在的機器來執行 Load Balancer 配置,請參閱Load Balancer 的遠端管理。
_ Cisco CSS Controller 可在正進行平衡負載之伺服器的相同機器上執行,而不須執行額外的配置步驟。
_ 若要移除您網路中的單一故障點限制,Cisco CSS Switch 及 Cisco CSS Controller 皆須具備高可用性功能。 對於交換器而言,透過使用 CSS 備援通信協定,可提供高可用性功能。對 Cisco CSS Controller 而言,則使用了專屬通信協定,來達成兩個控制器的快速待命配置。
有關配置高可用性的進一步資訊,請參閱高可用性。
_ 若要分析伺服器資料傳輸量,請參閱使用二進位記載功能來分析伺服器統計值。
_ 若要在伺服器被標註為開機中或當機時產生警示,請參閱使用 script 產生警示或記錄伺服器失敗。
Nortel Alteon Controller 會使用較大的應用程式及系統意識,來增強 Nortel Alteon 交換器的伺服器平衡負載功能。 控制器使用更多的應用程式感應式及系統感應式測量單位,來動態計算伺服器加權值。 加權值是使用 SNMP 來提供給交換器。 交換器處理從屬站要求時,使用加權值會導致伺服器負載最佳化並改善容錯。
若要使各個伺服器的平衡負載作業最佳化並確保選用「正確」的伺服器,請參閱:
_ 若要從不同於 Load Balancer 所在的機器來執行 Load Balancer 配置,請參閱Load Balancer 的遠端管理。
_ Nortel Alteon Controller 可在正進行平衡負載之伺服器的相同機器上執行,而不須執行額外的配置步驟。
_ 若要移除您網路中的單一故障點限制,Nortel Alteon Web Switch 及 Nortel Alteon Controller 皆須具備高可用性功能。 對交換器而言,透過使用備援通信協定來連接伺服器並提供服務,可提供高可用性功能。 Nortel Alteon Controller 使用容許兩個控制器的快速待命配置的專屬通信協定來提供高可用性。
有關配置高可用性的進一步資訊,請參閱高可用性。
_ 若要分析伺服器資料傳輸量,請參閱使用二進位記載功能來分析伺服器統計值。
_ 若要在伺服器被標註為開機中或當機時產生警示,請參閱使用 script 產生警示或記錄伺服器失敗。
本章將說明 Load Balancer 在 AIX(R)、Linux、Solaris 及 Windows(R) 2000 上的軟硬體基本需求以及安裝作業。 有關使用系統包裝工具時的 Load Balancer 安裝指示,請先遵循下列指示:
有關使用 Product Setup Program 的安裝指示,請參閱 Edge Components 的概念、規劃與安裝文件。
註:
由於某些位在 Load Balancer 機器上的應用程式可能會需要其它版本的 Java,所以當您升級時必須安裝正確版本的 Java。安裝多重版本時,為確定 Load Balancer 元件是否使用了正確的 Java 版本,請執行下列步驟:
針對您所升級之 Load Balancer 各個元件,編輯其 Script 檔。 各元件的 Script 檔包括:
例如:在 Windows 2000 上,如果 Java 1.3 是安裝在 C:\Program Files\IBM\Java13\jre\bin 下,請在 Script 檔中變更下列內容,
IBM AIX 4.3.3.10 plus apars (以支援 Java 1.3)。如需必要 AIX apars 的清單,請參閱 IBM AIX Developer Kit 的 README 檔案。 僅支援 32 位元模式。
支援的 JAVA 版本檢附於 WebSphere Application Server Edge Components 光碟片中。
表 1 所列為 Load Balancer 的 installp 影像。
Administration (管理,含訊息) | ibmlb.admin.rte ibmlb.msg.<language>.admin |
Base (基本) | ibmlb.base.rte |
裝置驅動程式 | ibmlb.lb.driver |
License | ibmlb.lb.license |
Load Balancer 元件 (含訊息) | ibmlb.<component>.rte ibmlb.msg.<language>.lb |
Documentation (文件,含訊息) | ibmlb.doc.rte ibmlb.msg.<language>.doc |
Metric Server | ibmlb.ms.rte |
其中的 <component> 可以是:disp (Dispatcher)、cbr (CBR)、ss (Site Selector)、 cco (Cisco CSS Controller) 或 nal (Nortel Alteon Controller)。可選用性地選取要安裝的元件。
而 <language> 則可為下列其中一項:
如果您已安裝較舊的版本,則在安裝現行版本之前,必須先解除安裝舊的版本。
首先,確定所有的執行器與伺服器皆已停止。 然後,若要解除安裝整個產品,請輸入 installp -u ibmlb (或之前的名稱,例如,"ibmnd")。如果要解除安裝特定的檔案集,請明確列示那些檔案而非指定套裝軟體名稱。
在您安裝產品時,可讓您選擇安裝任何或所有下列選項:
請遵循這些步驟,來安裝 Load Balancer for AIX:
使用 SMIT:
當指令完成時,請按完成,然後從「跳出」功能表中選取跳出 Smit 或按 F12。 如果使用 SMITTY, 請按 F10,以跳出程式。
使用指令行:
如果從 CD 中進行安裝,您必須鍵入下列指令來裝載 CD:
mkdir /cdrom mount -v cdrfs -p -r /dev/cd0 /cdrom
請參閱下表,決定要輸入哪一個指令來為 AIX 安裝想要的 Load Balancer 套裝軟體:
Administration (管理,含訊息) | installp -acXgd device ibmlb.admin.rte ibmlb.msg.<language>.admin |
Base (基本) | installp -acXgd device ibmlb.base.rte |
裝置驅動程式 | installp -acXgd device ibmlb.lb.driver |
License | installp -acXgd device ibmlb.lb.license |
Load Balancer 元件 (含訊息)。 包括:Dispatcher、CBR、Site Selector、Cisco CSS Controller 及 Nortel Alteon Controller | installp -acXgd device ibmlb.<component>.rte ibmlb.msg.<language>.lb |
Documents (含訊息) | installp -acXgd device ibmlb.doc.rte ibmlb.msg.<language>.lb |
Metric Server | installp -acXgd device ibmlb.ms.rte |
其中 device 是:
確定摘要中的結果直欄含有 SUCCESS, 表示已順利地安裝 (引用) Load Balancer 的每一個部份。 除非已順利地引用您想要安裝的所有部份, 否則請勿繼續。
installp -ld device
其中 device 是:
欲卸載 CD 時,請鍵入:
unmount /cdrom
lslpp -h | grep ibmlb
如果您安裝了整個產品,此指令會傳回下列訊息:
ibmlb.admin.rte ibmlb.base.rte ibmlb.doc.rte ibmlb.ms.rte ibmlb.msg.<language>.admin.rte ibmlb.msg.<language>.doc ibmlb.msg.<language>.lb.rte ibmlb.lb.driver ibmlb.lb.license ibmlb.<component>.rte
Load Balancer 的安裝路徑包括:
若要使用「遠端方法呼叫 (RMI)」,來遠端管理 Load Balancer, 您將需要在從屬站上安裝管理、基本、元件及軟體授權套裝軟體。
如需 RMI 的相關資訊,請參閱遠端方法呼叫 (RMI)。
作業系統 | 核心程式版本 |
Red Hat 進階伺服器 2.1 | 2.4.9-e.3, 2.4.9-e.3smp, 2.4.9-e.3enterprise |
SuSE 7.3 Professional | 2.4.10-4GB, 2.4.10-64GB-SMP, 2.4.16-4GB, 2.4.16-64GB-SMP |
SuSE 7.0 SLES | 2.4.7-4GB, 2.4.7-64GB |
支援的 JAVA 版本檢附於 WebSphere Application Server Edge Components 光碟片中。
Load Balancer 支援表 3中所列的核心程式版本名稱。 因此,如果您使用已修補的核心程式,則名稱必須符合表格中的名稱。 另一個選擇方案就是使用符號名稱 "ibmnd" 建立 Load Balancer 核心程式模組的符號鏈結。若要建立符號名稱,請從指令提示發出下列指令:
ln -s /opt/ibm/edge/lb/servers/bin/ibmnd-a.b.c-xy /opt/ibm/edge/lb/servers/bin/ibmnd
例如,如果您正在使用 RedHat 2.4.7-10 核心程式,且已對 ARP 修正程式修補了它, 則在您完成編譯及啟動新的修補核心程式時,核心程式的名稱可能是 2.4.7-10-arpfix。 因此,指令 "uname -r" 將傳回 "2.4.7-10-arpfix。" 在這種情況中, 我們將無法載入 Load Balancer 核心程式模組,因為名稱變更了。但是, 藉由將 ibmnd-2.4.7-10 的符號鏈結建立成 ibmnd,我們將強迫載入 2.4.7-10 的核心程式模組,即使名稱不符,也是如此。請小心, 如果您升級到新的核心程式版本且忘了符號鏈結存在,可能會導致執行錯誤。
進一步資訊,請參閱安裝 Linux 核心修補程式 (以便不顯示迴圈介面上的 arp 回應)。
本節將說明如何使用產品 CD,將 Load Balancer 安裝至 Red Hat Linux 或 SuSE Linux 上。
在開始安裝程序之前,請確定您具有可安裝軟體的 Root 權限。
如果您已安裝較舊的版本,則在安裝現行版本之前,必須先解除舊版的安裝。
首先,確定所有的執行器與伺服器皆已停止。 然後,若要解除安裝整個產品,請輸入 rpm -e pkgname。 當解除安裝時,請反轉安裝套裝軟體時所用的次序, 以確定管理套裝軟體是最後一個要解除安裝的套裝軟體。
要安裝 Load Balancer 時,請進行下列動作:
安裝壓縮檔是格式為 eLBLX-version:tar.z 的檔案。
下列是 RPM 可安裝套裝軟體的列示。
其中 version 是依據表 3中找到的版本而定的核心程式模組版本名稱。 例如,適用 SuSE 7.0 SLES 的其中一個版本是:2.4.7-64GB-SMP
其中的 component 為:disp (Dispatcher 元件)、cbr (CBR 元件)、ss (Site Selector 元件)、cco (Cisco CSS Controller)、nal (Nortel Alteon Controller)。您可選用性地選取要安裝哪些 Load Balancer 元件。
應該從 RPM 檔常駐的同一目錄中發出安裝套裝軟體的指令。請發出下列指令, 安裝每一個套裝軟體:rpm -i package.rpm。
rpm -i --nodeps package.rpm
rpm -qa | grep ibmlb
若安裝整個產品,應會產生一個報表,如下所示:
若要使用「遠端方法呼叫 (RMI)」,來遠端管理 Load Balancer, 您將需要在從屬站上安裝管理、基本、元件及軟體授權套裝軟體。
如需 RMI 的相關資訊,請參閱遠端方法呼叫 (RMI)。
對於 Solaris 8,如果使用 Edge Components 安裝精靈,鏈結器的層次要求為 109147-16 或更新層次,而且共用的 C++ 程式庫層次必須為 108434-8 或更新層次。
為了取得最一致的操作方式,請自位於 http://sunsolve.sun.com 的 Sun Microsystems 下載並套用最新 Solaris 修正套件。
支援的 JAVA 版本檢附於 WebSphere Application Server Edge Components 光碟片中。
本段將說明如何使用產品光碟片在 Solaris 上安裝 Load Balancer。
在開始安裝程序之前,請確定您具有可安裝軟體的 Root 權限。
如果您已安裝較舊的版本,則在安裝現行版本之前,必須先解除舊版的安裝。 首先,請確定您已停止執行器及伺服器。 然後,若要解除安裝 Load Balancer,請輸入 pkgrm pkgname。
要安裝 Load Balancer 時,請進行下列動作:
在指令提示中,鍵入 pkgadd -d pathname, 其中 pathname 是光碟機的裝置名稱,或是套裝軟體所在之硬碟機上的目錄;例如,pkgadd -d /cdrom/cdrom0/。
將列出套裝軟體,以供您安裝。包括:
如果您要安裝所有的套裝軟體,請直接鍵入 『all』,並按 Return 鍵。 如果只想安裝部份元件,請輸入對應於所要安裝之套裝軟體的名稱 (以空格或逗點隔開),然後按 Return 鍵。 程式可能會提示您變更現存目錄或檔案上的許可權。 直接按 Return 鍵,或回答 『Yes』。您必須安裝必備套裝軟體 (因為它是按字母順序來安裝,而不是以必備條件順序來安裝)。 如果輸入 『all』,就只要在每個提示下回答 『yes』,如此便可順利完成安裝。
所有的套裝軟體皆相依於共通的 ND 套裝軟體,ibmlbadm。 此共通的套裝軟體必須隨任何其它的套裝軟體一起安裝。
例如,如果只想安裝 Dispatcher 元件以及說明文件與 Metric Server,您必須安裝: ibmdisp、ibmlblic、ibmlbbase、ibmlbadm、ibmlbdoc 及 ibmlbms。
若要使用「遠端方法呼叫 (RMI)」,來遠端管理 Load Balancer, 您將需要在從屬站上安裝管理、基本、元件及軟體授權套裝軟體。
如需 RMI 的相關資訊,請參閱遠端方法呼叫 (RMI)。
Load Balancer 元件會常駐在 /opt/ibm/edge/lb/servers 安裝目錄中。
您必須下載 Developer Kit 安裝套裝軟體或 Runtime Environment 安裝套裝軟體,之後才能執行 InstallShield 程式。 (有關如何執行多種版本之 Java 的資訊,請參閱註 (JVER)。)
支援的 JAVA 版本檢附於 WebSphere Application Server Edge Components 光碟片中。
本節將說明如何使用產品 CD 將 Load Balancer 安裝在 Windows 2000 上。
您可以選擇所要安裝的套裝軟體。
包括:
若要使用「遠端方法呼叫 (RMI)」,來遠端管理 Load Balancer, 您將需要在從屬站上安裝管理、基本、元件及軟體授權套裝軟體。
如需 RMI 的相關資訊,請參閱遠端方法呼叫 (RMI)。
下列支援 Windows 2000 版的 Load Balancer:
限制:Windows 2000 版的 Load Balancer 無法安裝至裝有 IBM Firewall 的相同機器上。
在開始安裝之前,請確定您已用「管理者」身分或以具有管理專用權的使用者身分登入。
如果您已安裝較舊的版本,則在安裝現行版本之前,必須先解除舊版的安裝。
若要使用新增/移除程式來進行解除安裝,請執行下列步驟:
要安裝 Load Balancer 時,請進行下列動作:
E:\setup
Load Balancer 的安裝路徑包括:
本篇提供快速入門配置的相關資訊、規劃注意事項,以及說明配置 Load Balancer Dispatcher 元件的方法。 它含有下列各章:
此快速入門範例將示範如何以 Dispatcher 元件的 mac 轉送方法,來配置三個本端附加的工作站,以便平衡負載兩個 Web 伺服器之間的 Web 資料傳輸。 對平衡任何其它的 TCP 或沒有狀態的 UDP 應用程式資料傳輸而言,配置基本上相同。
MAC 轉送是預設的轉送正向方法,其間 Dispatcher 會將進入的要求平衡負載至伺服器,伺服器再將回應直接傳回到從屬站。 有關 Dispatcher 之 MAC 轉送方法的進一步資訊,請參閱Dispatcher 的 MAC 層次遞送 (mac 轉送方法)。
若要進行快速入門範例,則需要三個工作站及四個 IP 位址。其中一個工作站要用來當作 Dispatcher;另外兩個則用來當作 Web 伺服器。 每一個 Web 伺服器都需要一個 IP 位址。 Dispatcher 工作站需要兩個位址:非轉送的位址 (NFA) 及您提供給從屬站以存取網站的叢集位址 (用來平衡負載)。
工作站 | 名稱 | IP 位址 |
---|---|---|
1 | server1.intersplash.com | 9.47.47.101 |
2 | server2.intersplash.com | 9.47.47.102 |
3 | server3.intersplash.com | 9.47.47.103 |
網路遮罩 = 255.255.255.0 |
每一個工作站都只包含一個標準的「乙太網路」網路介面卡。
Name= www.Intersplash.com IP=9.47.47.104
新增 www.intersplash.com 的別名到 server2.intersplash.com 和 server3.intersplash.com 上的迴圈介面。
ifconfig lo0 alias www.Intersplash.com netmask 255.255.255.0
ifconfig lo0:1 www.Intersplash.com 127.0.0.1 up
您現在已經完成了兩個 web 伺服器工作站所需的所有配置步驟。
有了 Dispatcher,您就可以用指令行、配置精靈或圖形式使用者介面 (GUI) 來建立配置。
如果您要使用指令行,請遵循下列步驟:
dscontrol executor start
dscontrol cluster add www.Intersplash.com
dscontrol port add www.Intersplash.com:80
dscontrol server add www.Intersplash.com:80:server2.intersplash.com
dscontrol server add www.Intersplash.com:80:server3.intersplash.com
dscontrol executor configure www.Intersplash.com
dscontrol manager start
Dispatcher 現在將根據伺服器的效能來執行平衡負載。
dscontrol advisor start http 80
Dispatcher 現在會確定從屬站要求並沒有傳送到失敗的 Web 伺服器。
您具備本端附加伺服器的基本配置現在已經完成。
測試配置是否可運作。
如需使用 Dispatcher GUI 的相關資訊,請參閱GUI及附錄 A, GUI:一般指示。
如需使用配置精靈的相關資訊,請參閱使用配置精靈來配置。
可配置 Load Balancer 來支援您站台的方法有許多種。如果您對所有您的客戶將連接的站台, 僅具有一個主電腦名稱,則您可以定義伺服器的單一叢集。對於其中每一個伺服器, 請配置 Load Balancer 藉以通信的埠。請參閱圖 9。
圖 9. 具備單一叢集及 2 個埠的 Dispatcher 配置範例
本例中的 Dispatcher 元件,有一個叢集是在 www.productworks.com 所定義。 這個叢集有兩個埠: HTTP 的埠 80 及 SSL 的埠 443。當從屬站對 http://www.productworks.com (埠 80) 發出要求時所連接的伺服器, 與從屬站對 https://www.productworks.com (埠 443) 發出要求時所連接的伺服器不同。
如果您有一個非常大的站台,它具有許多專門用於每一個支援的通訊協定的伺服器, 則其它配置 Load Balancer 的方法可能較合適。在這個情況下, 您可能想要對每一個具有單一埠,但有多個伺服器的通訊協定來定義叢集, 如圖 10 中所示一般。
圖 10. 配置有兩個叢集且每個叢集都有一個埠之 Dispatcher 範例
對於本例中的 Dispatcher 元件,我們定義了兩個叢集:埠 80 (HTTP) 的 www.productworks.com 以及埠 443 (SSL) 的 www.testworks.com。
若您的站台主控數個公司或部門的內容,且它們都以不同 URL 進入您的站台,則可能需要使用第三種方法來配置 Load Balancer。 此時,您最好先為每一公司或部門定義一叢集,然後定義任何您想要在該 URL 中接收連線的埠,如圖 11 中所示。
圖 11. 配置有兩個叢集且每個叢集都有 2 個埠的 Dispatcher 範例
對本例中的 Dispatcher 元件而言,我們定義了兩個叢集,且各叢集在 www.productworks.com 及 www.testworks.com 等站台分別具有埠 80 (HTTP) 以及埠 23 (Telnet)。
本章將說明在安裝與配置 Dispatcher 元件之前,網路規劃者應該考慮的事項。
本章包括下列各節:
平台基本需求:
管理程式的使用是選用性的。不過,如果未使用管理程式,將依據目前的伺服器加權值, 使用已加權的循環排程方式來執行平衡負載,而且無法使用通告器。
Dispatcher 亦具備不會交換特定通信協定資訊的通告器,如負責報告 DB2 伺服器狀況的 DB2(R) 通告器,以及負責報告伺服器是否回應連通測試的 Ping 通告器。 如需通告器的完整清單,請參閱通告器列示。
您也可選擇撰寫自己的通告器 (請參閱建立自行設定 (可自訂的) 通告器)。
通告器的使用是選用性的,不過建議您使用。
Dispatcher 的三個主要功能 (執行器、管理程式及通告器) 會互動, 以平衡及配送伺服器之間的進入要求。除了平衡負載相關要求外,執行器還會監督新連線、作用中連線及已完成連線的數目。 執行器還會執行已完成或重設連線的垃圾收集,並提供此類資訊給管理程式。
管理程式會收集來自執行器、通告器及系統監督程式 (諸如 Metric Server) 的資訊。 依據管理程式所收到的資訊,它將調整伺服器機器在每一個埠上的加權值, 並提供執行器在平衡新連線時所使用的新加權值。
通告器將監督已指定的埠上的每一個伺服器,來判斷伺服器的回應時間及可用性, 然後提供這個資訊給管理程式。通告器也會監督伺服器在開機中或已關機。 在沒有管理程式及通告器的情況下,執行器將依據目前的伺服器加權值,執行循環排程。
透過 Dispatcher,您可以從埠層次所指定的下列三種轉送方法中擇一使用: MAC 轉送、NAT/NAPT 轉送或 CBR (根據內容遞送) 轉送。
使用 Dispatcher 的 MAC 轉送方法 (預設轉送方法) 時,Dispatcher 會將外來要求平衡載入到選取的伺服器,而此伺服器會將回應直接傳回給從屬站,其間不再涉及 Dispatcher。 在此種轉送方法下,Dispatcher 只會查看入埠的從屬站到伺服器流程。 毋需察看伺服器至從屬站的離埠資料流量。如此可大幅減少對應用程式的影響,進而改善網路的效能。
使用 dscontrol port add cluster:port method value 指令來新增埠時,即可選取此種轉送方法。 預設的轉送方法值是 mac。您只能在新增埠時,才可指定 method 參數。 一旦新增了埠後,您就不能再變更轉送方法的設定。 相關資訊,請參閱dscontrol port -- 配置埠。
使用 Dispatcher 的網址轉換 (NAT) 或網址埠轉換 (NAPT) 功能,來移除欲設放在本端附加網路中經平衡負載之伺服器的限制。 當您想將伺服器設放在遠端位置時,可使用 NAT 轉送方法技術而非使用 GRE/WAN 封裝技術。 您還可使用 NAPT 特性,來存取常駐於各個經平衡負載之伺服器機器上的多個伺服器常駐程式,而各個常駐程式分別負責接收一個唯一的埠。
您可以用兩種不同的方法來配置具有多重常駐程式的伺服器:
此應用程式可與較高層次的應用程式通信協定配合使用,如 HTTP、SSL、IMAP、POP3、NNTP、SMTP、Telnet 等。
限制:
若要實行 NAT/NAPT (另請參閱配置 Dispatcher 之 nat 或 cbr 轉送方法的範例步驟):
dscontrol server add cluster:port:server mapport value returnaddress rtrnaddress router rtraddress
將從屬站要求的目的地埠號 (用於 Dispatcher) 對映至 Dispatcher 用來對從屬站要求進行平衡負載的伺服器埠號。 Mapport 可讓 Load Balancer 在某埠上接收從屬站要求, 並將之傳輸到伺服器機器不同的埠。透過 mapport, 您即可將從屬站要求平衡負載至有多個伺服器常駐程式執行的伺服器機器。mapport 的預設值是從屬站要求的目的地埠號。
傳回位址是您在 Dispatcher 機器上所配置的一個唯一的位址或主電腦名稱。 將從屬站的要求平衡負載至伺服器時,Dispatcher 會用傳回位址作為其來源位址。 如此可確保伺服器會將封包傳回給 Dispatcher 機器, 而不是將封包直接傳送至從屬站。(Dispatcher 會接著將 IP 封包轉送給從屬站。) 在新增伺服器時,您必須指定傳回位址值。 除非您移除了伺服器並再次加以新增,否則不可修改傳回位址。 傳回位址不得與叢集、伺服器或 NFA 位址相同。
遠端伺服器的路由器位址。如果這是本端連結的伺服器,請輸入伺服器位址。
Dispatcher 元件可讓您針對 HTTP (使用「內容」類型規則) 及 HTTPS (使用 SSL 階段作業 ID 相關性) 來執行根據內容遞送,而不需使用 Caching Proxy。 對 HTTP 及 HTTPS 資料傳輸而言,Dispatcher 元件的 cbr 轉送方法所提供的根據內容遞送,比需要 Caching Proxy 的 CBR 元件更快。
若是 HTTP:Dispatcher 的根據內容遞送 的伺服器選取是以 URL 或 HTTP 表頭的內容為依據。 它是使用「內容」類型規則來配置。 配置內容規則時,請為此規則指定搜尋字串 "pattern" 以及一組伺服器。 處理新的外來要求時,此規則會將所指定的字串,與從屬站的 URL 或從屬站要求中所指定的 HTTP 表頭加以比較。
如果 Dispatcher 在從屬站要求中找到此字串,Dispatcher 即會轉送該要求給規則中所列的伺服器之一。 Dispatcher 接著會將來自伺服器的回應資料,傳回給從屬站 ("cbr" 轉送方法)。
如果 Dispatcher 未在從屬站要求中找到該字串,Dispatcher 將不會選取規則所列的伺服器。
若是 HTTPS (SSL):Dispatcher 的根據內容遞送是根據從屬站要求的 SSL ID 階段作業欄位來進行平衡負載。 透過 SSL,從屬站要求可包含前一階段作業的 SSL 階段作業 ID,而伺服器則可保有其先前 SSL 連線的快取。 Dispatcher 的 SSL ID 階段作業相關性,可讓從屬站及伺服器透過先前與伺服器之連線的安全參數,來建立新的連線。 由於可消除 SSL 安全性參數的重新協商過程,諸如共用金鑰與加密演算法,伺服器將可節省 CPU 處理週期,而從屬站亦可較快取得回應。 為了能夠啟動 SSL 階段作業 ID 相關性:指定給埠的 protocol 類型必須是 SSL 且埠 stickytime 設成非零值。超過 stickytime 時,從屬站可能會被送到與之前不同的伺服器。
若要實作 Dispatcher 的根據內容遞送 (另請參閱配置 Dispatcher 之 nat 或 cbr 轉送方法的範例步驟):
相關資訊,請參閱dscontrol port -- 配置埠。
dscontrol server add cluster:port:server mapport value returnaddress rtrnaddress router rtraddress
dscontrol rule 125.22.22.03:80:contentRule1 type content pattern pattern
其中的 pattern 可指定擬用於內容類型規則的型樣。有關內容規則類型的進一步資訊,請參閱根據要求內容來使用規則。 如需 pattern 之有效表示式的進一步資訊,請參閱附錄 B, 內容規則 (型樣) 語法。
圖 12. Dispatcher 其 nat 或 cbr 轉送方法的使用範例
對圖 12 而言,以下是配置 Dispatcher 之 nat 或 cbr 轉送方法時,變動最少的必要步驟:
1.啟動執行器 dscontrol executor start 2.定義從屬站閘道 dscontrol executor set clientgateway 1.2.3.5 3.定義叢集位址 dscontrol cluster add 1.2.3.44 4.配置叢集位址 dscontrol executor configure 1.2.3.44 5.定義具有 nat 或 cbr 方法的埠 dscontrol port add 1.2.3.44:80 method nat 或 dscontrol port add 1.2.3.44:80 method cbr protocol http 6.在 Load Balancer 上配置別名回覆位址 (使用乙太網路卡 0) dscontrol executor configure 10.10.10.99 或使用 ifconfig/dsconfig 指令: AIX:ifconfig en0 alias 10.10.10.99 netmask 255.255.255.0 Linux:ifconfig eth0:1 10.10.10.99 netmask 255.255.255.0 up Solaris 7:ifconfig hme0:1 10.10.10.99 netmask 255.255.255.0 up Solaris 8:ifconfig hme0 addif 10.10.10.99 netmask 255.255.255.0 up Windows:dsconfig en0 alias 10.10.10.99 netmask 255.255.255.0 7.定義後端伺服器 dscontrol server add 1.2.3.4:80:192.10.10.10 router 10.10.10.6 returnaddress 10.10.10.99
從屬站閘道 (1.2.3.5) 是 Load Balancer 與從屬站之間的路由器 1 位址。 路由器 (10.10.10.6) 是 Load Balancer 與後端伺服器之間的路由器 2 位址。 如果您不確定 clientgateway 或路由器 2 位址,您可以使用 traceroute 程式及從屬站 (或伺服器) 位址來判定路由器位址。 根據您所用的作業系統,此程式的實際語法可能會有所不同。 有關此程式的進一步資訊,請參閱您的作業系統說明文件。
如果伺服器位在與 Load Balancer 相同的子網路上,也就是說沒有使用 traceroute 來傳回任何路由器時,請輸入伺服器位址作為路由器位址。 路由器位址就是在步驟 7 中於 Load Balancer 機器上所配置的位址。
透過伺服器分割,您可以進一步分辨特定 URL 及其特定的應用程式。 例如,某一 Web 伺服器可服務 JSP 頁面、HTML 頁面、GIF 檔案、資料庫要求等等。 Load Balancer 現在提供了分割能力,可將一個特定叢集與埠的伺服器分割成數個邏輯伺服器。 如此即可讓您通告機器上的特定服務進行偵測,是 servlet 引擎執行速度較快,還是資料庫要求執行速度較快,或是根本不執行。
伺服器分割可讓 Load Balancer 進行偵測,例如偵測 HTML 服務正快速服務頁面,但資料庫連線已中斷之情形。 如此可讓您在分送負載時是根據較精細的服務程式特定的工作負荷,而非單靠整個伺服器的加權值。
伺服器分割若搭配 HTTP 及 HTTPS 通告器將非常有用。 例如,如果您的 HTML 伺服器負責處理 HTML、GIF 及 JSP 頁面, 當您在埠 80 配置 (藉由新增) 此伺服器一次時, 您僅會收到一個代表整個 HTTP 伺服器的負載值。這可能會誤導, 因為伺服器上可能並沒有 GIF 服務程式在運作。Dispatcher 雖仍會轉送 GIF 頁面給伺服器,但從屬站將會看到逾時或失敗。
如果您在埠上配置伺服器三次 (例如,ServerHTML、ServerGIF、ServerJSP), 並針對各個邏輯伺服器而用不同字串來定義伺服器 advisorrequest 參數, 您將可在伺服器上查詢特定服務的狀況。ServerHTML、ServerGIF 及 ServerJSP 代表三個邏輯伺服器, 它們是從同一個實體伺服器分割而來。對 ServerJSP 而言,您可以定義 advisorrequest 字串, 來查詢機器上負責處理 JSP 頁面的服務程式。對 ServerGIF 而言,您可以定義 advisorrequest 字串,來查詢 GIF 服務程式。 對 ServerHTML 而言,您可以定義 advisorrequest 來查詢 HTML 服務程式。 因此,如果從屬站未自 advisorrequest 取得回應來查詢 GIF 服務程式時, Dispatcher 會將該邏輯伺服器 (ServerGIF) 標示為當機, 而另兩個邏輯伺服器則可能依然正常運行。Dispatcher 雖不再轉送 GIF 給實體伺服器,但它仍可以傳送 JSP 及 HTML 要求給伺服器。
有關 advisorrequest 參數的進一步資訊,請參閱使用要求/回應 (URL) 選項,配置 HTTP 通告器。
在 Dispatcher 配置中,您可以用 cluster:port:server 體系來代表實體伺服器或邏輯伺服器。此伺服器可以是機器 (實體伺服器) 的唯一 IP 位址,格式為代號名稱或帶點十進位數。 或者,如果您配置伺服器的方式是用來代表經過分割的伺服器, 您就必須在 dscontrol server add 指令的 address 參數上, 提供可解析的伺服器位址給實體伺服器。相關資訊,請參閱dscontrol server -- 配置伺服器。
以下範例即把實體伺服器分割成邏輯伺服器,以便處理不同類型的要求。
Cluster: 1.1.1.1 Port: 80 Server: A (IP address 1.1.1.2) HTML server Server: B (IP address 1.1.1.2) GIF server Server: C (IP address 1.1.1.3) HTML server Server: D (IP address 1.1.1.3) JSP server Server: E (IP address 1.1.1.4) GIF server Server: F (IP address 1.1.1.4) JSP server Rule1: /*.htm Server: A Server: C Rule2: /*.jsp Server: D Server: F Rule3: /*.gif Server: B Server: E
本例中,伺服器 1.1.1.2 被分割為 2 個邏輯伺服器:"A" (處理 HTML 要求) 及 "B" (處理 GIF 要求)。 伺服器 1.1.1.3 被分割成 2 個邏輯伺服器:"C" (處理 HTML 要求) 及 "D" (處理 JSP 要求)。 伺服器 1.1.1.4 被分割成 2 個邏輯伺服器:"E" (處理 GIF 要求) 及 "F" (處理 JSP 要求)。
圖 13. 使用簡單高可用性的 Dispatcher 的範例
高可用性特性包括第二台 Dispatcher 機器的使用。第一台 Dispatcher 機器像是在單一 Dispatcher 配置時,會執行所有從屬站資料傳輸的平衡負載。第二台 Dispatcher 機器監督第一台 Dispatcher 機器的「狀況」;如果偵測到第一台 Dispatcher 機器故障,則會接管平衡負載的作業。
這兩台機器均會指定一個特定的角色,不是主要,就是備份。主要機器會在有連線的情況下,將連線資料傳送給備份機器。當主要機器為使用中 (正在執行平衡負載中) 時,備份機器則為備用狀態;它會持續更新,並在必要時準備接管作業。
這兩台機器間的通訊階段作業就是通訊檢查訊息。通訊檢查訊息可容許每台機器去監督另一台機器的狀況。
如果備份機器偵測到使用中的機器發生故障, 它將接管它的工作並開始平衡負載。此時,這兩台機器的狀態將會互換: 備份機器變成現行, 而主要機器則變成備用狀態。
在高可用性配置中,主要及備份機器必須位在相同的子網路中。
關於配置高可用性的資訊,請參閱高可用性。
圖 14. 使用共同高可用性的 Dispatcher 的範例
共同高可用性特性包括使用兩台 Dispatcher 機器。這兩台機器會主動執行從屬站資料傳輸的平衡負載,且互為彼此的備份。在簡單高可用性配置中,只有一台機器會執行平衡負載。在共同高可用性配置中,這兩台機器都會平衡從屬站資料傳輸部份的資料流量。
若是共同高可用性,會依據叢集位址將從屬站資料傳輸分派給每台 Dispatcher 機器。每個叢集都可用其主要 Dispatcher 的 NFA (非轉送的位址) 予以配置。主要 Dispatcher 機器一般會執行該叢集的平衡負載。發生失敗事件時,另一台機器會執行自己叢集及失敗 Dispatcher 之叢集的平衡負載。
含共用 "叢集組 A" 及共用 "叢集組 B" 之共同高可用性配置的圖例,請參閱圖 14。每個 Dispatcher 都可主動為其主要叢集遞送封包。 如果任一 Dispatcher 發生故障且無法再主動為其主要叢集遞送封包,則另一個 Dispatcher 即可接管而為其備份叢集遞送封包。
關於配置高可用性及共同高可用性的資訊,請參閱高可用性。
在遵循本章中的步驟之前,請參閱規劃 Dispatcher 元件。 本章將說明如何為 Load Balancer 的 Dispatcher 元件建立基本配置。
作業 | 說明 | 相關資訊 |
---|---|---|
設定 Dispatcher 機器。 |
設定您的平衡負載配置。
| 設定 Dispatcher 機器 |
將機器設定為要執行平衡負載的功能。 | 設定迴圈裝置的別名、檢查是否有多餘的路徑,以及刪除任何多餘的路徑。 | 設定伺服器機器以進行平衡負載 |
Dispatcher 有四個基本配置方法:
這是配置 Dispatcher 最直接的方法。指令參數值必須以英文字元輸入。 唯一的例外是主電腦名稱 (用於 cluster、server 及 highavailability 等指令中) 及檔名 (用於 file 指令中)。
若要從指令行啟動 Dispatcher:
您可以使用精簡版的 nalcontrol 指令參數,方法是鍵入代表參數的唯一字母。 例如,要取得存檔指令的說明,您可以鍵入 dscontrol he f 而非 dscontrol help file。
您可以輸入 dscontrol 指令參數的精簡版本。 只需要輸入參數的專用字母即可。例如,要取得存檔指令的說明,您可以鍵入 dscontrol he f 而非 dscontrol help file。
若要啟動指令行介面:請發出 dscontrol 以接收 dscontrol 指令提示。
配置 Dispatcher 的指令可以輸入到配置 script 檔中,並且可以一起執行。 請參閱範例 Load Balancer 配置檔。
dscontrol file appendload myscript
dscontrol file newload myscript
若要將現行配置存入 Script 檔 (例如,savescript) 中,請執行下列指令:
dscontrol file save savescript
此指令會將配置 Script 檔存入 ...ibm/edge/lb/servers/configurations/dispatcher 目錄中。
如需圖形式使用者介面 (GUI) 的一般指示與範例,請參閱圖 41。
若要啟動 GUI,請遵循下列步驟
dsserver
若要從 GUI 來配置 Dispatcher 元件, 您必須先在樹狀結構中選取 Dispatcher。 一旦連接到「主電腦」,即可啟動執行器及管理程式。您也可以建立含有埠及伺服器的叢集,並啟動管理程式的通告器。
GUI 可以用來執行任何您會以 dscontrol 指令來執行的作業。 例如,在使用指令行來定義叢集時,您可輸入 dscontrol cluster add cluster 指令。 若要從 GUI 來定義叢集,您可在「執行器」上按一下右鍵,然後在蹦現功能表中,對新增叢集按一下左鍵。 在蹦現視窗中鍵入叢集位址,然後按一下確定。
您可以用主電腦蹦現功能表中所顯示的載入新配置 (以完全取代現行配置) 及附加至現行配置 (以更新現行配置) 等選項,來載入先前即已存在的 Dispatcher 配置檔。 您應定期使用另存配置檔選項 (也在主電腦蹦現功能表中) 來儲存您的 Dispatcher。 位於 GUI 頂端的檔案功能表可讓您將現行的主電腦連線存檔,或是復置所有的 Load Balancer 元件之現存檔案中的連線。
您也可以從遠端執行配置指令。相關資訊,請參閱遠端方法呼叫 (RMI)。
若要從 GUI 執行指令:請高亮度顯示 GUI 樹狀結構中的「主電腦」節點,並從「主電腦」蹦現功能表中選取傳送指令....。 在指令輸入欄位中,鍵入要執行的指令,例如:executor report。 您在現行階段作業中所執行的指令,其結果及歷程將出現在所提供的視窗中。
您可以藉由按一下 Load Balancer 視窗右上角的問號圖示,來存取說明。
使用 GUI 的相關資訊,請參閱附錄 A, GUI:一般指示。
如果您要使用配置精靈,請遵循下列步驟:
dsserver
精靈會一步步地指引您處理建立 Dispatcher 元件的基本配置。 它將會問您有關您的網路的問題。 並且會指引您設定 Dispatcher 的叢集,以平衡一群伺服器之間的資料流量。
在設定 Dispatcher 機器之前,您必須是 root 使用者 (對 AIX、Linux 或 Solaris 而言),或是 Windows 2000 上的管理者。
對於 AIX、Linux 及 Solaris 而言,Load Balancer 可以具有並列 伺服器。這僅表示 Load Balancer 可實際常駐在正進行平衡負載的伺服器機器上。
您將至少需要 Dispatcher 機器的兩個有效 IP 位址:
這個 IP 位址是 Dispatcher 機器的主要 IP 位址,稱為非轉送的位址 (NFA)。在預設的狀況下, 這個位址和 hostname 指令所傳回的位址相同。這個位址是用來連接機器, 以便進行管理作業,如經由 Telnet 來進行遠端配置, 或存取 SNMP 子代理程式。如果 Dispatcher 機器可能已測得網路上其它機器是否在運行, 則您不需要進一步設定非轉送的位址。
叢集位址即是一個與主電腦名稱有關聯的位址 (如 www.yourcompany.com)。從屬站將使用這個 IP 位址叢集,來連接叢集中的伺服器。此位址是由 Dispatcher 執行平衡負載。
僅適用於 Solaris:
例如,如果您計劃使用兩張 100Mbps 的乙太網路配接卡, ibmnd.conf 檔中應該要有指定此 hme 裝置的一行。 如果您計劃使用一張 10Mbps 的乙太網路配接卡,以及一張 100Mbps 的乙太網路配接卡,您在 ibmnd.conf 檔中會有兩行:一行指定 le 裝置,一行指定 hme 裝置。
ibmnd.conf 檔案可提供 Solaris autopush 指令的輸入,且必須 autopush 指令相容。
例如,如果配置了叢集 X 及 Y 供 ibmnd.conf 所列之任何配接卡上的 CBR 元件使用,叢集 X 及 Y 會在 dscontrol executor start 或 dscontrol executor stop 等指令發出時取消配置。 而這可能並非所要的結果。 當在 goAliases script 中配置了叢集 X 及 Y 後,這些叢集會在 Dispatcher 執行器啟動或停止後自動重設配置。
僅適用於 Windows 2000:確定未針對 TCP/IP 通信協定啟用 IP 轉送。(請參閱 Windows 2000 TCP/IP 配置)。
圖 15 顯示設定一個具有單一叢集、兩個埠及三台伺服器的 Dispatcher 之範例。
圖 15. Dispatcher 機器所需的 IP 位址的範例
關於本程序中所使用的指令的解說,請參閱Dispatcher 及 CBR 的指令參照。
關於範例配置檔,請參閱範例 Load Balancer 配置檔。
AIX、Linux 及 Solaris:若要啟動伺服器功能,請鍵入 dsserver。
Windows 2000:伺服器功能會以服務程式的形式自動啟動。
如果使用者決定將 Dispatcher 配置儲存在 default.cfg 中,則下次啟動 dsserver 時,此檔案中所儲存的所有內容將會自動載入。
欲啟動執行器功能時,請輸入 dscontrol executor start 指令。 此時,您也可以變更不同的執行器設定。請參閱Dispatcher 及 CBR 的指令參照。
非轉送的位址是用來連接機器,以便進行管理作業, 像是使用 Telnet 或 SMTP 來連接這台機器。在預設的狀況下, 這個位址是主電腦名稱。
若要定義非轉送的位址時,請輸入 dscontrol executor set nfa IP_address 指令,或編輯範例配置檔。 IP_address 是符號式名稱或帶有點的十進位位址。
Dispatcher 會將傳給叢集位址的要求,平衡分配到對該叢集的埠所配置的伺服器。
叢集可以是符號式名稱、帶點十進位數位址,或是定義萬用字元叢集的特殊位址 0.0.0.0。 若要定義叢集,請發出指令 dscontrol cluster add。 若要設定叢集選項,請發出指令 dscontrol cluster set 或用 GUI 來發出指令。 萬用字元叢集可以用來找出多個符合的 IP 位址,以平衡進入之封包的資料流量。如需進一步資訊,請參閱使用萬用字元叢集來結合伺服器配置、使用萬用字元叢集來平衡防火牆的資料流量及將萬用字元叢集與 Caching Proxy 搭配使用來進行透通式 Proxy。
一旦定義了叢集,通常您必須在 Dispatcher 機器的其中一個網路介面卡上配置叢集位址。
要執行此作業,請發出指令 dscontrol executor configure cluster_address。 此指令將會尋找一個其現行位址屬於相同子網路的配接卡,來作為叢集位址。 然後它會針對該叢集位址發出作業系統的配接卡配置指令,並使用所找到的配接卡以及該配接卡上所找到的現有位址之網路遮罩。例如:
dscontrol executor configure 204.67.172.72
在您不想要配置叢集位址的情況下,會以高可用性模式來將叢集加入備用的伺服器, 或是將叢集加入廣域配送器,作為遠端伺服器。 如果您以單機模式來使用範例 goIdle script,您也不需執行 executor configure 指令。 goIdle script 的相關資訊,請參閱使用 script。
在少數情況下,您可能會有一個叢集位址不符合現存位址的任何子網路。 此時,請使用第二種形式的 executor configure 指令,並明確地提供介面名稱及網路遮罩。 使用 dscontrol executor configure cluster_address interface_name netmask。
範例如下:
dscontrol executor configure 204.67.172.72 en0 255.255.0.0 (AIX) dscontrol executor configure 204.67.172.72 eth0:1 255.255.0.0 (Linux) dscontrol executor configure 204.67.172.72 le0:1 255.255.0.0 (Solaris 7) dscontrol executor configure 204.67.172.72 le0 255.255.0.0 (Solaris 8) dscontrol executor configure 204.67.172.72 en1 255.255.0.0 (Windows 2000)
要在 Windows 2000 上使用第二種形式的 executor configure 指令,您必須決定所要使用的介面名稱。
如果在您的機器上只有一張乙太網路卡,則介面名稱會是 en1。 同樣地,如果您只有一張「記號環」卡,則介面名稱會是 tr1。 如果您有多張其中一種類型的卡,您便需要判斷卡的對映。 請使用下列步驟:
網路介面配接卡將列示在「網路卡」之下。請在每一個網路介面配接卡上按一下, 以判斷它是「乙太網路」或「記號環」介面。 介面的類型列示在說明直欄中。 由 dsconfig 所指派的名稱會對映到介面類型。 例如,列示中的第一個「乙太網路」介面將被 dsconfig 指定為 en0, 第二個會被指定為 en1,依此類推;第一個「記號環」介面則被指定為 tr0, 第二個被指定為 tr1,依此類推。
在您取得這個對映資訊後,您可以在網路介面上,建立叢集位址的別名。
executor configure 指令只會執行 ifconfig (或在 Windows 2000 上執行 dsonfig) 指令,所以如果您願意,還是可以使用 ifconfig (dsconfig) 指令。
Dispatcher 元件有提供 dsconfig 這個指令,讓您可用指令行來配置叢集別名。 dsconfig 指令的語法與 UNIX(R) ifconfig 指令相同。
dsconfig en0 alias 204.67.172.72 netmask 255.255.0.0
若要決定介面名稱,請使用與用在 executor configure 指令之第二種形式的相同技術。
當使用連結特定的伺服器應用程式,而這些應用程式會連結到不含伺服器 IP 的 IP 位址清單時,請使用 arp publish 指令而非 ifconfig,以便動態地設定 Load Balancer 機器上的 IP 位址。
例如:
arp -s <cluster> <Load Balancer MAC address> pub
若要定義埠,可輸入 dscontrol port add cluster:port 指令、編輯範例配置檔、或使用 GUI。 cluster 可以是符號式名稱, 也可以是帶點十進位數位址。Port 則是您將對該通訊協定使用的埠的號碼。 此時,您也可以變更不同的埠設定。您必須定義並配置一個埠的所有伺服器。請參閱Dispatcher 及 CBR 的指令參照。
埠號 0 (零) 是用來指定萬用字元埠的。 不是要傳送到叢集上任何已定義之埠的資料傳輸,將接受此埠。 萬用字元埠將會用來配置所有埠的規則及伺服器。 如果有多個埠具有相同的伺服器/規則配置,您也可以使用此功能。 一個埠上的資料傳輸會影響其它埠上平衡負載的決策。 使用萬用字元埠之時機的相關資訊,請參閱使用萬用字元埠來引導未配置埠的資料傳輸。
若要定義平衡負載伺服器機器,可輸入 dscontrol server add cluster:port:server 指令,編輯範例配置檔,或使用 GUI。 Cluster 及 server 可以是符號式名稱或帶點十進位數位址。Port 則是您將對該通訊協定使用的埠的號碼。 您必須定義一個以上的伺服器給叢集上的一個埠,以執行平衡負載。
連結特定伺服器: 如果 Dispatcher 元件是對連結特定伺服器進行平衡負載,則伺服器必須配置為可以連結叢集位址。 既然 Dispatcher 轉送封包時不會變更目的地 IP 位址,因此當封包到達伺服器時,仍會含有叢集位址作為目的地。 如果伺服器配置為要連結到叢集位址以外的某一 IP 位址,此伺服器將無法接受送往該叢集的封包/要求。
多重位址並列: 在並列配置中,並列伺服器機器的位址不必相同於非轉送的位址 (NFA)。 如果您的機器已定義有多重 IP 位址,您即可使用另一個位址。 對 Dispatcher 元件而言,必須用 dscontrol server 指令將並列伺服器機器定義為 collocated。 並置伺服器的相關資訊,請參閱使用並列伺服器。
有關 dscontrol server 指令語法的進一步資訊,請參閱dscontrol server -- 配置伺服器。
管理程式功能可增進平衡負載。若要啟動管理程式,可輸入 dscontrol manager start 指令,編輯範例配置檔,或使用 GUI。
通告器可提供管理程式有關平衡負載伺服器機器回應要求的能力之詳細資訊。 通告器是專用於某個通訊協定。例如,若要啟動 HTTP 通告器, 請發出下列指令:
dscontrol advisor start http port
如需通告器的清單以及其預設埠,請參閱Dispatcher 及 CBR 的指令參照。有關各種通告器的說明,請參閱通告器列示。
如果啟動通告器,您可以修改平衡負載決策中所含之通告器資訊的重要性比例。 若要設定叢集比例,請發出 dscontrol cluster set cluster proportions 指令。相關資訊,請參閱狀態資訊所給定的重要性比例。
如果伺服器是並列的 (Dispatcher 常駐在其所平衡負載的同一機器上),或者使用的是 nat 或 cbr 轉送方法,請不要執行下列程序。
使用 mac 轉送方法時,Dispatcher 只能搭配後端伺服器使用,讓迴圈配接卡配置額外的 IP 位址,而後端伺服器絕不會就其回應 ARP (位址解析通信協定) 要求。 請遵循本節所列的步驟,來設定平衡負載的伺服器機器。
要讓平衡負載的伺服器機器能夠運作,您必須將迴圈裝置 (通常稱為 lo0) 設定 (或最好是別名) 成叢集位址。 使用 mac 轉送方法時,在將封包轉遞給 TCP 伺服器機器之前,Dispatcher 元件並不會變更 TCP/IP 封包中的目的地 IP 位址。 藉著將迴圈裝置設定或設定別名成叢集位址,平衡負載伺服器機器會接受要送給該叢集位址的封包。
如果您的作業系統支援網路介面別名 (如 AIX、Linux、Solaris 或 Windows 2000),則應將迴圈裝置的別名設定成叢集位址。 使用支援別名之作業系統的優點是,您能夠配置經過平衡負載的伺服器機器,以服務多個叢集位址。
對於 2.2.14 或更高版本的 Linux 核心程式,請在 ifconfig 指令之前發出下列指令:
echo 1 > /proc/sys/net/ipv4/conf/lo/hidden echo 1 > /proc/sys/net/ipv4/conf/all/hidden
如果您伺服器的作業系統不支援別名,則必須將迴圈裝置設定成叢集位址。
請將指令用於表 5 中所示的作業系統中,以設定或命名迴圈裝置的別名。
表 5. 設定 Dispatcher 之迴圈裝置 (lo0) 別名的指令
在部份作業系統上,可能已建立預設路徑,且需要予以移除。
Windows 2000 範例:
現行路徑: 網址 網路遮罩 閘道位址 介面 測量單位 0.0.0.0 0.0.0.0 9.67.128.1 9.67.133.67 1 9.0.0.0 255.0.0.0 9.67.133.158 9.67.133.158 1 9.67.128.0 255.255.248.0 9.67.133.67 9.67.133.67 1 9.67.133.67 255.255.255.255 127.0.0.1 127.0.0.1 1 9.67.133.158 255.255.255.255 127.0.0.1 127.0.0.1 1 9.255.255.255 255.255.255.255 9.67.133.67 9.67.133.67 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 224.0.0.0 224.0.0.0 9.67.133.158 9.67.133.158 1 224.0.0.0 224.0.0.0 9.67.133.67 9.67.133.67 1 255.255.255.255 255.255.255.255 9.67.133.67 9.67.133.67 1
9.0.0.0 255.0.0.0 9.67.133.158 9.67.133.158 1
您必須刪除額外的路徑。請將指令用於表 6 中所示的作業系統中,以刪除額外路徑。
範例:若要如步驟 2 之「現行路徑」範例表所示方式來刪除額外路徑,請鍵入:
route delete 9.0.0.0 9.67.133.158
HP-UX
| route delete cluster_address cluster_address |
Windows 2000 或 Windows NT | route delete network_address
cluster_address (在 MS-DOS 提示中)
|
使用圖 15中所顯示的範例,並設定執行 AIX 的伺服器機器時,指令應為:
route delete -net 204.0.0.0 204.67.172.72
要驗證後端伺服器是否已適當地配置,請在未執行 Load Balancer 且已取消配置 cluster 時,從相同子網路上的不同機器,執行下列步驟:
arp -d cluster
ping cluster
此時不應有任何回應。 如果 ping 出現回應,請確定您並未將叢集位址 ifconfig 成介面。 確定並無機器對此叢集位址具有已發佈的 arp 項目。
若是版本 2.2.14 或更高版本的 Linux 核心程式,請確定 /proc/sys/net/ipv4/conf/lo/hidden 及 /proc/sys/net/ipv4/conf/all/hidden 中存有 "1"。
arp -a
在指令的輸出中,您應會看到伺服器的 MAC 位址。 發出指令:
arp -s cluster server_mac_address
arp -d cluster
僅適用於 Linux:若要設定迴圈裝置的別名,可能需有特定的修補程式 (視 Linux 核心版本而定)。
修補程式可確保唯有具備 ARP 要求中所要求的 IP 位址之網路卡埠,才會傳送 ARP 回應。 若無此修補程式,Linux 將在網路上發出迴圈別名的 ARP 回應。 此修補程式亦會更正 ARP 競爭條件,此條件常見於具有不同 IP 位址的多個網路卡埠同時出現於同一實體網路時。
若有下列情形,即必須安裝修補伺服器:
您可以從 http://www.tldp.org/HOWTO/Kernel-HOWTO.html 取得編譯及修補 Linux 核心程式的指示。
若要引用 2.4.4 (或以上) 核心程式修補程式,則至以下網址以取得迴圈修補程式:http://www.linuxvirtualserver.org/~julian#hidden。
對於 Load Balancer 機器而言,因為僅支援表 3 中的中所列的核心程式版本名稱, 所以完成編譯的核心修補程式名稱必須符合表格內所列的名稱。如需 Linux 核心修補程式的進一步資訊, 請參閱支援的 Linux 核心程式版本名稱。
本篇提供快速入門配置的相關資訊、規劃注意事項,以及說明配置 Load Balancer CBR 元件的方法。 它含有下列各章:
此快速入門範例將示範如何使用 CBR 與 Caching Proxy 來配置三個本端附加工作站,以便平衡負載兩個 Web 伺服器之間的 Web 資料傳輸。 (為求簡單,此範例所舉的伺服器皆位於相同的 LAN 區段上,因為 CBR 並不限制使用位於相同 LAN 區段上的伺服器)。
若要進行快速入門範例,則需要三個工作站及四個 IP 位址。其中一個工作站要用來當作 CBR;另外兩個工作站則用來當作 Web 伺服器。 每一個 Web 伺服器都需要一個 IP 位址。 CBR 工作站需要一個實際的位址,以及一個用於平衡負載的位址。
若要使用 CBR,必須在同一伺服器上安裝 Caching Proxy。若要對 CBR 配置 Caching Proxy,請參閱步驟 1. 配置 Caching Proxy 以使用 CBR。
工作站 | 名稱 | IP 位址 |
---|---|---|
1 | server1.mywebsite.com | 9.27.27.101 |
2 | server2.mywebsite.com | 9.27.27.102 |
3 | server3.mywebsite.com | 9.27.27.103 |
網路遮罩 = 255.255.255.0 |
每一個工作站都只包含一個標準的「乙太網路」網路介面卡。
Name= www.mywebsite.com IP=9.27.27.104
有了 CBR ,您就可以用指令行、配置精靈或圖形式使用者介面 (GUI) 來建立配置。 在此快速入門範例中,相關的配置步驟是以指令行來作示範。
從指令提示,遵循下列步驟:
cbrcontrol executor start
ibmproxy
cbrcontrol cluster add www.mywebsite.com
cbrcontrol port add www.mywebsite.com:80
cbrcontrol server add www.mywebsite.com:80:server2.mywebsite.com
cbrcontrol server add www.mywebsite.com:80:server3.mywebsite.com
cbrcontrol rule add www.mywebsite.com:80:memberRule type content pattern uri=*/member/*
cbrcontrol rule add www.mywebsite.com:80:guestRule type content pattern uri=*/guest/*
本例中,透過內容規則,從屬站對網站 www.mywebsite.com 的要求,會根據 URI 要求路徑中的目錄而送給不同的伺服器。相關資訊,請參閱附錄 B, 內容規則 (型樣) 語法。
cbrcontrol rule useserver www.mywebsite:80:memberRule server2.mywebsite.com
cbrcontrol rule useserver www.mywebsite:80:guestRule server3.mywebsite.com
CBR 現在將根據內容規則來執行平衡負載。 從屬站之 URL 要求如果內含 /member/,將會被導送給 server2.mywebsite.com。 而從屬站之 URL 要求如果內含 /guest/ 則會被導送給 server3.mywebsite.com。
cbrcontrol manager start
cbrcontrol advisor start http 80
CBR 現在會確定從屬站要求並沒有傳送到失敗的 Web 伺服器。
您具備本端附加伺服器的基本配置現在已經完成。
測試配置是否可運作。
cbrcontrol server report www.mywebsite.com:80:這兩個伺服器的連線總數直欄應加總為 『2』。
如需使用 CBR GUI 的相關資訊,請參閱GUI及參閱附錄 A, GUI:一般指示。
如需使用 CBR 精靈的相關資訊,請參閱配置精靈。
可配置 CBR 來支援您站台的方法有許多種。如果您對所有您的客戶將連接的站台, 僅具有一個主電腦名稱,則您可以定義伺服器的單一叢集。對於其中每一個伺服器,您都要配置 CBR 藉以通信的埠。請參閱圖 9。
本例中的 CBR 元件,有一個叢集是在 www.productworks.com 所定義。 這個叢集有兩個埠: HTTP 為埠 80,SSL 為埠 443。當從屬站對 http://www.productworks.com (埠 80) 發出要求時所連接的伺服器, 與從屬站對 https://www.productworks.com (埠 443) 發出要求時所連接的伺服器不同。
如果您有一個非常大的站台,它具有許多專門用於每一個支援的通訊協定的伺服器, 則其它配置 CBR 的方法較合適。在這個情況下, 您可能想要對每一個具有單一埠,但有多個伺服器的通訊協定來定義叢集, 如圖 10 中所示一般。
圖 18. 配置有兩個叢集且每個叢集都有一個埠之 CBR 範例
對於本例中的 CBR 元件,我們定義了兩個叢集:埠 80 (HTTP) 為 www.productworks.com,埠 443 (SSL) 為 www.testworks.com。
若您的站台主控數個公司或部門的內容,且它們都以不同 URL 進入您的站台,則需使用第三種方法來配置 CBR。 此時,您最好先為每一公司或部門定義一叢集,然後定義任何您想要在該 URL 中接收連線的埠,如圖 11 中所示。
圖 19. 配置有兩個叢集且每個叢集都有 2 個埠 CBR 範例
對本例中的 CBR 元件而言,我們定義了兩個叢集,且各叢集在 www.productworks.com 及 www.testworks.com 等站台分別具有埠 80 (HTTP) 及埠 443 (SSL)。
本章將說明在安裝與配置具有 Caching Proxy 的 CBR 元件之前,網路規劃者應該考慮的事項。
本章包括下列各節:
CBR 元件可讓您平衡負載 HTTP 及 SSL 資料傳輸,使用 Caching Proxy 來 proxy 要求
透過 CBR,您可以平衡負載透過 CBR 配置檔 (以 cbrcontrol 指令) 所配置的伺服器,或是平衡負載來自 WAS 配置檔的伺服器。 有關平衡負載來自 WAS 配置檔之伺服器的進一步資訊,請參閱平衡負載 WebSphere Application Servers (WAS)。
CBR 的元件結構與 Dispatcher 極為相似。 CBR 是由下列功能所組成:
管理程式的使用是選用性的。不過,如果未使用管理程式,將依據目前的伺服 器加權值,使用已加權的循環排程方式,來執行平衡負載及無可使用的通告器。
CBR 的三個主要功能 (執行器、管理程式及通告器) 會互動, 以平衡及配送伺服器之間的進入要求。 除了平衡負載要求外,執行器還會監督新連線及現行連線的數目, 並且會提供這個資訊給管理程式。
CBR 元件可讓您指定一組伺服器,以根據符合從屬站要求內容的正規表示式來處理要求。 CBR 可讓您分割您的站台,如此一來,不同的內容或應用程式服務就可以由不同組的伺服器來服務。此分割動作將會透通至存取您的站台的從屬站。
分割您的站台的其中一種方法,就是指派一些伺服器來專門處理 cgi 要求, 並指派另一組伺服器來處理所有其它的要求。 這樣可以停止計算密集的 cgi script,以防止降低伺服器處理一般 HTML 資料傳輸的速度, 以讓從屬站獲得較佳的整體回應時間。 若使用這個機制,您也可以指派功能更強大的工作站來應付一般的要求。 這樣可以提供從屬站較合適的回應時間,而不需花費來將您所有的伺服器升級。 您也可以指派功能更強大的工作站來應付 cgi 要求。
另一個分割站台的可能性,就是將正在存取需要註冊之呼叫的從屬站導向一組伺服器, 並將其它所有的要求導向第二組伺服器。 這樣可以防止您站台上的任意瀏覽器用盡已確定註冊之從屬站所能使用的資源 。 如此也可以讓您使用功能更強大的工作站來服務這些已登錄的從屬站。
您當然也可以將上述方法合併使用,以獲得更大的彈性及更好的服務。
因為 CBR 可讓您針對每種類型的要求來指定多重伺服器, 所以可將要求平衡負載,以獲得最佳的從屬站回應。 若將多重伺服器分派給每種類型的內容, 則某個工作站或伺服器失敗時,您會受到保護。CBR 會辨識失敗狀況,並繼續將從屬站要求平衡地傳送到該組的其它伺服器中。
Caching Proxy 會透過其 plugin 介面與 CBR 程序通信。
CBR 必須在本端機器上執行,這個作業才能運作。因為這些是兩個個別的程序, 所以多個 Caching Proxy 實例可以在執行中並使用單一 CBR 實例。 您可以配置這個設定,以便在 Caching Proxy 之間分離位址或功能, 或是使數個 Caching Proxy 處理從屬站資料傳輸,來改善機器的資源使用率。Proxy 實例可以監聽不同的埠,或連結到同一埠上的唯一 IP 位址, 取決於哪一個最適合於資料傳輸需求。
CBR 以及 Caching Proxy 會用指定的規則類型來檢查 HTTP 要求。 在執行時,Caching Proxy 會接收從屬站要求,並查詢 CBR 元件,以取得最佳伺服器。 根據此查詢,CBR 會將要求與一組按優先次序排列的規則比對。找到符合的規則後,就會從預先配置之伺服器組中選擇適當的伺服器。最後,CBR 會通知 Caching Proxy 所選擇的伺服器為何,而且會將要求 proxy 到該伺服器。
一旦您將叢集定義為平衡負載,您必須確定對該叢集所做的所有要求, 都具有一個將會選擇伺服器的規則。 如果沒有找到符合特定要求的規則,從屬站就會從 Caching Proxy 接收一個錯誤頁面。 確定所有要求都會符合某個規則的最簡單方法,就是以極高的優先順序來建立一個「永遠為真」的規則。 請確定優先順序較低之規則所無法明確處理的所有要求,都能夠由此規則所使用的伺服器加以處理。 (備註:優先順序較低之規則會先被評估。)
進一步資訊,請參閱配置規則型平衡負載。
具備 Caching Proxy 的 CBR 可接收從屬站到 proxy (client-to-proxy 端) 的 SSL 傳輸,並支援從 proxy 到 SSL 伺服器 (proxy-to-server 端) 的傳輸。 藉由在 CBR 配置中定義伺服器上的 SSL 埠以接收來自從屬站的 SSL 要求,您即能維護完全安全的站台,以 CBR 來平衡負載安全 (SSL) 伺服器。
要讓 IBM Caching Proxy 在 proxy-to-server 端啟用 SSL 加密,ibmproxy.conf 檔中須新增一配置陳述式。
其格式須為:
proxy uri_pattern url_pattern address
其中的 uri_pattern 是要比對的型樣 (例如:/secure/*),url_pattern 是置換 URL (例如:https://clusterA/secure/*),而 address 則是叢集位址 (例如:clusterA)。
具備 Caching Proxy 的 CBR 還可接收來自從屬站的 SSL 傳輸,然後解密 SSL 要求,之後再將此要求 proxy 到某一 HTTP 伺服器。 要使 CBR 支援 SSL 中的 client-to-proxy 及 HTTP 中的 proxy-to-server,有一選用性的關鍵字 mapport (於 cbrcontrol server 指令中) 可以使用。 當您需要指出伺服器上的埠不同於從屬站的進入埠時,即可使用此關鍵字。 以下是利用 mapport 關鍵字來新增某埠的範例,其中從屬站的埠是 443 (SSL) 而伺服器的埠是 80 (HTTP):
cbrcontrol server add cluster:443 mapport 80
mapport 的埠號可以是任何正整數值。預設值是從屬站之進入埠的埠號值。
由於 CBR 須能將 HTTP 要求通告給埠 443 (SSL) 上所配置的伺服器,有一個特殊的通告器 ssl2http 因此產生。 此通告器是在埠 443 (從屬站的進入埠) 上啟動,並通告針對該埠所配置的伺服器。 若配置了兩個叢集且各叢集都具有埠 443 以及用不同 mapport 所配置的伺服器,則單一實例的通告器可據以開啟適當的埠。 以下是此種配置的範例:
Executor Cluster1 Port:443 Server1 mapport 80 Server2 mapport 8080 Cluster2 Port:443 Server3 mapport 80 Server4 mapport 8080 Manager Advisor ssl2http 443
透過 CBR,您便能平衡負載放在叢集化 WAS (版本 5) 伺服器上的 Web 應用程式要求。 圖 20 所示為一種配置設置,其中有一高可用性 Dispatcher 機器會平衡負載第一層的 CBR (具備 Caching Proxy) 與第二層的 WebSphere Application Servers (以及 Web HTTP 伺服器)。
圖 20. Dispatcher、CBR 及 WAS 部署作業的配置
CBR 可用 WAS 形式的相關性,同時讓有狀態與無狀態的要求被遞送到正確的 WAS 伺服器。 配置可藉由自動將 WAS HTTP plugin 配置檔 (具有 plugin-cfg.xml 的預設檔名) 對映至某一 CBR 配置來處理。 您可以用 cbrcontrol file newload 指令來載入 WAS HTTP plugin 配置檔。 此指令會將 WAS 配置檔對映到 CBR 配置。 若要儲存此配置檔,請使用 cbrcontrol file save 指令。
一旦 Load Balancer 載入了 plugin 配置檔並對映至 CBR 配置,如果您需要變更 WAS 叢集配置,建議您最好重新載入已更新的 WAS HTTP plugin 配置檔。 以 newload 指令進行重新載入是更新 WAS 叢集配置的最佳方法,而不是用指令行或 GUI 將伺服器新增至 WAS 規則來更新配置。
作為從 WAS 叢集配置到 CBR 配置之對映作業的一部份,所有規則以及關聯於 WAS plugin 配置檔所建規則的伺服器,皆具有下列資訊以識別其來源:
位於後端 WAS 機器上的 WLMServlet 會執行伺服器當機偵測,並提供伺服器加權值資訊給 Load Balancer 的 WLMServlet Advisor。
只有「WLMServlet 通告器」可在已配置成屬於 WAS 叢集的伺服器上進行通告。 其間 WLMServlet 不須常駐在 WAS 機器上。 如果 WLMServlet 未出現,伺服器加權值將預設成 WAS plugin 配置檔中所指定的加權值。
在執行本章中的步驟之前,請參閱規劃 Content Based Routing 元件。 本章將說明如何為 Load Balancer 的 CBR 元件建立基本配置。
作業 | 說明 | 相關資訊 |
---|---|---|
設定 CBR 機器。 | 找出基本需求。 | 設定 CBR 機器 |
將機器設定為要執行平衡負載的功能。 | 設定您的平衡負載配置。 | 步驟 7. 定義已平衡負載的伺服器機器 |
若要建立 Load Balancer 的 CBR 元件的基本配置,基本方法有四種:
若要使用 CBR,須已安裝 Caching Proxy。
這是配置 CBR 的最直接的方法。指令參數值須以英文字元輸入。 唯一的例外是主電腦名稱 (例如,用於叢集與伺服器指令) 及檔名。
若要從指令行啟動 CBR:
您可以輸入縮寫版的 cbrcontrol 指令參數。 只需要輸入參數的專用字母即可。例如,要取得存檔指令的說明,您可以鍵入 cbrcontrol he f 而非 cbrcontrol help file。
若要啟動指令行介面:請發出 cbrcontrol 以接收 cbrcontrol 指令提示。
若要結束指令行介面:請發出 exit 或 quit。
註:
( ) 左括弧及右括弧
& '&' 符號
| 垂直線
! 驚嘆號
* 星號
作業系統的 Shell 可能會將這些字元解譯為特殊字元,並在 cbrcontrol 加以評估前將其轉換成替代文字。
上述清單中的特殊字元對 cbrcontrol rule add 指令而言皆屬選用字元,而且是在指定內容規則的型樣時才使用。 例如,下列指令只在使用 cbrcontrol>> 提示時才屬有效。
rule add 10.1.203.4:80:cbr_prod_rule_ek type content pattern client=181.0.153.222&uri=/nipoek/*
若要使此同一指令在作業系統的提示下可以作用,須在型樣前後加上雙引號 (" "),如下所示:
cbrcontrol rule add 10.1.203.4:80:cbr_prod_rule_ek type content pattern "client=181.0.153.222&uri=/nipoek/*"
如果未使用引號,當規則存入 CBR 時,部份型樣將遭截斷。 請注意:使用 cbrcontrol>> 指令提示時,引號並不受支援。
用於配置 CBR 的指令可以輸入到某一配置 script 檔中,然後一起執行。
cbrcontrol file appendload myscript
cbrcontrol file newload myscript
若要將現行配置存入 Script 檔 (例如,savescript) 中,請執行下列指令:
cbrcontrol file save savescript
此指令會將配置 Script 檔存入 ...ibm/edge/lb/servers/configurations/cbr 目錄。
如需圖形式使用者介面 (GUI) 的一般指示與範例,請參閱圖 41。
若要啟動 GUI,請遵循下列步驟
若要從 GUI 來配置 CBR 元件,您必須先在樹狀結構中選取 Content Based Routing。 一旦連接到「主電腦」,即可啟動管理程式。您也可以建立含有埠及伺服器的叢集,並啟動管理程式的通告器。
GUI 可以用來執行任何您會以 cbrcontrol 指令來執行的作業。例如,在使用指令行來定義叢集時,您會輸入 cbrcontrol cluster add cluster 指令。 若要從 GUI 來定義叢集,您可在執行器上按一下右鍵,然後在蹦現功能表中,對新增叢集按一下左鍵。 在蹦現視窗中鍵入叢集位址,然後按一下確定。
您可以用主電腦蹦現功能表中所顯示的載入新配置 (以完全取代現行配置) 及附加至現行配置 (以更新現行配置) 等選項,來載入先前即已存在的 CBR 配置檔。 您應定期使用另存配置檔選項 (也在主電腦蹦現功能表中) 來儲存您的 CBR。 位於 GUI 頂端的檔案功能表可讓您將現行的主電腦連線存到檔案中,或是復置所有的 Load Balancer 元件之現存檔案中的連線。
您可以藉由按一下 Load Balancer 視窗右上角的問號圖示,來存取說明。
若要從 GUI 執行指令:請高亮度顯示 GUI 樹狀結構中的「主電腦」節點,並從「主電腦」蹦現功能表中選取傳送指令...。 在指令輸入欄位中,鍵入要執行的指令,例如:executor report。 您在現行階段作業中所執行的指令,其結果及歷程將出現在所提供的視窗中。
使用 GUI 的相關資訊,請參閱附錄 A, GUI:一般指示。
如果您要使用配置精靈,請遵循下列步驟:
藉由發出 cbrwizard,從指令提示下起動此精靈。 或者, 從 GUI 中呈現的 CBR 元件功能表選取「配置精靈」。
若是 AIX、Linux 或 Solaris:若要啟動 Caching Proxy,請輸入 ibmproxy
若是 Windows 2000:若要啟動 Caching Proxy,請至「服務」畫面, 依序選取開始 > 設定 > 控制台 > 系統管理工具 > 服務
CBR 精靈會一步步地指引您如何建立 CBR 元件的基本配置。它會詢問您一些關於網路的問題, 並指引您設定一個叢集,使得 CBR 能夠平衡一群伺服器之間的資料流量。
在設定 CBR 機器之前,您必須是 root 使用者 (對 AIX、Linux 或 Solaris 而言),或是 Windows 2000 上的管理者。
所要設定之伺服器的每一個叢集都必須要有一個 IP 位址。 叢集位址是一個與主電腦名稱有關聯的位址 (如 www.company.com)。 從屬站將使用這個 IP 位址叢集,來連接叢集中的伺服器。 特別的是,這個位址可在由從屬站提出的 URL 要求中找到。 對同一叢集位址提出的所有要求都是由 CBR 來平衡負載。
僅適用於 Solaris:在使用 CBR 元件前,須先修改 IPC (跨處理通信) 的系統預設值。 共用記憶體區段的最大大小及號誌識別碼的數目皆須增加。 若要調整您的系統以支援 CBR,請編輯您系統上的 /etc/system 檔案,新增下列陳述式,然後重新啟動:
set shmsys:shminfo_shmmax=0x02000000 set semsys:seminfo_semmap=750 set semsys:seminfo_semmni=30 set semsys:seminfo_semmns=750 set semsys:seminfo_semmnu=30 set semsys:seminfo_semume=30
若未將共用記憶體區段增加至上述之值,cbrcontrol executor start 指令將會失敗。
若要使用 CBR,須已安裝 Caching Proxy。
您必須對 Caching Proxy 配置檔 (ibmproxy.conf) 進行下列修改:
確定送入的 URL 指引 CacheByIncomingUrl 是 "off" (預設值)。
在配置檔的對映規則區段中,對於每一個叢集,新增如下的對映規則:
Proxy /* http://cluster.domain.com/* cluster.domain.com
CBR Plug-in 有四個項目必須編輯:
每一個項目都必須在單一行上。 ibmproxy.conf 檔中有數個 "ServerInit" 實例,每一個 plug-in 皆有一個。 "CBR Plug-in" 的項目須經編輯並取消備註。
以下所示為 AIX、Linux、Solaris 及 Windows 2000 等類配置檔的特定新增內容。
圖 21. AIX、Linux 及 Solaris 的 CBR 配置檔
ServerInit /opt/ibm/edge/lb/servers/lib/libndcbr.so:ndServerInit PostAuth /opt/ibm/edge/lb/servers/lib/libndcbr.so:ndPostAuth PostExit /opt/ibm/edge/lb/servers/lib/libndcbr.so:ndPostExit ServerTerm /opt/ibm/edge/lb/servers/lib/libndcbr.so:ndServerTerm
ServerInit c:\Program Files\IBM\edge\lb\servers\lib\libndcbr.dll:ndServerInit PostAuth c:\Program Files\IBM\edge\lb\servers\lib\libndcbr.dll:ndPostAuth PostExit c:\Program Files\IBM\edge\lb\servers\lib\libndcbr.dll:ndPostExit ServerTerm c:\Program Files\IBM\edge\lb\servers\lib\libndcbr.dll:ndServerTerm
若要啟動 CBR 伺服器功能,請在指令行上鍵入 cbrserver。
當啟動 cbrserver 時,預設配置檔 (default.cfg) 會自動載入。
如果使用者決定將 CBR 配置存入 default.cfg,則在下次啟動 cbrserver 時,系統會自動載入此檔案中儲存的所有內容。
欲啟動執行器功能時,請輸入 cbrcontrol executor start 指令。 此時,您也可以變更不同的執行器設定。請參閱dscontrol executor -- 控制執行器。
CBR 會將針對叢集所傳送的要求,平衡分配到在該叢集的埠上所配置的對應伺服器。
此叢集即為位於 URL 的主電腦部份中的符號名稱,而且應該符合 ibmproxy.conf 檔的 Proxy 陳述式中所使用的名稱。
若要定義一個叢集,請發出下列指令:
cbrcontrol cluster add cluster
若要設定叢集選項,請發出下列指令:
cbrcontrol cluster set cluster option value
相關資訊,請參閱Dispatcher 及 CBR 的指令參照。
如果您正在執行配置為反向 Proxy 的 Caching Proxy,則在為多重網站進行平衡負載時,您至少須為 Load Balancer 方框的一個網路介面卡,新增各網站的叢集位址。 如果不是,則可省略此步驟。
若是 AIX、Linux 或 Solaris:若要新增叢集位址給網路介面,請使用 ifconfig 指令。 對應於您的作業系統的指令如表 8 所示。
AIX | ifconfig interface_name alias cluster_address netmask netmask |
Linux | ifconfig interface_name cluster_address netmask netmask up |
Solaris 7 | ifconfig interface_name cluster_address netmask netmask up |
Solaris 8 | ifconfig addif interface_name cluster_address netmask netmask up |
若是 Windows:若要新增叢集位址給網路介面,請執行下列步驟:
埠號是伺服器應用程式所監聽的埠。對於具有正執行 HTTP 資料傳輸的 Caching Proxy 的 CBR 而言,埠號通常是埠 80。
若要定義您已在前一步驟中定義的叢集埠,請發出下列指令:
cbrcontrol port add cluster:port
若要設定埠選項,請發出下列指令:
cbrcontrol port set cluster:port option value
相關資訊,請參閱Dispatcher 及 CBR 的指令參照。
伺服器機器是執行您想要平衡負載之應用程式的機器。 server 是伺服器機器的符號式名稱或帶點十進位數位址。若要在叢集及埠上定義伺服器,請發出下列指令:
cbrcontrol server add cluster:port:server
叢集上的每一個埠都必須定義一個以上的伺服器,以執行平衡負載。
這是利用 Caching Proxy 配置 CBR 時的關鍵步驟。 規則可定義要如何分辨 URL 要求,並將它傳送至伺服器組中的一個適當的伺服器。 CBR 所使用的這個特殊規則類型就叫做內容規則。 若要定義內容規則,請發出下列指令:
cbrcontrol rule add cluster:port:rule type content pattern pattern
值 pattern 是正規表示式,它將會與每一個從屬站要求中的 URL 作比較。 有關如何配置型樣的進一步資訊,請參閱附錄 B, 內容規則 (型樣) 語法。
Dispatcher 中所定義的部份其它規則類型也可以用在 CBR 中。相關資訊,請參閱配置規則型平衡負載。
當從屬站要求符合某個規則後,就會在該規則的伺服器群組中找尋最佳 的伺服器。 規則的伺服器組是埠中所定義之伺服器的子集。 若要新增伺服器到規則的伺服器組,請發出下列指令:
cbrcontrol rule useserver cluster:port:rule server
管理程式功能可增進平衡負載。若要啟動管理程式,請發出下列指令:
cbrcontrol manager start
通告器將提供管理程式有關平衡負載伺服器機器能夠回應要求的詳細資訊。 通告器是專用於某個通訊協定。例如,若要啟動 HTTP 通告器, 請發出下列指令:
cbrcontrol advisor start http port
如果啟動通告器,您可以修改平衡負載決策中所含之通告器資訊的重要性比例。 若要設定叢集比例,請發出 cbrcontrol cluster set cluster proportions 指令。 相關資訊,請參閱狀態資訊所給定的重要性比例。
/opt/ibm/edge/lb/servers/lib
/opt/ibm/edge/lb/servers/lib
c:\Program Files\IBM\edge\lb\servers\lib
在新的環境中,啟動 Caching Proxy:從指令提示發出 ibmproxy
本篇提供快速入門配置的相關資訊、規劃注意事項,以及說明配置 Load Balancer Site Selector 元件的方法。 它含有下列各章:
此快速入門範例將說明如何利用 Site Selector 建立站台名稱配置,並根據從屬站要求所用的網域名稱,以 Site Selector 來平衡負載一組伺服器間的資料傳輸。
就此快速入門配置範例而言,您將需要下列項目:
在此快速入門範例中,該公司的站台網域是 mywebshop.com。 由於 Site Selector 將被平衡負載給此網域中一個以上的 URL 或站台,所以您將須定義子網域 (apps.mywebshop.com)。 Site Selector 對 apps.mywebservice.com 子網域具有權限。 子網域 apps.mywebshop.com 會包含下列站台名稱:marketing.apps.mywebshop.com 及 developer.apps.mywebshop.com。
apps.mywebshop.com. IN NS siteselector.mywebshop.com
有了 Site Selector,您就可以用指令行、配置精靈或圖形式使用者介面 (GUI) 來建立配置。 在此快速入門範例中,相關的配置步驟是以指令行來作示範。
從指令提示,遵循下列步驟:
sscontrol sitename add marketing.apps.mywebshop.com
sscontrol sitename add developer.apps.mywebshop.com
sscontrol server add marketing.apps.mywebshop.com:server1+server2
sscontrol server add developer.apps.mywebshop.com:server3+server4
sscontrol manager start
sscontrol advisor start http marketing.apps.mywebshop.com:80
sscontrol advisor start ftp developer.apps.mywebshop.com:21
Site Selector 現在會確定從屬站要求並沒有傳送到失敗的伺服器。
sscontrol nameserver start
您的基本 Site Selector 配置現在已經完成。
測試配置是否可運作。
sscontrol server status marketing.apps.mywebshop.com:
sscontrol server status developer.apps.mywebshop.com:
各伺服器的點閱項目應加總為 ping 及應用程式要求
如需使用 Site Selector GUI 的相關資訊,請參閱GUI及附錄 A, GUI:一般指示。
如需使用 Site Selector 精靈的相關資訊,請參閱配置精靈。
本章將說明在安裝與配置 Site Selector 元件之前,網路規劃者應該考慮的事項。
本章包括下列各節:
Site Selector 可與網域名稱伺服器搭配使用,以所收集的測量值與加權值,來平衡負載一組伺服器。 您可以建立站台配置,藉以依據從屬站要求所使用的網域名稱,來平衡負載一組伺服器間的資料傳輸。
在您的 DNS 環境中設定 Site Selector 的子網域時,Site Selector 須對其本身的子網域具有權限。 例如 (請參閱圖 24),貴公司對 company.com 網域已具有權限。 在公司內部,另有一些子網域。 Site Selector 將具有 siteload.company.com 的權限,而 DNS 伺服器則仍然保有 atlanta.company.com 及 boston.company.com 的權限。
為使公司的名稱伺服器可將 Site Selector 辨識為對 siteload 子網域具有權限,則必須在它的指名的資料檔中新增名稱伺服器項目。 例如,在 AIX 上,此名稱伺服器項目可能如下:
siteload.company.com. IN NS siteselector.company.com.
其中的 siteselector.company.com 是 Site Selector 機器的主電腦名稱。 若要供 DNS 伺服器使用,還須在任何其它已命名的資料庫檔案中製作相等的項目。
從屬站會向其網路中的名稱伺服器送出要求,為其解析網域名稱。 名稱伺服器會將此要求轉送給 Site Selector 機器。 Site Selector 接著便將網域名稱解析成 IP 位址,而此位址屬於站台名稱下所配置的某一伺服器。 Site Selector 會將選定伺服器的 IP 位址傳回給名稱伺服器。 名稱伺服器則會將 IP 位址傳回給從屬站。 (Site Selector 擔當非遞迴 (葉節點) 名稱伺服器,如果它無法解析網域名稱要求即會傳回錯誤。)
請參閱圖 5,其中所示的站台搭配使用了 Site Selector 與 DNS 系統,來平衡負載本端及遠端伺服器。
Site Selector 是由下列功能所組成:
管理程式的使用是選用性的。不過,如果未使用管理程式,將依據目前的伺服 器加權值,使用已加權的循環排程方式,來執行平衡負載及無可使用的通告 器。
透過 Metric Server,Site Selector 即可監督伺服器的活動層次,偵測伺服器何時負載最小,以及偵測失效的伺服器。 資料流量可測量伺服器的工作負荷。系統 Site Selector 管理者可控制在測量負載時所用的測量類型。 您可以配置 Site Selector 來配合您的環境, 您應考慮的因素如下:存取率、使用者總數及存取類型 (例如,短查詢、長時間執行的查詢,或密集載入 CPU)。
平衡負載則是以伺服器加權值為根據。 對 Site Selector 而言,管理程式會使用四種比例來決定相關的加權值:
CPU 及記憶體的值都是由 Metric Server 提供。 因此,建議最好是搭配使用 Metric Server 與 Site Selector 元件。
相關資訊,請參閱Metric Server。
Site Selector 的四個主要功能 (名稱伺服器、管理程式、Metric Server 及通告器) 會彼此互動,以平衡及解析各伺服器之間的進入要求。
使用 DNS 型平衡負載時,須停用名稱解析的快取功能。TTL (維持時間) 值會決定 DNS 型平衡負載的效益。 TTL 將決定另一個 nameserver 把已解析回應存入快取的時間長短。 TTL 值愈小,愈可快速分辨伺服器或網路負載中的微妙變化。 不過,停用快取會使從屬站在進行每一個名稱解析要求時皆須聯繫具有權限之名稱伺服器,因而可能增加從屬站的潛伏期。 選擇 TTL 值時,須務必注意停用快取會對環境造成的影響。 另外還須注意 DNS 型平衡負載極可能會受從屬站端的名稱解析快取所限制。
TTL 可用 sscontrol sitename [add | set] 指令來配置。相關資訊,請參閱sscontrol sitename -- 配置 sitename。
所謂網路接近是指計算各伺服器距要求方從屬站的接近程度。 要決定網路接近,Metric Server 代理程式 (須常駐於各個已平衡負載的伺服器上) 會傳送一個 ping 給從屬站 IP 位址, 並將回應時間傳回給 Site Selector。Site Selector 將會在平衡負載決策中使用此接近回應。Site Selector 會合併網路接近回應值與來自管理程式的加權值,以便為伺服器建立合併的最終加權值。
將網路接近特性搭配 Site Selector 來使用是選用性的。
Site Selector 提供有下列網路接近選項,可依據站台名稱來加以設定:
如果設成 yes,Metric Server 會 ping 從屬站以取得接近回應時間。 名稱伺服器將等待所有的 Metric Servers 回應或等待逾時時間發生。 然後,名稱伺服器會針對各個伺服器,將接近回應時間與管理程式所算的加權值合併起來,以便為各個伺服器建立「合併加權值」。 Site Selector 將向從屬站提供伺服器 IP 位址與最佳的合併加權值。 (根據預期,大部份的從屬站名稱伺服器皆有 5 秒的逾時。 Site Selector 會在超過此逾時時間前嘗試回應。)
如果設成 no,系統將根據現行管理程式加權值來為從屬站提供名稱解析。 然後,Metric Server 會 ping 從屬站以取得接近回應時間。 名稱伺服器則會將接收自 Metric Server 的回應時間存入快取。 當從屬站傳來第二個要求時,名稱伺服器將會合併現行管理程式加權值與放在快取中的各伺服器 ping 回應值,以取得具有最佳「合併加權值」的伺服器。 Site Selector 則會將此伺服器的 IP 位址傳回給從屬站,供其進行第二個要求。
網路接近選項可在 sscontrol sitename [add | set] 指令上設定。 相關資訊,請參閱Site Selector 指令參照。
在遵循本章中的步驟之前,請參閱規劃 Site Selector 元件。 本章將說明如何為 Load Balancer 的 Site Selector 元件建立基本配置。
作業 | 說明 | 相關資訊 |
---|---|---|
設定 Site Selector 機器。 | 找出基本需求。 | 設定 Site Selector 機器 |
將機器設定為要執行平衡負載的功能。 | 設定您的平衡負載配置。 | 步驟 4. 定義平衡負載的伺服器機器 |
若要針對 Load Balancer 的 Site Selector 元件建立基本配置,共有四種方法可供配置 Site Selector 元件:
這是配置 Site Selector 的最直接方法。指令參數值必須以英文字元輸入。 唯一的例外是主電腦名稱 (例如,站台名稱與伺服器指令中所用者) 及檔名。
若要從指令行啟動 Site Selector:
您可以輸入 sscontrol 指令參數的精簡版本。 只需要輸入參數的專用字母即可。例如,若要取得有關存檔指令的說明,您可以鍵入 sscontrol he f 而非 sscontrol help file。
若要啟動指令行介面:請發出 sscontrol 以接收 sscontrol 指令提示。
若要結束指令行介面:請發出 exit 或 quit。
用於配置 Site Selector 的指令可以輸入到某一配置 script 檔中,然後一起執行。
sscontrol file appendload myscript
sscontrol file newload myscript
若要將現行配置存入 Script 檔 (例如,savescript) 中,請執行下列指令:
sscontrol file save savescript
此指令會將配置 Script 檔存入 ...ibm/edge/lb/servers/configurations/ss 目錄中。
如需 GUI 的一般指示與範例,請參閱圖 41。
若要啟動 GUI,請遵循下列步驟
若要從 GUI 來配置 Site Selector 元件,您必須先在樹狀結構中選取 Site Selector。一旦連接到「主電腦」,即可啟動管理程式。 您也可以建立含有埠及伺服器的站台名稱,並啟動管理程式的通告器。
GUI 可以用來執行任何您會以 sscontrol 指令來執行的作業。 例如,使用指令行來定義站台名稱時,您會輸入 sscontrol sitename add sitename 指令。 若要從 GUI 來定義站台名稱,您可在名稱伺服器上按一下右鍵,然後在蹦現功能表中,對新增站台名稱按一下左鍵。 在蹦現視窗中輸入站台名稱,然後按一下確定。
您可以用主電腦蹦現功能表中所顯示的載入新配置 (以完全取代現行配置) 及附加至現行配置 (以更新現行配置) 等選項,來載入先前即已存在的 Site Selector 配置檔。 您應定期使用另存配置檔選項 (也在主電腦蹦現功能表中) 將您的 Site Selector 配置存檔。 位於 GUI 頂端的檔案功能表,可讓您將現行的主電腦連線存檔,或是復置所有 Load Balancer 元件其現有檔案中的連線。
若要從 GUI 執行指令:請高亮度顯示 GUI 樹狀結構中的「主電腦」節點,並從「主電腦」蹦現功能表中選取傳送指令....。 在指令輸入欄位中,鍵入要執行的指令,例如:nameserver status。 您在現行階段作業中所執行的指令,其結果及歷程將出現在所提供的視窗中。
您可以藉由按一下 Load Balancer 視窗右上角的問號圖示,來存取說明。
使用 GUI 的相關資訊,請參閱附錄 A, GUI:一般指示。
如果您要使用配置精靈,請遵循下列步驟:
ssserver
您可以發出 sswizard,從指令提示啟動這個精靈。 或者,從 GUI 中呈現的 Site Selector 元件功能表選取「配置精靈」。
Site Selector 精靈會一步步地指引您如何建立 Site Selector 元件的基本配置。 它會詢問您一些關於網路的問題,並指引您設定站台名稱,使得 Site Selector 能夠平衡負載一組伺服器之間的資料傳輸。
在設定 Site Selector 機器之前,您必須是 root 使用者 (對 AIX、Linux 或 Solaris 而言),或是 Windows 2000 上的管理者。
您將須用無法解析的 DNS 主電腦名稱,來作為您所設定之一組伺服器的站台名稱。 此站台名稱即為從屬站存取您的站台時所用的名稱 (例如 www.yourcompany.com)。 Site Selector 將會用 DNS 在此組伺服器之間,平衡負載此站台名稱的資料傳輸。
AIX、Linux 及 Solaris:若要啟動伺服器功能,請輸入 ssserver。
如果您決定將配置存入 default.cfg,則在下次啟動 ssserver 時,系統會自動載入此檔案中儲存的所有內容。
若要啟動名稱伺服器,請輸入 sscontrol nameserver start 指令。
選用性地,以 bindaddress 關鍵字啟動「名稱伺服器」,以便只連結到指定的位址。
Site Selector 會將傳送給站台名稱的要求,平衡分配到針對其所配置的對應伺服器。
站台名稱是一種不可解析的主電腦名稱 (從屬站會對其提出要求)。 站台名稱必須是完整定義的網域名稱 (例如,www.dnsdownload.com)。 當從屬站要求此站台名稱時,所傳回的將是與站台名稱相關的 IP 位址之一。
若要定義站台名稱,請發出下列指令:
sscontrol sitename add sitename
若要設定站台名稱選項,請發出下列指令:
sscontrol sitename set sitename option value
進一步資訊,請參閱Site Selector 指令參照。
伺服器機器是執行您想要平衡負載之應用程式的機器。 server 是伺服器機器的符號式名稱或帶點十進位數位址。若要從步驟 3 的站台名稱上定義伺服器,請發出下列指令:
sscontrol server add sitename:server
您必須在站台名稱下定義一個以上的伺服器,才可執行平衡負載。
管理程式功能可增進平衡負載。在啟動管理程式功能之前,請確定所有已平衡負載的機器皆安裝了測量單位伺服器。
若要啟動管理程式,請發出下列指令:
sscontrol manager start
通告器將提供管理程式有關平衡負載伺服器機器能夠回應要求的詳細資訊。 通告器是專用於某個通訊協定。Load Balancer 提供有許多通告器。 例如,若要啟動特定站台名稱的 HTTP 通告器,請發出下列指令:
sscontrol advisor start http sitename:port
有關如何使用系統測量單位及 Metric Server 的詳細資訊,請參閱Metric Server。
如果啟動通告器,您可以修改平衡負載決策中所內含之通告器 (埠) 資訊的重要性比例。 若要設定站台名稱比例,請發出 sscontrol sitename set sitename proportions 指令。相關資訊,請參閱狀態資訊所給定的重要性比例。
建議您搭配使用 Metric Server 與 Site Selector 元件。 有關如何在 Site Selector 所平衡負載之所有伺服器機器上設定 Metric Server 的詳細資訊,請參閱Metric Server。
本篇提供快速入門配置的相關資訊、規劃注意事項,以及說明配置 Load Balancer Cisco CSS Controller 元件的方法。 它含有下列各章:
此快速入門範例將說明如何使用 Cisco CSS Controller 元件來建立配置。 Cisco CSS Controller 會提供伺服器加權資訊,以便在進行平衡負載決策時,輔助 Cisco CSS Switch 決定最佳的伺服器選項。
圖 25. 簡單的 Cisco CSS Controller 配置
就此快速入門配置範例而言,您將需要下列項目:
開始配置此範例之前,確定已完成下列步驟:
透過 Cisco CSS Controller,您可以用指令行或圖形式使用者介面 (GUI) 來建立配置。 在此快速入門範例中,相關的配置步驟是以指令行來作示範。
從指令提示,遵循下列步驟:
ccocontrol consultant add SwConsultant-1 address 9.17.32.50 community public
如此即會檢查 Cisco CSS Switch 的連通性,而且會驗證 SNMP 讀/寫團體名稱是否正確運作。
ccocontrol ownercontent add SwConsultant-1:OwnerContent-1 ownername OwnerName-1 contentrule ContentRule-1
這些值必須符合 Cisco CSS Switch 上的對應屬性。
Cisco CSS Controller 此時可透過 SNMP 與交換器通信,並會從交換器取得所需的配置資訊。 經過此步驟後,您應該會在 Cisco CSS Controller 中看到相關資訊,指出 Cisco CSS Switch 上已配置哪些服務給指定的 ownercontent。
ccocontrol ownercontent metrics SwConsultant-1:OwnerContent-1 activeconn 45 connrate 45 http 10
此指令將會配置您要從服務收集哪些測量單位資訊及比例,以便用於加權值計算。 所有測量單位的合計比例須等於 100。
ccocontrol consultant start SwConsultant-1
透過此指令,所有的測量單位收集器將會啟動,服務加權值計算也會展開。 Cisco CSS Controller 會將其服務加權值計算的結果透過 SNMP 傳給 Cisco CSS Switch。
您的基本 Cisco CSS Controller 配置現在已經完成。
測試配置是否可運作。
如需使用 Cisco CSS Controller GUI 的相關資訊,請參閱GUI及附錄 A, GUI:一般指示。
本章將說明在安裝與配置 Cisco CSS Controller 元件之前,網路規劃者所應考慮的事項。
本章包含:
Cisco CSS Controller 可管理一組交換器顧問。每一顧問會決定由單一交換器所平衡負載之伺服器的加權值。 由顧問提供加權值的交換器則會經過配置來進行內容平衡負載。 顧問會透過 SNMP 通信協定將計算出來的加權值傳給交換器。 當平衡負載演算法為加權環繞式時,交換器會用加權值來針對其所平衡負載的內容規則選取服務程式。 要決定加權值時,顧問會用到下列的一或多項資訊:
有關內容平衡負載的說明與如何配置交換器的詳細資訊,請參閱 Cisco Content Services Switch Getting Started Guide。
為使顧問取得所需資訊以決定服務加權值,您必須具有:
如圖 26 中所示,我們建議應將顧問連結到其為之提供加權值的交換器後側的網路。 要啟用控制器、交換器及服務程式之間的連通性,有些參數必須在交換器上配置,而有些則須在控制器上配置。
在圖 26 中:
如需配置 VLAN 及交換器 IP 路由的詳細資訊,請參閱 Cisco Content Services Switch Getting Started Guide。
您可以使用下列任何介面來管理 Cisco CSS Controller:
若要進行遠端管理,在圖 27 中:
詳細資訊,請參閱 Cisco Content Services Switch Getting Started Guide。
圖 27. 顧問範例 (具有選用的高可用性友機),配置在交換器之後,而使用者介面在交換器前方
控制器高可用性可加強 Load Balancer 的容錯功能。 控制器高可用性的設計中心為封包轉送高可用性, 其包括兩個同時執行的控制器,一個扮演主要角色,另一個則扮演次要角色。
每一個控制器都是以相同的交換器資訊來配置的,而且一次僅有一個作用中的控制器。這表示,如同高可用性邏輯所決定的一般,僅作用中控制器會利用新的加權值計算及更新交換器。
控制器高可用性使用簡單使用者資料圖通信協定 (UDP) 封包,透過您配置的位址及埠, 與它的友機通信。當資訊屬於高可用性 (連繫資訊) 時,這些封包會用來在控制器之間交換此資訊,並且決定友機控制器可用性 (通訊檢查訊息)。如果備用控制器判定作用中控制器因為任何理由而發生故障, 則備用控制器將從故障的作用中控制器接管。然後,備用控制器將變成作用中控制器, 而且開始以新的加權值計算及更新交換器。
除了友機可用性之外,您可以配置連繫目標以取得高可用性。 控制器高可用性會使用連繫資訊,來判定哪一個控制器是作用中, 哪一個是備用的。作用中控制器就是可以 ping 多個目標且可以從它的友機連繫的控制器。
請參閱高可用性,以取得進一步資訊。
如果顧問判定一個服務無法使用時,它會在交換器上暫停該服務,以防止交換器對要求進行平衡負載時會考慮使用此伺服器。 當服務再次可用時,顧問將在交換器上啟動服務,以便在對要求進行平衡負載時考慮使用它。
Cisco CSS Controller 會將登錄項目傳遞到下列日誌:
這些日誌位於下列目錄:
在每一種日誌中,您都可設定日誌大小與記載層次。 相關資訊,請參閱使用 Load Balancer 日誌。
在遵循本章中的步驟之前,請參閱規劃 Cisco CSS Controller 元件。 本章將說明如何為 Load Balancer 的 Cisco CSS Controller 元件建立基本配置。
開始本章所列的任何配置方法之前:
表 10. Cisco CSS Controller 元件的配置作業
作業 | 說明 | 相關資訊 |
---|---|---|
設定 Cisco CSS Controller 機器 | 找出基本需求 | 設定 Controller for Cisco CSS Switches 機器 |
測試您的配置 | 確認配置是否可運作 | 測試您的配置 |
若要建立 Load Balancer 的 Cisco CSS Controller 元件的基本配置,其方法有三種:
這是配置 Cisco CSS Controller 的最直接方法。本手冊中的程序是假設使用的是指令行。 指令參數值必須以英文字元輸入。 唯一的例外是主電腦名稱 (例如,用於 consultant add 指令) 及檔名。
若要從指令行啟動 Cisco CSS Controller:
註:
您可以輸入縮寫版的 ccocontrol 指令參數。 只需要輸入參數的專用字母即可。例如,若要取得有關存檔指令的說明, 您可以鍵入 ccocontrol he f 而非 ccocontrol help file。
若要啟動指令行介面:請發出 ccocontrol 以接收 ccocontrol 指令提示。
若要結束指令行介面:請發出 exit 或 quit。
目前定義的配置可以儲存到 XML 檔。 如此可讓您在稍後想要快速地重新建立配置時載入配置。
若要執行 XML 檔 (例如,myscript.xml) 的內容,請使用下列指令之一:
ccocontrol file save XMLFilename
ccocontrol file load XMLFileName
唯有在您先前已完成存檔時,才可使用 load 指令。
XML 檔儲存在 ...ibm/edge/lb/servers/configurations/cco/ 目錄。
如需圖形式使用者介面 (GUI) 的一般指示與範例,請參閱圖 41。
若要啟動 GUI,請遵循下列步驟
ccoserver .
若要透過 GUI 來配置 Cisco CSS Controller 元件:
您可以使用 GUI 來執行任何您會以 ccocontrol 指令來執行的作業。例如:
若要從 GUI 執行指令:
您在現行階段作業中所執行的指令的結果及歷程,將出現在「結果」方框中。
若要存取說明,可按一下 Load Balancer 視窗右上角的問號圖示。
使用 GUI 的相關資訊,請參閱附錄 A, GUI:一般指示。
在設定 Cisco CSS Controller 機器之前,您必須是 root 使用者 (對 AIX、Linux 或 Solaris 而言),或是 Windows 2000 上的管理者。
Consultant 須能連結至 Cisco CSS Switch 並為 Cisco CSS Switch 管理者。
配置顧問時,您必須配置位址及 SNMP 團體名稱,使其符合 Cisco CSS Switch 上的對應屬性。
關於本程序中所使用的指令的解說,請參閱Cisco CSS Controller 的指令參照。
如果尚未執行 ccoserver,請以 root 身份鍵入 ccoserver 來加以啟動。
鍵入 ccocontrol 以啟動指令行介面。
您必須配置交換器位址與 SNMP 團體名稱。 這些值必須符合 Cisco CSS Switch 上的對應屬性。
若要新增顧問,請鍵入:
consultant add switchConsultantID address switchIPAddress community communityName
所謂 ownercontent 是一擁有者的內容規則表示法,並且是在 Cisco CSS Switch 上所定義。 擁有者名稱及內容規則名稱皆須符合交換器上所定義的內容。
若要定義 ownercontent,請鍵入:
ownercontent add switchConsultantID:ownercontentID ownername ownerName contentrule contentRuleName
定義好 ownercontent 之後,顧問便會藉由擷取交換器上所配置的服務程式,來完成配置。 請比較交換器與顧問兩者的配置,以確定服務程式相符。
測量單位是決定服務加權值與相關比例 (某一測量單位相較於另一測量單位的重要性) 時所用的單位,它可以是連線資料測量單位、應用程式通告器測量單位及測量單位伺服器測量單位的任意組合。 比例的合計必須始終為 100。
當 ownercontent 完成配置後,預設的測量單位將會定義為 activeconn 及 connrate。 如果您想要額外的測量單位,還是不同於預設值的測量單位,請鍵入:
ownercontent metrics switchConsultantID:ownercontentID metric1 proportion1 metric2 proportion2...metricN proportionN
若要啟動顧問,請鍵入:
consultant start switchConsultantID
如此即會啟動測量單位收集器,並開始進行加權計算。
如果系統測量單位已在步驟 5 中定義,即必須在服務程式機器上啟動測量單位伺服器。 有關使用測量單位伺服器的資訊,請參閱Metric Server。
若要配置高可用性,請鍵入:
highavailability add address IPaddress partneraddress IPaddress port 80 role primary
在高可用性的環境下,您可以配置多重交換器。 為確定在某一交換器接管另一交換器時皆有加權資訊可用,須配置 Cisco CSS Controller 使其提供加權給所有交換器及其備份。
如需如何使用及配置控制器高可用性的詳細資訊,請參閱Cisco CSS Controller 及 Nortel Alteon Controller 的進階特性。
測試配置是否可運作。
本篇提供快速入門配置的相關資訊、規劃注意事項,以及說明配置 Load Balancer Nortel Alteon Controller 元件的方法。 它含有下列各章:
此快速入門範例將說明如何使用 Nortel Alteon Controller 元件來建立配置。 Nortel Alteon Controller 提供伺服器加權值給 Nortel Alteon Web Switch。這些加權值是用來選取交換器將對其進行平衡負載的服務的伺服器。
圖 28. 簡單的 Nortel Alteon Controller 配置
就此快速入門配置範例而言,您將需要下列項目:
開始配置此範例之前,確定已完成下列步驟:
透過 Nortel Alteon Controller,您可以用指令行或圖形式使用者介面 (GUI) 來建立配置。 在此快速入門範例中,相關的配置步驟是以指令行來作示範。
從指令提示,遵循下列步驟:
nalcontrol consultant add Consultant-1 address 9.87.32.50
如此即會檢查與 Nortel Alteon Web Switch 的連通性,而且會驗證 SNMP 團體名稱是否正確運作。
nalcontrol service add Consultant-1:Service-1 vsid 1 vport 80
Nortel Alteon Controller 此時將透過 SNMP 與交換器通信,並會從交換器取得所需的配置資訊。經此步驟之後,您應該會在 Nortel Alteon Controller 中看到相關資訊,指出 Nortel Alteon Web Switch 上已配置哪些伺服器給服務程式。
nalcontrol service metrics Consultant-1:Service-1 http 40 activeconn 30 connrate 30
此指令將會配置在加權值計算期間,您要從伺服器收集哪些測量單位資訊,以及那些測量單位的相對重要性。
nalcontrol consultant start Consultant-1
透過此指令,所有的測量單位收集器將會啟動,伺服器加權值計算也會展開。 Nortel Alteon Controller 會將其伺服器加權值計算的結果透過 SNMP 傳給 Nortel Alteon Web Switch。
您的基本 Nortel Alteon Controller 配置現在已經完成。
測試配置是否可運作。
如需使用 Nortel Alteon Controller GUI 的相關資訊,請參閱GUI及附錄 A, GUI:一般指示。
本章將說明在安裝與配置 Nortel Alteon Controller 元件之前,網路規劃者所應考慮的事項。
本章包含:
Nortel Alteon Controller 可管理一組交換器顧問。每一種顧問會決定由單一交換器所平衡負載之伺服器的加權值。 由顧問提供加權值的交換器則會經過配置來進行伺服器平衡負載。 顧問會透過 SNMP 通信協定將計算出來的加權值傳給交換器。 交換器會用加權值來針對其所平衡負載的服務程式選取伺服器。 要決定加權值時,顧問會用到下列的一或多項資訊:
有關伺服器平衡負載的說明與如何配置交換器的詳細資訊,請參閱您的 Nortel Alteon Web OS Application Guide。
為使顧問取得所需資訊以決定伺服器加權值,您必須具有:
顧問可以連結至網路,且位於其負責提供加權值之交換器的前方或後方。 要啟用控制器、交換器及伺服器之間的連通性,有些參數必須在交換器上配置,有些則在控制器上配置。
在圖 29 中:
有關配置 VLAN 及交換器 IP 路由的詳細資訊,請參閱您的「Nortel Alteon Web OS Application Guide」或「指令參考手冊」。
在圖 30 中:
您可以使用下列任何介面來管理 Nortel Alteon Controller:
在圖 31 中:
圖 31. 顧問位於交換器後方而使用者介面位於交換器前方的範例
當一顧問針對交換器所平衡負載且其負責提供服務的伺服器來計算加權值時,顧問會停用交換器的正常伺服器狀況檢查,以減少不必要的伺服器資料傳輸。 當顧問停止為服務程式提供加權值時,顧問會重新啟用狀況檢查。 伺服器狀況檢查間隔對應於 MIB 變數 slbNewCgRealServerPingInterval。
如果顧問判定一伺服器無法使用時,它會將伺服器的最大連線數設成零,以防止交換器對要求進行平衡負載時會考慮使用此伺服器。 當伺服器再度可供使用時,最大連線數即會復置為原始值。 伺服器最大連線數目值對應於 MIB 變數 slbNewCfgRealServerMaxCons。
當計算實際伺服器的加權值時,將設定伺服器的加權值。伺服器加權值對應於 MIB 變數 slbNewCfgRealServerWeight。
交換器可讓某些伺服器的配置作為其它伺服器的備份。 如果交換器決定一個具有備份的伺服器無法使用時,該交換器可能開始傳送要求給此備份機器。 當顧問為具有備份之服務程式計算加權值時,它會同時計算備份與主要伺服器的加權值,以便在需要備份機器時,可提供加權值供伺服器選取。
備份伺服器的加權值可能會高於主伺服器的加權值。 這是因為並無要求會轉送給它,因此它會具有低負載,直到交換器決定加以使用。
若要避免閒置伺服器資源,常規是指定給某個服務的伺服器將作為指定給不同服務的伺服器的備份。當實施如此的配置時,避免指定同一個實際伺服器給多個同時作用中的服務。 如果發生這種情況,伺服器所屬的每一個服務的顧問將改寫伺服器的加權值。
每一個實際伺服器都是以整數加以識別,而且都具有加權值及 IP 位址屬性。 兩個實際伺服器可能具有同一個 IP 位址。 在這種情況中,兩個實際伺服器會與同一實際伺服器機器產生關聯。 識別為備份的實際伺服器應該僅配置成單一服務的備份。 如果相同的實體伺服器機器將為已指定給多個服務的伺服器備份, 您必須為每一個服務配置它們一次,並且給與伺服器每一個服務所專用的伺服器識別。這容許備份對於它們正要備份的每一個服務,具有已指定給它們的唯一加權值。
交換器上的伺服器可被配置為多個群組的一部份,而此交換器上的群組則可配置來服務多重服務程式。
由於可對多重服務配置相同的伺服器,所以將對伺服器是其一部份的每一個服務計算加權值。 因此,加權值可能會不正確,因為任何時候都不知道該加權值所適用的服務。
此外,如果顧問正在決定某一服務而非另一個的加權值,顧問未計算其加權值的服務很可能已停用伺服器狀況檢查功能。 此時,該交換器可能不會正確地平衡負載該服務程式。
由於有這些可能性,您必須確定未將實際伺服器指定給要進行平衡負載的多重服務。 這不表示同一伺服器機器無法服務多個服務的要求。 它表示具有唯一識別碼的實際伺服器必須在交換器上加以配置,然後伺服器機器就可以處理每一個服務的要求。
Nortel Alteon Controller 及 Nortel Alteon Web Switch 兩者皆具有高可用性功能。
您可以配置兩個控制器使其在快速待命配置下於不同的系統上執行。
當您配置兩個或以上的交換器作為虛擬 IP 介面路由器 (VIR),或作為虛擬 IP 伺服器路由器 (VSR) 時,這些交換器可互為彼此的備份。
一個顧問 (受控制器管理) 只為一個交換器提供加權值。 由於備份交換器可能隨時會接管主要機器,因此您必須配置控制器,使其對有可能成為主要機器的各個交換器皆設有一個顧問。 在此方式下,當某一伺服器成為主要機器時,即可確保其將會取得加權值。
此外,當控制器連結至 VIR 時,如果其與某一交換器斷線,將確保能與伺服器、交換器及備份控制器通信。
有關交換器之高可用性的詳細資訊,請參閱您的「Nortel Alteon Web OS Application Guide」。
控制器高可用性可加強 Load Balancer 的容錯功能。 控制器高可用性的設計中心為傳統封包轉送高可用性, 其包括兩個同時執行的控制器,一個扮演主要角色,另一個則扮演次要角色。
每一個控制器都是以相同的交換器資訊來配置的。 類似於傳統的高可用性,一次僅能有一個作用中的控制器。 這表示,如同高可用性邏輯所決定的一般,僅作用中控制器會利用新的加權值計算及更新交換器。
控制器高可用性使用簡單使用者資料圖通信協定 (UDP) 封包,透過您配置的位址及埠, 與它的友機通信。當資訊屬於高可用性 (連繫資訊) 時,這些封包會用來在控制器之間交換此資訊,並且決定友機控制器可用性 (通訊檢查訊息)。如果備用控制器判定作用中控制器因為任何理由而發生故障, 則備用控制器將從故障的作用中控制器接管。然後,備用控制器將變成作用中控制器, 而且開始以新的加權值計算及更新交換器。
除了友機可用性之外,您可以配置連繫目標以取得高可用性。 如同傳統高可用性一般,控制器高可用性會使用連繫資訊,來判定哪一個控制器是作用中, 哪一個是備用的。作用中控制器就是可以 ping 多個目標且可以從它的友機連繫的控制器。
請參閱高可用性,以取得進一步資訊。
在圖 33 中:
圖 33. Nortel Alteon Controller 及 Nortel Alteon Web Switch 高可用性的範例
為避免加權值的變更過於頻繁,您可以為顧問配置感應臨界值。 感應臨界值可指定當變更加權值之前,新加權值及舊加權值之間須發生的變更數。 請參閱感應臨界值,以取得進一步資訊。
如果交換器太忙於更新加權值,您可以增加顧問休眠時間,來減少控制器與伺服器及交換器之間的資料傳輸。 休眠時間設定不同加權設定循環間的休眠秒數。
如果伺服器處理太多來自顧問的監督要求,您可以修改測量單位收集器的休眠時間。 詳細說明,請參閱加權值計算休眠時間。
Cisco CSS Controller 會將登錄項目傳遞到下列日誌:
這些日誌位於下列目錄:
在每一種日誌中,您都可設定日誌大小與記載層次。 相關資訊,請參閱使用 Load Balancer 日誌。
在遵循本章中的步驟之前,請參閱規劃 Nortel Alteon Controller 元件。 本章將說明如何為 Load Balancer 的 Nortel Alteon Controller 元件建立基本配置。
開始本章所列的任何配置方法之前,請確定已適當地配置您的 Nortel Alteon Web Switch 及所有伺服器機器。
表 11. Nortel Alteon Controller 元件的配置作業
作業 | 說明 | 相關資訊 |
---|---|---|
配置 Nortel Alteon Web Switch 及伺服器 | 配置交換器。 | 配置交換器,第 (SETSWITCH) 頁 |
設定 Nortel Alteon Controller 機器 | 配置控制器。 | 步驟 1. 啟動伺服器功能 |
測試您的配置 | 確認配置是否可運作 | 測試您的配置 |
若要建立 Load Balancer 的 Nortel Alteon Controller 元件的基本配置,其方法有三種:
這是配置 Nortel Alteon Controller 的最直接方法。 本手冊中的程序是假設使用的是指令行。
若要從指令行啟動 Nortel Alteon Controller:
註:
您可以使用縮寫版的 nalcontrol 指令參數,方法是鍵入代表參數的唯一字母。 例如,要取得存檔指令的說明,您可以鍵入 nalcontrol he f 而非 nalcontrol help file。
若要結束指令行介面:鍵入 exit 或 quit。
註:
目前定義的配置可以儲存到 XML 檔。 如此可讓您在稍後想要快速地重新建立配置時載入配置。
若要執行 XML 檔 (例如,myscript.xml) 的內容,請使用下列指令:
nalcontrol file save XMLFilename
唯有在您先前已完成存檔時,才可使用 load 指令。
nalcontrol file load XMLFileName
唯有在您先前已完成存檔時,才可使用 load 指令。
XML 檔儲存在 ...ibm/edge/lb/servers/configurations/nal/ 目錄。
如需圖形式使用者介面 (GUI) 的範例,請參閱圖 41。
啟動 GUI 的程序如下:
若要透過 GUI 來配置 Nortel Alteon Controller 元件:
GUI 可以用來執行任何您會以 nalcontrol 指令來執行的作業。 例如:
若要從 GUI 執行指令:
您在現行階段作業中所執行的指令的結果及歷程,將出現在「結果」方框中。
若要存取「說明」,可按一下 Load Balancer 視窗右上角的問號圖示。
使用 GUI 的相關資訊,請參閱附錄 A, GUI:一般指示。
關於本程序中所使用的指令的解說,請參閱Nortel Alteon Controller 的指令參照。
在設定 Nortel Alteon Controller 機器之前:
如果尚未執行 nalserver,請鍵入 nalserver 作為根目錄來加以啟動。
鍵入 nalcontrol 以啟動指令行介面。
若要新增交換器顧問,請鍵入:
consultant add switchconsultantID address switchIPAddress
若要新增服務程式,請鍵入:
service add switchConsultantID:serviceID vsid virtualServerID vport virtualPortNumber
服務是由虛擬伺服器識別碼 (VSID) 與虛擬埠 (VPORT) 號碼所識別, 此兩者皆與先前在交換器上所配置的虛擬伺服器有關聯。
測量單位是用來決定伺服器加權值的資訊。 每一個測量單位都指定有一個比例,以指出它相對於其他測量單位的重要性。您可以配置任何測量單位組合:連線資料測量單位、應用程式通告器測量單位及測量單位伺服器測量單位。 比例的合計必須始終為 100。
當服務程式完成配置後,預設的測量單位將會定義為 activeconn 及 connrate。 如果您想要額外的測量單位,還是不同於預設值的測量單位,請鍵入:
service metrics switchConsultantID:serviceID metricName 50 metricName2 50
若要啟動顧問,請鍵入:
consultant start switchConsultantID
如此即會啟動測量單位收集器,並開始進行加權值計算。
若要配置高可用性,請鍵入:
highavailability add address IPaddress partneraddress IPaddress port 80 role primary
如需如何使用及配置控制器高可用性的詳細資訊,請參閱Cisco CSS Controller 及 Nortel Alteon Controller 的進階特性。
如果系統測量單位已在步驟 5 中定義,即必須在服務程式機器上啟動測量單位伺服器。 有關使用測量單位伺服器的資訊,請參閱Metric Server。
如果您修改了 Nortel Alteon Web Switch 上的配置,即可重新整理控制器配置。 類型:
service refresh
我們建議在您重新整理配置之前,應該先停止顧問。 在 refresh 指令更新配置後,重新啟動顧問。
測試配置是否可運作。
本篇提供 Load Balancer 可用功能及進階配置特性的相關資訊。它含有下列各章:
本章將說明如何配置平衡負載參數,以及如何設定 Load Balancer 的管理程式、通告器及 Metric Server 等功能。
作業 | 說明 | 相關資訊 |
---|---|---|
可選擇是否要變更平衡負載設定 |
您可以變更下列平衡負載設定:
| 將 Load Balancer 所提供的平衡負載最佳化 |
在管理程式將伺服器標示為當機/開機時,使用 script 來產生警示或記錄伺服器失敗 | Load Balancer 提供了使用者呼叫,可在管理程式將伺服器標示為當機/開機時,觸發可由您自行設定的 script | 使用 script 產生警示或記錄伺服器失敗 |
使用通告器 | 說明及列出通告器,藉以報告伺服器的特定狀態 | 通告器 |
使用 HTTP 通告器要求/回應 (URL) 選項 | 定義唯一的從屬站 HTTP URL 字串,專用於您想在機器上查詢的服務 | 使用要求/回應 (URL) 選項,配置 HTTP 通告器 |
使用 Self 通告器 | 提供 Load Balancer 雙層 WAN 配置中的後端伺服器負載狀態 | 在雙層 WAN 配置中使用 Self 通告器 |
建立自行設定通告器 | 說明如何撰寫您自行設定的通告器 | 建立自行設定 (可自訂的) 通告器 |
使用 Metric Server 代理程式 | Metric Server 會提供系統負載資訊給 Load Balancer | Metric Server |
使用工作量管理程式通告器 (WLM) | WLM 通告器會提供系統負載資訊給 Load Balancer | 工作量管理程式通告器 |
Load Balancer 的管理程式功能將依據下列設定,進行平衡負載:
您可以變更這些設定,使您的網路的平衡負載最佳化。
管理程式可以在它的加權決策中使用下列部份或所有的外部因素:
或 --
CPU:每一個平衡負載伺服器機器上使用中 CPU 的百分比 (從 Metric Server 輸入)。僅限 Site Selector,此比例出現代替作用中連線比例直欄。
或 --
記憶體:每一個平衡負載伺服器上使用中記憶體的百分比 (從 Metric Server 輸入)。僅限 Site Selector,此比例出現代替新連線比例直欄。
與每一個伺服器的現行加權及計算所需的其他資訊一起,管理程式將自執行器取得前兩個值 (作用中連線及新連線)。這些值是依據執行器內部所產生及儲存的資訊而定。
您可在每個叢集 (或站台名稱) 的基礎上,變更這四個值的相對重要性比例。 將比例視為百分比;相對比例的和必須等於 100%。預設比例為 50/50/0/0, 這個比例會忽略通告器及系統資訊。在您的環境中,可能需要嘗試不同的比例,以發現提供最佳效能的組合。
在新增 WLM 通告器時,如果系統測量單位管理程式是 0,則管理程式會將此值增加為1。因為相對比例的總和必須為 100,最高值則減少 1。
現行連線的數目取決於從屬站的數目, 以及使用進行平衡負載作業的伺服器機器所提供之服務所需的時間長度。 如果從屬站連線是快速的 (如使用 HTTP GET 來伺服的小 Web 網頁), 則現行連線的數目將相當少。如果從屬站連線是較慢的 (如資料庫查詢), 則現行連線的數目將比較高。
您應避免將作用中及新連線的比例值設得太低。除非您已先分別將這兩個值至少設定為 20,否則您會停用平衡及平順負載。
若要設定重要性比例值, 請使用 dscontrol cluster set cluster proportions 指令。請參閱dscontrol cluster -- 配置叢集,以取得進一步資訊。
加權是由管理程式函數依據執行器中的內部計數器、來自通告器的反饋信息以及來自系統監督程式 (例如 Metric Server) 的反饋信息所設定的。若您要在執行管理程式時,以手動方式設定加權,請在 dscontrol 伺服器指令上,指定 fixedweight 選項。如需 fixedweight 選項的說明,請參閱管理程式固定加權。
加權將引用至埠上的所有伺服器中。對任何特殊埠而言,將依據它們彼此的相對加權, 在伺服器之間分送要求。例如,如果有一個伺服器設定為加權 10,而另一個為 5,則設定為 10 的伺服器取得的要求數目應該是設定為 5 的伺服器的兩倍。
若要指定適用於任何伺服器的最大加權界限,請使用 dscontrol port set port weightbound weight 指令。 這個指令將影響每個伺服器可取得的要求多寡。如果您將最大加權設定為 1, 則在靜止時,所有伺服器可具有加權 1,或在中斷連接時,可具有 -1。 當您增加這個數目時,伺服器的加權值的差異將增加。在最大加權為 2 時, 某個伺服器所取得的要求數目可以是另一個的兩倍。在最大加權為 10 時, 某個伺服器所取得的要求數目可以是另一個的十倍。預設最大加權為 20。
如果通告器發現伺服器已關閉,便會告訴管理程式, 而將伺服器的加權設定為零。因此,只要加權維持在零, 執行器就不會將任何其它的連線傳送到該伺服器。 如果在變更加權之前,該伺服器已有現行連線,則會讓它們正常地完成。
若沒有管理程式,通告器將無法執行且無法偵測伺服器是否已關閉。如果您選擇執行通告器,但不要管理程式去更新您為特定伺服器設定的加權,則在 dscontrol server 指令上使用 fixedweight 選項。例如:
dscontrol server set cluster:port:server fixedweight yes
將 fixedweight 設定為 yes 之後,使用 dscontrol server set weight 指令設定您所需要的加權值。 當管理程式執行時,伺服器加權值會保持固定,直到您發出另一個將 fixedweight 設定為 no 的 dscontrol server 指令。如需進一步資訊,請參閱dscontrol server -- 配置伺服器。
如果 TCP 重設為啟動的,則 Dispatcher 在從屬站具有與伺服器 (加權值為 0) 的連線時,會傳送 TCP 重設到從屬站。如果伺服器配置為 0 或通告器將它標示為當機時,伺服器的加權值可能為 0。TCP 重設會導致立即關閉連線。 這項特性對長效的連線很有用,它加速了從屬站重建失敗連線的能力。若要啟動 TCP 重設,請使用 dscontrol port add|set port reset yes 指令。重設的預設值為 no。
與 TCP 重設一起用來配置的有用特性是 advisor retry。 利用這項特性,通告器具有能力在將伺服器標示為當機之前重試連線。如此可以協助防止通告器貿然地將伺服器標示為當機,導致連線重設的問題。那只是因為通告器第一次嘗試失敗並不必然表示現存的連線也失敗。相關資訊,請參閱通告器重試。
為使整體效能最佳化,會限制管理程式與執行器的互動次數。 您可輸入 dscontrol manager interval 及 dscontrol manager refresh 指令,以變更此間隔。
管理程式間隔會指定管理程式多久將更新執行器在遞送連線時所使用的伺服器加權。 如果管理程式間隔太短,表示效能不佳,這是因為管理程式常常岔斷執行器所致。 如果管理程式間隔太高,表示執行器的遞送要求不是依據精確、最新的資訊而定。
例如,欲將管理程式間隔設定為 1 秒時,請鍵入下列指令:
dscontrol manager interval 1
管理程式重新整理週期會指定管理程式隔多久將要求執行器提供狀態資訊。重新整理週期是依據間隔時間而定。
例如,欲將管理程式重新整理週期設定為 3 時,請鍵入下列指令:
dscontrol manager refresh 3
這個指令將使得管理程式在要求執行器提供資訊之前,先等待 3 個間隔。
您還可使用其它的方法,最佳化您伺服器的平衡負載。為了保持高速運作,只有在加權發生了重大變更時,才會更新伺服器的加權。 當伺服器狀態僅有些許變更或沒有變更時, 持續地更新加權,將會產生不必要的額外執行時間。 當埠上所有伺服器總加權的百分比加權在變更後大於感應臨界值時, 管理程式將會更新執行器用來分送連線的加權。例如, 假設總加權從 100 變更為 105。變更是 5%。如果預設的感應臨界值是 5, 管理程式將不會更新執行器所使用的加權,因為百分比變更不在臨界值之上。不過, 如果總加權從 100 變更為 106,管理程式就會更新加權。 若要將管理程式的感應臨界值設定為預設值 (例如 6) 以外的值,請鍵入下列指令:
dscontrol manager sensitivity 6
多數情況下,您可以不必更改此值。
管理程式將以動態方式來計算伺服器加權。因此, 更新過的加權可能會與先前的加權有很大的不同。在大多數的情況下, 都將不會發生問題。然而,有時候可能會在平衡負載要求的方式上產生變動。 例如,一個伺服器可能會因為高加權所致, 而收到大多數的要求。管理程式將看到伺服器具有相當多的現行連線,使得伺服器的回應變得緩慢。 然後,它會將加權移至可用的伺服器,但在該處也會發生相同的效果, 造成資源的浪費。
欲解決這個問題時,管理程式將使用平順指數。 平順指數將限制伺服器加權可變更的數量,因此可以有效地緩和在分送要求時所產生的變更。 較高的平順指數將使伺服器加權的變更不大。較低的指數將使伺服器加權的變更非常大。平順指數的預設值為 1.5。在 1.5 時,伺服器加權是相當動態的。指數 4 或 5 將使得加權更穩定。 例如,欲將平順指數設為 4 時,請鍵入下列指令:
dscontrol manager smoothing 4
多數情況下,您可以不必更改此值。
Load Balancer 提供使用者呼叫,觸發您可自行設定的 script。 您可建立執行自動化動作的 script,例如,當管理程式中斷連接伺服器,或單純記錄失敗事件時,對管理者的警示。您可自行設定的範例 script,位於 ...ibm/edge/lb/servers/samples 安裝目錄中。為了要執行檔案,您必須將它們移至 ...ibm/edge/lb/servers/bin 目錄,並移除「.sample」副檔名。下列為提供的範例 script:
通告器是 Load Balancer 內部的代理程式。其目的是要評估伺服器機器的狀況及資料流量。 它們會嘗試性地讓類從屬站與伺服器交換,以完成評估。 通告器可以 被考慮為應用程式伺服器的輕裝備從屬站。
此產品有提供數個特定通訊協定的通告器,可供最常用的通訊協定使用。 然而,將提供的所有通告器與 Load Balancer 的每一個元件一起使用是無意義的。(例如,您不會將 Telnet 通告器與 CBR 元件一起使用。) Load Balancer 亦支援讓使用者撰寫其自己之通告器的『自行設定通告器』概念。
在 Linux 上使用連結特定伺服器應用程式的限制: 當使用連結特定應用程式 (包括如 CBR 或 Site Selector 等的其他 Load Balancer 元件) 平衡負載伺服器,且它們正連結到叢集 IP 位址時,Load Balancer 不支援通告器的使用。
在 Solaris 上使用連結特定伺服器應用程式的限制: 如果使用 arp punlish 代替 ifconfig alias 指令,則當使用連結特定應用程式 (包括如 CBR 或 Site Selector 等的其他 Load Balancer 元件 ) 平衡負載伺服器,且它們正連結到叢集 IP 位址時,Load Balancer 將 支援通告器的使用。 然而,在對連結特定伺服器應用程式使用通告器時,請勿在具有伺服器應用程式相同的機器上並列 Load Balancer。
-DND_ADV_SRC_ADDR=dotted-decimal_IP_address
通告器會定期開啟與每一個伺服器的 TCP 連線,並且將要求訊息傳送至伺服器。 訊息的內容會特別針對在伺服器上執行的通訊協定。 例如,HTTP 通告器將 HTTP 『HEAD』 要求傳送至伺服器。
通告器會傾聽來自伺服器的回應。在取得回應之後,通告器就會建立伺服器的指示。 為了要計算這個「資料流量」的值,大部份的通告器都會測量伺服器回應的時間, 然後使用這個值 (以毫秒計) 來作為資料流量。
之後,通告器便會將資料流量值報告給管理程式功能, 在管理程式報告中,此值會出現在『Port』直欄中。 然後管理程式會從其所有的來源,根據分配比例,計算集成加權值, 並且將這些加權值設定在執行器功能中。 「執行器」會使用這些加權值,為新進入的從屬站連線平衡負載。
如果通告器判定伺服器運作正常,就會報告一個非零值的正資料流量數給「管理程式」。 如果通告器判定伺服器並沒有在運作,就會傳回一個特殊的資料流量值 (-1)。 「管理程式」及「執行器」將不會再轉送任何進一步的連線給該伺服器,直到伺服器再次啟動為止。
您可在所有叢集 (群組通告器) 之間,啟動特定埠的通告器。或者,您可選擇在相同埠但在不同叢集上執行不同的通告器 (叢集/站台特定通告器)。例如,如果您的 Load Balancer 具有三個已定義的叢集 (clusterA、clusterB、clusterC),每一個都有埠 80,您可執行下列作業:
dscontrol advisor start http clusterA:80此指令將啟動 clusterA 埠 80 上的 HTTP 通告器。HTTP 通告器將通知連接於 clusterA 埠 80 上的所有伺服器。
dscontrol advisor start ADV_custom 80此指令將啟動 clusterB 及 clusterC 埠 80 上的 ADV_custom 通告器。您自行設定的通告器將通知連接於 clusterB 及 clusterC 上的所有伺服器。(如需自行設定通告器的進一步資訊,請參閱建立自行設定 (可自訂的) 通告器。)
使用上述的群組通告器配置範例,您可以選擇只停止其中一個叢集或兩個叢集 (clusterB 及 clusterC) 上埠 80 的自行設定通告器 ADV_custom。
dscontrol advisor stop ADV_custom clusterB:80
dscontrol advisor stop ADV_custom 80
通告器間隔會設定通告器隔多久將向它所監督的埠上的伺服器要求狀態資訊, 然後向管理程式報告結果。如果通告器間隔太短,表示效能不佳,這是因為通告器常常岔斷執行器所致。 如果通告器間隔太長,表示管理程式關於加權的決定不是依據精確、最新的資訊而定。
例如,欲對埠 80 的 HTTP 通告器,將間隔設定為 3 秒時,請鍵入下列指令:
dscontrol advisor interval http 80 3
指定的通告器間隔若小於管理程式間隔,則不具意義。預設的通告器間隔為 7 秒鐘。
請確定管理程式在其平衡負載決策中,並未使用逾時的資訊,管理程式將不使用其時間戳記比通告器報告逾時中的時間設定還早的通告器資訊。通告器報告逾時應大於通告器輪詢間隔。如果逾時值較小,則管理程式將忽略邏輯上應該使用的報告。在預設的狀況下,通告器報告不逾時 -- 預設值是無限的。
例如,若要針對埠 80 的 HTTP 通告器,將通告器報告逾時設定為 30 秒時,請鍵入下列指令:
dscontrol advisor timeout http 80 30
如需設定通告器報告逾時的進一步資訊,請參閱dscontrol advisor -- 控制通告器。
針對 Load Balancer,您可以設定通告器藉以偵測伺服器 (服務程式) 上特定埠失敗的逾時值。失敗伺服器逾時值 (connecttimeout 及 receivetimeout) 會判定報告連結或接收失敗之前,通告器的等待時間。
欲取得最快的失敗伺服器偵測,請將通告器連結及接收逾時值設定為最小值 (1 秒鐘),然後將通告器及管理程式間隔設定為最小值 (1 秒鐘)。
例如,欲對埠 80 上的 HTTP 通告器,將 connecttimeout 及 receivetimeout 設定為 9 秒時,請鍵入下列指令:
dscontrol advisor connecttimeout http 80 9 dscontrol advisor receivetimeout http 80 9
預設的連結及接收逾時為 3 乘以指定的通告器間隔時間值。
通告器有能力在將伺服器標示為當機之前重試連線。通告器在伺服器查詢失敗重試次數加上 1 之前,不會將伺服器標示為當機。重試的建議值應該大於 3。下列指令對埠 389 上的 LDAP 通告器設定重試值為 2:
dscontrol advisor retry ldap 389 2
它並未建立連接伺服器的完整 SSL socket 連線。SSL 通告器開啟 SSL 連線、傳送 SSL CLIENT_HELLO 要求、等待回應、關閉連線,以及傳回載入的經歷時間。(另請參閱為 SSL 連線中「重裝備」通告器的 HTTPS 通告器。)
對於在伺服器上使用非 TCP 通訊協定的配置 (例如 UDP) 而言,這也是非常有用的。
安裝目錄中提供此通告器可自行設定的範例檔。進一步資訊,請參閱WAS 通告器。
請參閱平衡負載 WebSphere Application Servers (WAS),以取得進一步資訊。
HTTP 通告器的 URL 選項可供 Dispatcher 及 CBR 元件使用。
在您已啟動 HTTP 通告器之後,可定義唯一的從屬站 HTTP URL 字串,專用於您想在伺服器上查詢的服務程式。 這樣可讓 HTTP 通告器評估伺服器內個別服務程式的狀況。您可使用具有相同實體 IP 位址的唯一伺服器名稱定義邏輯伺服器,以完成此作業。請參閱伺服器分割:配置成實體伺服器 (IP 位址) 的邏輯伺服器,以取得進一步資訊。
對於 HTTP 埠之下每一個定義的邏輯伺服器,您可指定唯一的從屬站 HTTP URL 字串, 專用於您想在伺服器上查詢的服務程式。HTTP 通告器使用 advisorrequest 字串來查詢伺服器的狀況。預設值為 HEAD / HTTP/1.0。advisorresponse 字串是 HTTP 通告器掃描 HTTP 回應的通告器回應。 HTTP 通告器使用 advisorresponse 字串來比較從伺服器接收的實際回應。預設值是空值。
重要事項:如果在 HTTP URL 字串內包含空白:
server set cluster:port:server advisorrequest "head / http/2.0" server set cluster:port:server advisorresponse "HTTP 200 OK"
dscontrol server set cluster:port:server advisorrequest "\"head / http/2.0\"" dscontrol server set cluster:port:server advisorresponse "\"HTTP 200 OK\""
當您建立由 HTTP 通告器傳送至後端伺服器,以查看其是否正常運作的要求時,您可以鍵入 HTTP 要求的開始,而 Load Balancer 則使用下列內容完成要求的結尾:
\r\nAccept: */*\r\nUser-Agent:IBM_Network_Dispatcher_HTTP_Advisor\r\n\r\n
如果您要在 Load Balancer 於要求尾端附加此字串之前,新增其它 HTTP 表頭欄位,您可在要求中併入自己的 \r\n 字串。下列範例說明您在 HTTP 主電腦表頭欄位中可能鍵入以加入要求中的內容:
GET /pub/WWW/TheProject.html HTTP/1.0 \r\nHost: www.w3.org
請參閱dscontrol server -- 配置伺服器,以取得進一步資訊。
在 Dispatcher 元件上有 self 通告器可使用。
對於雙層 WAN (廣域網路) 配置中的 Load Balancer,Dispatcher 提供會收集後端伺服器載入狀態資訊的 self 通告器。
在此範例中,self 通告器及 Metric Server 常駐於由頂層 Load Balancer 所平衡負載的兩個 Dispatcher 機器上。self 通告器特別測量後端伺服器的執行器層次上 Dispatcher 每秒鐘連線速率。
self 通告器將結果寫入 dsloadstat 檔案。Load Balancer 亦提供一個被稱為 dsload 的外部測量單位。在每一部 Dispatcher 機器上的 Metric Server 代理程式會執行它呼叫外部測量單位 dsload 的配置。dsload script 從 dsloadstat 檔擷取字串,並將之傳回 Metric Server 代理程式。接著,每一個 Metric Server 代理程式 (來自每一個 Dispatcher) 將載入狀態值傳回頂層 Load Balancer,用來判定哪一個 Dispatcher 要轉送從屬站要求。
dsload 可執行檔常駐在 Load Balancer 的 ...ibm/edge/lb/ms/script 目錄。
如需在 WAN 配置中使用 Dispatcher 的進一步資訊,請參閱配置廣域 Dispatcher 支援。如需 Metric Server 的進一步資訊,請參閱Metric Server。
自行設定 (可自訂的) 通告器是一小段 Java 程式碼,您可以將它作為由基本程式碼呼叫的類別檔案來提供。基本程式碼提供所有的管理服務程式,例如:啟動及關閉自行設定通告器的實例、 提供狀態及報告,以及在日誌檔中記錄歷程資訊。而且它也會將結果報告給管理程式元件。基本程式碼會周期性編碼通告器循環,在此循環中, 它會個別評估其配置中的所有伺服器。您可以開啟與伺服器機器的連線,以將它啟動。如果 socket 開啟了,基本程式碼就會呼叫自行設定通告器中的 『getLoad』 方法 (功能)。然後自行設定通告器就會執行任何用來評估伺服器狀況所必需的步驟。一般而言,它會將使用者定義的訊息傳送至伺服器,然後等待回應。(對 socket 的存取權限會提供給自行設定通告器。) 基本程式碼會關閉與伺服器之間的 socket,並且將資料流量資訊報告給「管理程式」。
基本程式碼及自行設定通告器的操作模式有一般及置換二種。 而操作模式的選擇則是在自行設定通告器檔案中,用建構元方法及參數來指定。
在一般的模式中,自行設定通告器會與伺服器交換資料, 而基本通告器程式碼會指定交換的時間,並計算資料流量值。 然後基本程式碼會將這個資料流量值報告給管理程式。 自行設定通告器只需要傳回一個 0 (成功時) 或 -1 (發生錯誤時)。 若要指定一般模式,建構元中的置換旗號要設定為 false。
在置換模式中,基本程式碼不會執行任何時間測量工作。 自行設定通告器程式碼會執行其特殊需求所必要的任何作業,然後傳回實際的資料流量號碼。 基本程式碼將會接受此號碼,並且將它報告給管理程式。 為獲得最佳結果,請將介於 10 及 1000 之間的資料流量號碼正常化, 10 代表快速伺服器,而 1000 代表慢速伺服器。 若要指定置換模式,建構元中的置換旗號要設定為 true。
有了此特性,您可以撰寫您自己的通告器, 該通告器將提供您所需的伺服器的相關精確資訊。 Load Balancer 產品提供一個名為 ADV_sample.java 的範例自行設定通告器。 安裝 Load Balancer 後,您可在 ...<install directory>/servers/samples/CustomAdvisors 安裝目錄,找到範例程式碼。
預設安裝目錄是:
Load Balancer 安裝目錄中提供 WebSphere Application Server (WAS) 通告器專用的範例自行設定通告器檔案。
WebSphere Application Server 通告器範例檔和 ADV_sample.java 檔位於相同的範例目錄。
您的自行設定通告器檔名必須使用『ADV_myadvisor.java』的格式。必須用大寫的前置符號『 ADV_』來作為開頭。所有後續的字元都必須是小寫字母。
根據 Java 慣例,定義於檔案中的類別名稱必須符合檔案的名稱。 如果您要複製範例碼,請務必將檔案中所有的 『ADV_sample』 實例變更為您的新類別名稱。
自行設定通告器是用 Java 語言來撰寫的。您必須取得並安裝適用於您的機器的 Java 1.3 編譯器。在編譯期間,會參考到下列檔案:
您的 classpath 在編譯期間必須同時指向自行設定通告器及基礎類別檔。
Windows 2000 上的編譯指令如下:
javac -classpath <install_dir>\lb\servers\lib\ibmnd.jar ADV_fred.java
其中:
編譯的輸出結果是一個類別檔案,例如:
ADV_fred.class
啟動通告器之前,將類別檔複製到 ...ibm/edge/lb/servers/lib/CustomAdvisors 安裝目錄。
在 AIX、Linux 及 Sun 的語法類似。
欲執行自行設定通告器,您必須先將類別檔複製到正確的安裝目錄:
...ibm/edge/lb/servers/lib/CustomAdvisors/ADV_fred.class
配置該元件,啟動其管理程式功能,並發出指令,以啟動您的自行設定通告器:
dscontrol advisor start fred 123
其中:
和所有的通告器一樣,自行設定通告器會擴充通告器基礎 (稱為 ADV_Base) 的功能。 這是實際執行大部份通告器功能 (例如,將資料流量回報管理程式, 以供管理程式的加權演算法使用) 的通告器基礎。 通告器基礎也會執行 socket 連線及關閉作業,並提供傳送和接收方法供通告器使用。 通告器本身僅可用來將資料傳送到和接收自所通告的伺服器上的埠。 通告器基礎內的 TCP 方法會適時計算資料流量。必要時, ADV_base 中建構元內的旗號,會以通告器傳回的新資料流量,來覆寫現存的資料流量。
以下是基礎類別方法:
Load Balancer 先查詢它所提供的本機通告器清單。 如果沒有找到指定的通告器,則 Load Balancer 會查詢客戶的自行設定通告器清單。
/opt/ibm/edge/lb/servers/lib/CustomAdvisors/
C:\Program Files\IBM\edge\lb\servers\lib\CustomAdvisors
對範例通告器所列的程式,是包含在範例通告器中。 安裝之後,可在 ...ibm/edge/lb/servers/samples/CustomAdvisors 目錄中找到此範例通告器。
此特性適用於所有的 Load Balancer 元件。
Metric Server 以系統特定測量單位表格,提供 Load Balancer 有關伺服器的載入資訊,並報告於伺服器的狀況上。Load Balancer 管理程式查詢常駐於每一個伺服器上的 Metric Server 代理程式,並使用收集自代理程式的測量單位來為平衡負載程序指定加權。結果也會置於管理程式報告中。
若要取得配置範例,請參閱圖 5。
Metric Server 和 WLM 通告器一樣,都是作為一個整體在伺服器系統上報告,而不是在個別通訊協定特定的伺服器常駐程式上報告。WLM 及 Metric Server 都會將結果置入管理程式報告的系統直欄。但結果是,不支援同時執行 WLM 通告器及 Metric Server。
在平衡負載的所有伺服器上都必須安裝並執行 Metric Server 代理程式。
以下為配置 Dispatcher 的 Metric Server 的步驟。 可使用類似的步驟來配置其他 Load Balancer 元件的 Metric Server。
port 為 RMI 埠,它是為所有要在上面執行的 Metric Server 代理程式所選擇。設定於 metricserver.cmd 檔中的預設 RMI 埠是 10004。
systemMetric 是常駐在後端伺服器上之 script 名稱,它應該在指定叢集 (或站台名稱) 下之配置中的每一個伺服器上執行。它為客戶提供了兩個 script - cpuload 及 memload。或者,您可建立自行設定系統測量單位 script。script 含有一個應該傳回數值 (範圍為 0-100) 的指令。 此數值應該是代表載入測量,而非可用性值。
限制: 在 Windows 2000 上,如果您「系統測量單位」script 名稱的副檔名不是 .exe,則您必須指定檔案的完整名稱 (例如,mysystemscript.bat)。 這是由於 Java 的限制。
客戶可以選用性地撰寫自行設定的測量單位 Script 檔,其中定義 Metric Server 將在伺服器機器上發出的指令。請確定任何自行設定的 script 是可執行檔,且位於 ...ibm/edge/lb/ms/script 目錄中。自行設定 script 必須傳回 0 到 100 之間的載入值。
要讓 Metric Server 在本端主電腦以外的位址上執行,您需要編輯平衡負載伺服器機器上的 metricserver 檔案。 在 metricserver 檔案中找到「java」之後,請插入下列內容:
-Djava.rmi.server.hostname=OTHER_ADDRESS
此外,在 metricserver 檔案中的 if 陳述式之前,新增下行:hostname OTHER_ADDRESS。
若為 Windows 2000:您也會需要指定 Microsoft 堆疊上 OTHER_ADDRESS 的別名。若要指定 Microsoft 堆疊上位址的別名,請參閱第 *** 頁。
WLM 是在 MVS 主電腦上執行的程式碼。您可以查詢此程式碼, 以詢問 MVS 機器上的資料流量。
當「MVS 工作負荷管理」在您的 OS/390 系統上配置好了之後, Dispatcher 即可從 WLM 接收容量資訊,並且在平衡負載處理中使用此資訊。 若使用 WLM 通告器,Dispatcher 會根據 Dispatcher 主電腦表, 定期透過每一個伺服器上的 WLM 埠來開啟連線,並接收所傳回的容量整數。 由於這些整數是代表仍可使用的容量數, 而 Dispatcher 期望值代表每一台機器上的資料流量, 所以通告器會將容量整數轉化,並將其正常化為資料流量值 (意即, 大的容量整數,小的資料流量值,都代表情況較良好的伺服器)。 最後的資料流量結果會放在管理程式報告的「系統」直欄中。
WLM 通告器及其它 Dispatcher 通告器之間,有幾項重要的差異:
WLM 代理程式和 Metric Server 代理程式一樣,都是作為一個整體在伺服器系統上報告,而不是在個別通訊協定特定的伺服器常駐程式上報告。Metric Server 及 WLM 都會將其結果置入管理程式報告的系統直欄。但結果是,不支援同時執行 WLM 通告器及 Metric Server。
本章將說明如何配置平衡負載參數,以及如何設定 Load Balancer 以使用進階功能。
作業 | 說明 | 相關資訊 |
---|---|---|
將 Load Balancer 並列到其所平衡負載的機器上 | 設定已並列 Load Balancer 的機器。 | 使用並列伺服器 |
配置高可用性或共同高可用性 | 設定第二個 Dispatcher 機器,以作為備份。 | 高可用性 |
配置規則型平衡負載 | 定義使用您的伺服器子集的條件。 | 配置規則型平衡負載 |
使用埠相關性置換,提供一種機制,讓伺服器置換埠滯留特性 | 容許伺服器置換它的埠上的滯留時間設定。 | 埠相關性置換 |
使用滯留 (相關性) 特性,將叢集埠配置成滯留埠 | 容許從屬站要求引導到同一伺服器。 | Load Balancer 的相關性特性如何運作 |
使用跨埠相關性,在埠間擴充滯留 (相關性) 特性 | 容許從不同埠收到的從屬站要求引導到同一伺服器。 | 跨埠相關性 |
使用相關性位址遮罩,指定共用 IP 子網路位址 | 容許從同一子網路收到的從屬站要求引導到同一伺服器。 | 相關性位址遮罩 (stickymask) |
使用主動 cookie 相關性來平衡負載 CBR 的伺服器 | 一種規則選項,可讓階段作業維護特定伺服器的相關性。 | 主動 cookie 相關性 |
使用被動 cookie 相關性,來針對 Dispatcher 的根據內容遞送及 CBR 元件,平衡負載伺服器。 | 一種規則選項,可讓階段作業根據 cookie 名稱/cookie 的值來維護特定伺服器的相關性。 | 被動 cookie 相關性 |
使用 URI 相關性對具有獨特內容的 Caching Proxy 伺服器進行平衡負載,而此種內容將快取到每一個個別的伺服器上 | 一種規則選項,可讓階段作業根據 URI 來維護特定伺服器的相關性。 | URI 相關性 |
配置廣域 Dispatcher 支援 | 設定遠端 Dispatcher 以透過廣域網路進行平衡負載。 或者,使用支援 GRE 的伺服器平台來平衡負載整個廣域網路 (不具備遠端 Dispatcher)。 | 配置廣域 Dispatcher 支援 |
使用明確的鏈結 | 避免在您的鏈結中省略 Dispatcher。 | 使用外顯鏈結 |
使用專用網路 | 配置 Dispatcher,以便對專用網路上的伺服器進行平衡負載。 | 使用專用網路配置 |
使用萬用字元叢集來組合通用伺服器配置 | 沒有明確地配置位址,將使用萬用字元叢集來進行平衡負載。 | 使用萬用字元叢集來結合伺服器配置 |
使用萬用字元叢集來平衡防火牆的資料流量 | 所有的資料傳輸在進行平衡負載作業後傳送至防火牆。 | 使用萬用字元叢集來平衡防火牆的資料流量 |
使用具有 Caching Proxy 的萬用字元叢集來進行透通式 proxy | 允許使用 Dispatcher 來啟動透通 proxy。 | 將萬用字元叢集與 Caching Proxy 搭配使用來進行透通式 Proxy |
使用萬用字元埠來引導未配置的埠資料傳輸 | 處理沒有配置給任何特定埠的資料傳輸。 | 使用萬用字元埠來引導未配置埠的資料傳輸 |
使用「拒絕服務攻擊」服務程式來通報管理者 (透過警示) 有潛伏的攻擊 | 若伺服器上出現顯著的半開啟 TCP 連線數量時,Dispatcher 即會分析相關的外來要求。 | 拒絕服務攻擊偵測 |
使用二進位記載功能來分析伺服器統計值 | 允許伺服器資訊保存在二進位檔中,並可從二進位檔中擷取。 | 使用二進位記載功能來分析伺服器統計值 |
Load Balancer 可常駐在與平衡負載要求之伺服器相同的機器上。 此點通常被稱為並列伺服器。並列特性適用於 Dispatcher 及 Site Selector 元件。 雖然 CBR 也支援並列,但只在使用連結特定 Web 伺服器及連結特定 Caching Proxy 時才適用。
Linux:為能同時配置並列及高可用性,以 MAC 轉送方法來執行 Dispatcher 元件時, 您必須安裝 Linux 核心修補程式。有關如何安裝修補程式的進一步資訊,請參閱安裝 Linux 核心修補程式 (以便不顯示迴圈介面上的 arp 回應)。 不過,遵循這些指示時,請跳過為迴圈配接卡建立別名的步驟。 您應新增 ifconfig 指示,以便在 goStandby 高可用性 script 檔中為迴圈配接卡建立別名, 而此檔案會在 Dispatcher 進入待機狀態時執行。
Solaris:進入點 Dispatcher 並列時,您將無法配置 WAN 通告器。請參閱使用具有 Dispatcher 廣域支援的遠端通告器。
在較早的版次中,並不需要指定與配置中非轉送的位址 (NFA) 相同的並列伺服器位址。該限制已解除。
若要配置要並列的伺服器,dscontrol server 指令提供一個稱為 collocated 的選項 可被設定為 yes 或 no。 預設值是 no。伺服器的位址必須是機器上網路介面卡的有效 IP 位址。
您可以用下列其中一項方法來配置並列伺服器:
有關 dscontrol server 指令語法的進一步資訊,請參閱dscontrol server -- 配置伺服器。
如果在 Dispatcher 機器上執行下列步驟,則配置 Dispatcher 的 nat 轉送方法時,現在可對所有作業系統執行並列支援:
route add return_addr gw router
其中 router 是本端子網路路由器。
arp -s hostname ether_addr pub
使用本端 MAC 位址代替 ether_addr。如此可讓本端應用程式傳送資料傳輸到核心程式中的回覆位址。
CBR 支援不需要其他配置之所有平台上的並列。然而,您使用的 Web 伺服器及 Caching Proxy 必須是特定連結的。
Site Selector 支援不需要其他配置之所有平台上的並列。
高可用性功能 (可使用 dscontrol highavailability 指令來配置) 可供 Dispatcher 元件使用 (但不可供 CBR 或 Site Selector 元件使用)。
為了要改善 Dispatcher 的可用性, Dispatcher 高可用性功能會使用下列的機制:
如果可能,建議與標準叢集資料傳輸相比的個別子網路之間,至少有一個通訊檢查訊息 (heartbeat) 配對。保留明顯的通訊檢查訊息 (heartbeat) 資料傳輸,將有助於防止在網路負載過大時的錯誤接收,也可改進錯誤替代後的完成復原時間。
dscontrol highavailability 的完整語法在dscontrol highavailability -- 控制高可用性 中。
若要取得下面許多作業的完整討論,請參閱設定 Dispatcher 機器。
僅適用於 Windows 2000:此外,使用 dsconfig 指令來配置每一個非轉送位址。 例如:
dsconfig en0 nfa_addr netmask netmask
dscontrol cluster set clusterA primaryhost NFAdispatcher1 dscontrol cluster set clusterB primaryhost NFAdispatcher2
dscontrol cluster set clusterB primaryhost NFAdispatcher2 dscontrol cluster set clusterA primaryhost NFAdispatcher1
dscontrol highavailability heartbeat add sourceaddress destinationaddress
Primary - highavailability heartbeat add 9.67.111.3 9.67.186.8 Backup - highavailability heartbeat add 9.67.186.8 9.67.111.3至少有一個通訊檢查訊息 (heartbeat) 配對必須有當成來源及目的位址配對的 NFA。
如果可能,建議與標準叢集資料傳輸相比的個別子網路之間,至少有一個通訊檢查訊息 (heartbeat) 配對。保留明顯的通訊檢查訊息 (heartbeat) 資料傳輸,將有助於防止在網路負載過大時的錯誤接收,也可改進錯誤替代後的完成復原時間。
dscontrol highavailability reach add 9.67.125.18連繫目標是建議的,但不是必要的。相關資訊,請參閱使用通訊檢查訊息及連繫目標的失敗偵測能力。
dscontrol highavailability backup add primary [auto | manual] port
dscontrol highavailability backup add backup [auto | manual] port
dscontrol highavailability backup add both [auto | manual] port
dscontrol highavailability status每一台機器應該具有正確的角色 (備份、主要或兩者)、狀態及次狀態。 主要機器應該是現行的且是同步處理的; 而備份機器則應該在備用模式中,且應該在短時間內同步化。 策略必須是相同的。
註:
除了失敗偵測的基本準則 (失去現行及備用 Dispatcher 之間的連通性是透過通訊檢查訊息來偵測) 之外,還有另一個偵測故障的機制,叫做連通性基準。 當您配置 Dispatcher 時,可提供各 Dispatcher 都應能連繫到之主電腦的清單,如此才能正確地工作。
在 Dispatcher 所使用的每一個子網路上,您應該至少要選擇一台主電腦。 主電腦可以是路由器、IP 伺服器,或是其它類型的主電腦。 主電腦可連繫性是由 ping 到主電腦的連繫通告器來取得的。 如果通訊檢查訊息無法通過,或是備用的 Dispatcher 比主要的 Dispatcher 更能夠符合可連繫性的基準時,便會產生切換動作。 若要依據所有可用的資訊來做決定, 則現行的 Dispatcher 會規律地傳送可連繫性功能給備用的 Dispatcher。 於是 Dispatcher 會比較這些功能與它本身的功能,並決定是否要切換。
將會配置兩台 Dispatcher 機器:一為主要機器, 另一則是備份機器。 在啟動時,主要機器將傳送所有連線資料給備份機器, 直到該機器同步化為止。主要機器會變成使用中, 換言之,它將開始平衡負載。同時,備份機器將監督主要機器的狀態, 換言之,它目前處於備用狀態中。
如果備份機器在任何時候測偵到主要機器發生故障, 它將接管主要機器的平衡負載功能,並變成使用中的機器。在主要機器再次恢復作用後, 機器將依據使用者所配置的復原策略來回應。有兩種策略:
這兩台機器所設定的策略參數必須相同。
手動復原策略容許您使用 takeover 指令, 強迫將封包遞送給特定機器。在其它機器上執行維護作業時, 手動復原會很有用。自動復原策略是針對正常無人式作業而設計的。
如果某台機器發生了問題,即使它僅影響一個叢集,則另一台機器也會接管這兩個叢集。
欲使 Dispatcher 能夠遞送封包,必須將每個叢集位址化名為網路介面裝置別名。
由於偵測到失效時,Dispatcher 機器將變更狀態,所以必須自動發出上述的指令。 Dispatcher 將會執行使用者所建立的 script 來做到這一點。範例 script 位在 ...ibm/edge/lb/servers/samples 目錄下,它必須先移至 ...ibm/edge/lb/servers/bin 目錄中才可執行。
script 必須查詢此參數,並為與主要 Dispatcher 相關的叢集位址,執行 ifconfig 指令 (若為 Windows 2000,則執行 dsconfig 指令)。
可能會使用下列的範例 script:
應在 goActive script 中新增別名。例如:
call netsh interface ip add address "Local Area Connection" addr=9.37.51.28 mask=255.255.240.0
在 goStandby 及 GoInOp 中,別名皆必須移除。例如:
call netsh interface ip delete address "Local Area Connection" addr=9.37.51.28
如果機器上有多重 NIC,則應在指令提示下發出下列指令 netsh interface ip show address,以先選取應該使用的介面。此指令將傳回目前已配置介面的清單,並且會為「區域連線」編號 (例如,「區域連線 2」),因此,您可決定您應該使用的介面。
您可以使用規則型平衡負載,來調整封包要傳送到哪一個伺服器的時間及原因。 Load Balancer 複查所有從最高優先順序到最低優先順序的規則,在找到為真的第一個規則上停止,然後在與此規則關聯的伺服器之間,平衡負載其內容。它已經根據目的地及埠來平衡負載, 但是會使用規則來擴展您的功能以分送連接。
在配置規則時的大部份情況下,您應配置預設的永遠為真規則,以抓取無法執行其他較高優先順序規則的要求。當所有其它的伺服器都因從屬站要求而失敗時,這可以是「抱歉,站台目前已關閉,請稍後重試」回應。
當您基於某種理由,要使用您伺服器的子集時,應將規則型平衡負載搭配使用 Dispatcher 和 Site Selector。 您必須一律使用 CBR 元件的規則。
建議您最好在開始在配置中新增規則之前,先規劃您希望該規則遵循的邏輯。
所有的規則都有名稱、類型、優先順序,可能有開始範圍及結束範圍,以及一組伺服器。此外,CBR 元件的內容類型規則具有與其關聯的相符正規表示式型樣。(有關如何使用內容規則的範例與實務,以及內容規則的有效型樣語法,請參閱附錄 B, 內容規則 (型樣) 語法。)
規則的評估會依照優先順序的順序。換言之,優先順序 1 (較低值) 的規則將在優先順序 2 (較高值) 之前評估。將會使用最先滿足的規則。一旦有一個已經滿足的規則,將不會再評估其他規則。
對於要滿足的規則,必須符合兩個條件:
如果規則沒有與其相關的伺服器,則會滿足只需要符合條件 1 的規則。 在此案例中,Dispatcher 將放下連接要求,Site Selector 將傳回有錯誤之名稱伺服器要求,CBR 將讓 Caching Proxy 傳回錯誤頁面。
如果沒有滿足的規則,Dispatcher 將從埠上可用的完整伺服器中選取一個伺服器,Site Selector 將從站台名稱上可用的完整伺服器中選取一個伺服器,且 CBR 將使得 Caching Proxy 傳回錯誤頁面。
只有 Dispatcher、CBR 或 Site Selector 元件才有提供此規則類型。
如果您希望顯示客戶並且根據資源的來源位置配置資源, 則可能要根據從屬站 IP 位址來使用規則。
例如,您注意到您的網路正在從來自特定一組 IP 位址的從屬站, 取得許多未付費且不需要的資料傳輸。因此您使用 dscontrol rule 指令建立了規則,例如:
dscontrol rule add 9.67.131.153:80:ni type ip beginrange 9.0.0.0 endrange 9.255.255.255
此 "ni" 規則會過濾掉來自 IBM 從屬站的任何連線。 然後,您可將 IBM 人員可存取的伺服器新增到規則中。或者, 如果您不新增任何伺服器到規則中,來自 9.x.x.x 位址的要求將不會由您的任何伺服器伺服。
只有 Dispatcher 元件才有提供此規則類型。
如果您的從屬站使用的軟體在進行要求時會從 TCP/IP 要求特定的埠, 您可能會想要根據從屬站埠來使用規則。
例如,您可以建立一個規則,說明從屬站埠 10002 的任何要求都要使用一組特殊的快速伺 服器,因為您知道該埠的任何從屬站要求都是來自一群傑出的客戶。
只有 Dispatcher、CBR 或 Site Selector 元件才有提供此規則類型。
基於容量規劃的理由,您可能希望根據一天的時間來使用規則。例如, 如果您的 Web 站台大部份是在每天的相同小時群組期間內使用, 您可能會想要對 HTTP 全日指派專屬的五個伺服器, 然後,在尖峰期間新增另外五個伺服器。
您可能要根據一天的時間使用規則的另一個理由, 是當您想要關閉某些伺服器以便在每天晚上或深夜進行維護,所以您會設定規則, 以便在必要維護期間排除那些伺服器。
只有 Dispatcher 元件才有提供此規則類型。
您可能想要根據 IP 標頭中的 『服務程式類型』 (TOS) 欄位, 來使用規則。例如,如果進來一個從屬站要求,它具有一個 TOS 值, 指出一般服務程式,則它可以遞送到一組伺服器。例如,如果進來一個不同從屬站要求, 它具有一個不同 TOS 值,指出較高優先順序的服務程式,則它可以遞送到不同組的伺服器組。
TOS 規則可讓您使用 dscontrol rule 指令,充份配置 TOS 位元組中的每一個位元。 若要取得您想要其在 TOS 位元組中符合的有效位元, 請使用 0 或 1。不然,將使用值 x。 下列是新增 TOS 規則的範例:
dscontrol rule add 9.67.131.153:80:tsr type service tos 0xx1010x
只有 Dispatcher 及 CBR 元件才有提供此規則類型。
如果您需要和其它的應用程式共用您的一些伺服器,則您最好使用基於埠上每秒連線數的規則。 例如,您可以設定兩個規則:
或者,您可能正在使用 Telnet 並且想要對 Telnet 保留五個伺服器中的兩個, 除非每秒連線數增加到特定層次以上。 如此,Dispatcher 便會在尖峰時間平衡五個伺服器的資料流量。
結合「連線」類型規則來設定規則評估選項 "upserversonrule":當使用連線類型規則並設定 upserversonrule 選項時, 如果伺服器集中的部份伺服器已關閉,則您可以確定剩餘的伺服器將不會超載。 相關資訊,請參閱規則的伺服器評估選項。
只有 Dispatcher 或 CBR 元件才有提供此規則類型。
如果您的伺服器超出負荷並且開始丟出封包, 您可能想要根據埠上的作用中連線總數來使用規則。某些 Web 伺服器將繼續接受連線, 即使它們沒有足夠的緒可回應要求。結果,從屬站要求逾時, 並且也未對來到您的 Web 站台的客戶進行伺服。您可以根據作用中連線來使用規則, 以平衡伺服器儲存區內的容量。
例如,您根據經驗知道您的伺服器將在接受 250 個連線之後停止伺服。 您可用 dscontrol rule 指令或 cbrcontrol rule 指令來建立規則,例如:
dscontrol rule add 130.40.52.153:80:pool2 type active beginrange 250 endrange 500 或 cbrcontrol rule add 130.40.52.153:80:pool2 type active beginrange 250 endrange 500
然後將您目前的伺服器以及一些其它的伺服器新增到規則中,不然,這些伺服器會供其它的處理使用。
只有 Dispatcher 元件才提供保留頻寬及共用頻寬的規則。
若為頻寬規則,Dispatcher 計算頻寬作為以特定伺服器集傳送資料到從屬站的比率。Dispatcher 在伺服器、規則、埠、叢集及執行器層次追蹤容量。對每一個層次而言,都有一個位元組計數器欄位:每秒轉送的千位元組 (KB)。Dispatcher 以 60 秒鐘的間隔計算這些比率。您可從 GUI 或從指令行報告的輸出來檢視這些比率值。
保留頻寬規則可讓您控制伺服器組每秒所遞送的千位元組 (KB) 數。 在配置的整個過程中,為每一個伺服器集設定臨界值 (配置指定的頻寬範圍), 您便可以控制及保證每一個叢集埠組合所使用的頻寬數量。
下列是新增 reservedbandwidth 規則的範例:
dscontrol rule add 9.67.131.153:80:rbw type reservedbandwidth beginrange 0 endrange 300
所指定的開始範圍及結束範圍皆是以每秒千位元組為單位。
配置共用頻寬規則之前,您必須在執行器或叢集層次,使用 dscontrol executor 或 dscontrol cluster 指令及 sharedbandwidth 選項,指定可以共用的頻寬之最大數量 (每秒千位元組 (KB))。sharebandwidth 值不應超過可用的頻寬總數 (網路容量總計)。 使用 dscontrol 指令,以設定僅提供規則上限的共用頻寬。
下列是指令語法的範例:
dscontrol executor set sharedbandwidth size dscontrol cluster [add | set] 9.12.32.9 sharedbandwidth size
sharedbandwidth 的 size 是一整數值 (每秒千位元組)。預設值是零。 如果此值為 0,則頻寬無法共用。
在叢集層次共用頻寬可讓叢集使用的頻寬為最大。只要叢集使用的頻寬低於指定的數量,便會將此規則評估為 True。如果使用的頻寬總數大於指定的數量,則此規則將評估為 False。
執行器層次上的共用頻寬可讓整個 Dispatcher 配置共用最大頻寬量。只要在執行器層次使用的頻寬低於指定的數量,便會將此規則評估為 True。如果使用的頻寬總數大於其所定義的值,則此規則將評估為 False。
以下是新增或設定 sharedbandwidth 規則的範例:
dscontrol rule add 9.20.30.4:80:shbw type sharedbandwidth sharelevel value dscontrol rule set 9.20.34.11:80:shrule sharelevel value
sharelevel 的 value 可以是 executor 或 cluster。 Sharelevel 在 sharebandwidth 規則中是必要的參數。
Dispatcher 可讓您使用保留頻寬規則,在您的配置內配置一組伺服器的指定頻寬。 藉由指定開始及結束範圍,您可控制由一組伺服器傳遞至從屬站的千位元組 (KB) 範圍。一旦規則不再評估為 True (超過結束範圍),將會評估下一個較低優先順序的規則。 如果下一個較低優先順序的規則是「永遠為真」規則,則會選取伺服器,並以「站台忙線」回應給從屬站。
例如:請考慮埠 2222 上三個伺服器的群組。如果將保留的頻寬設定為 300,則經過 60 秒的每秒最大千位元組 (KB) 將為 300。當超出這個比率時,便不再將規則評估為 True。如果這是唯一的規則,則 Dispatcher 會選取三個伺服器的其中一個來處理要求。如果有一個較低優先順序的「永遠為真」規則,則可將要求重新導向至另一個伺服器,並以「站台忙線」來回答。
共用頻寬規則可對從屬站提供額外伺服器存取。 特別是在當成接著保留頻寬規則的較低優先順序規則使用時,即使已超出保留的頻寬,從屬站仍可存取伺服器。
例如:藉由使用接著保留頻寬規則的共用頻寬規則,您可讓從屬站在控制的方式下,增加對三個伺服器的存取。只要有可供使用的共用頻寬,規則都將評估為真,且會授與存取的權限。如果沒有可用的共用頻寬,則規則將不會為真,並會對下一個規則進行評估。如果接著的是「永遠為真」規則,則可依需要重新導向要求。
藉由說明於上述範例的使用保留及共用頻寬,在授與 (或拒絕) 對伺服器的存取時,可達到更佳的彈性及控制。特定埠上的伺服器可被限制於頻寬用法中,但是只要有其他的頻寬可供使用,其他的伺服器便可使用之。
只有 Site Selector 元件才有提供此規則類型。
針對全部測量單位規則,選擇系統測量單位 (cpuload、memload、或您可以自行設定系統測量單位 script),且 Site Selector 會比較系統測量單位值 (由常駐在每一個負載平衡的伺服器上之 Metric Server 代理程式傳回) 及您在規則中指定之開始和結束範圍。伺服器集內的所有伺服器之現行系統測量單位值,必須在範圍內,以供規則啟動。
下列是將全部測量單位規則新增至配置內容的範例:
sscontrol rule add dnsload.com:allrule1 type metricall metricname cpuload beginrange 0 endrange 100
只有 Site Selector 元件才有提供此規則類型。
針對平均測量單位規則,選擇系統測量單位 (cpuload、memload、或您可以自行設定系統測量單位 script),且 Site Selector 會比較系統測量單位值 (由常駐在每一個負載平衡的伺服器上之 Metric Server 代理程式傳回) 及您在規則中指定之開始和結束範圍。伺服器組內所有伺服器之現行系統測量單位的平均值,皆必須在範圍內才可讓規則生效。
下列是將平均測量單位規則新增至配置內容的範例:
sscontrol rule add dnsload.com:avgrule1 type metricavg metricname cpuload beginrange 0 endrange 100
只有 Dispatcher、CBR 或 Site Selector 元件才有提供此規則類型。
可以建立「永遠為真」的規則。除非所有與這類規則相關的伺服器都當機, 否則將一直選取這類規則。因此它通常應該比其它的規則處於較低的優先順序。
您甚至可以有多個「永遠為真」的規則,每個規則都有相關的一組伺服器。 會選擇具有可用伺服器的第一個為真的規則。例如, 假設您有六個伺服器。您希望其中兩個伺服器來處理所有情況下的資料傳輸, 除非這兩個伺服器都當機。如果前兩個伺服器都當機, 您希望第二組伺服器可處理資料傳輸。如果這四個伺服器都當機, 您將使用最後兩個伺服器來處理資料傳輸。您可以設定三個「永遠為真」的規則。 如此一來,只要第一組伺服器中的某一個伺服器在開機中, 這一組伺服器將一直處於選擇的狀態。如果兩個伺服器都當機, 則會選擇第二組中的一個,依此類推。
另一個範例是,您可能希望「永遠為真」的規則可確保對於不符合任何設定規則的進入的從屬站, 將不進行伺服。您可以用 dscontrol rule 指令建立如下的規則:
dscontrol rule add 130.40.52.153:80:jamais type true priority 100
如此一來,您可以不新增任何伺服器到規則中,而使從屬站封包被捨棄,並且沒有回應。
您可以定義多個「永遠為真」的規則,而且從此以後只要變更它們的優先順序層次, 即可調整要執行的規則。
只有 CBR 元件或 Dispatcher 元件 (當使用 Dispatcher 的 cbr 轉送方法時) 才有提供此規則類型。
您會想要使用內容類型規則來將要求傳送至各個伺服器群組,尤其是設定來處 理站台的資料傳輸之子集的伺服器。 例如,您也許會使用一組伺服器來處理所有的 cgi-bin 要求, 用另一組來處理所有的串流音效要求,再用另外一組來處理所有的其它要求。 您可以將附有符合路徑之型樣的規則新增至 cgi-bin 目錄,而另一個規則符合 檔案類型或您的串流音效檔案,再另一個則為永遠為真的規則,以處理其它資 料傳輸。 然後將適當的伺服器新增至每個規則。
重要事項:有關如何使用內容規則的範例與實務,以及內容規則的有效型樣語法,請參閱附錄 B, 內容規則 (型樣) 語法。
透過埠相關性置換,您可以置換特定伺服器的埠滯留。例如, 您將使用一個規則來限制每一個應用程式伺服器的連線數量, 且您具有一個溢位伺服器,它具有一個恆真規則,指出 『稍後再嘗試該應用程式"。 埠具有 stickytime 值 25 分鐘,所以您不想要從屬站滯留在該伺服器上。 透過埠相關性置換,您可以變更溢位伺服器,來置換一般與該埠關聯的相關性。 下次從屬站要求此叢集時, 它的資料流量會被平衡地配送到最可用的應用程式伺服器,而不是溢位伺服器。
請參閱dscontrol server -- 配置伺服器,以取得使用伺服器滯留 選項的埠相關性置換的指令語法之詳細資訊。
您可以用 dscontrol rule add 指令,藉由編輯範例配置檔,或透過圖形式使用者介面 (GUI),來新增規則。 您可以對您所定義的每一個埠,新增一或多個規則。
這項處理有兩個步驟:新增規則;然後定義如果規則為真,則哪一個伺服器要伺服。 例如, 我們的系統管理者想要追蹤站台上每個部門的 proxy 伺服器使用情況。他知道每一個部門的 IP 位址。他可以根據從屬站 IP 位址建立第一組規則, 以區隔每一部門的資料傳輸:
dscontrol rule add 130.40.52.153:80:div1 type ip b 9.1.0.0 e 9.1.255.255 dscontrol rule add 130.40.52.153:80:div2 type ip b 9.2.0.0 e 9.2.255.255 dscontrol rule add 130.40.52.153:80:div3 type ip b 9.3.0.0 e 9.3.255.255
接著,您可以將不同的伺服器新增至每一個規則,然後測量每個伺服器上的資 料流量,以便向使用服務的部門收取適當的費用。 例如:
dscontrol rule useserver 130.40.52.153:80:div1 207.72.33.45 dscontrol rule useserver 130.40.52.153:80:div2 207.72.33.63 dscontrol rule useserver 130.40.52.153:80:div3 207.72.33.47
只有 Dispatcher 元件才有提供伺服器評估選項。
在 dscontrol rule 指令上有規則的伺服器評估選項。使用 evaluate 選項來選擇要在埠上所有伺服器之間評估規則的條件,或是只在規則內的伺服器之間評估規則的條件。(在 Load Balancer 的較早版本中,您可能只能測量埠上所有伺服器間的每一個規則條件。)
註:
以下為在保留的頻寬規則上新增及設定 evaluate 選項的範例:
dscontrol rule add 9.22.21.3:80:rbweval type reservedbandwidth evaluate level dscontrol rule set 9.22.21.3:80:rbweval evaluate level
evaluate 層次可以設為 port、rule 或 upserversonrule。預設值是 port。
測量規則內之伺服器間規則條件的選項,可讓您以下列性質配置兩個規則:
其結果是當資料傳輸超過第一個規則內伺服器的臨界值時,會將資料傳輸傳送到第二個規則內的「站台忙線」伺服器。當資料傳輸落於第一個規則內之伺服器的臨界值之下,新的資料傳輸會再一次傳送至第一個規則的伺服器。
使用說明於前述範例的兩個規則,如果您將第一個規則的 evalute 選項設定為 port (在埠上的所有伺服器間評估規則的條件),則當資料傳輸超出該規則的臨界值時,會將資料傳輸傳送到與第二個規則關聯的「站台忙線」伺服器。
第一個規則測量埠上所有的伺服器資料傳輸 (包括「站台忙線」伺服器),以決定資料傳輸是否超過臨界值。 當與第一個規則連接之伺服器的擁塞減低時,在持續至「站台忙線」伺服器的資料傳輸可能會發生偶發的結果,因為埠上的資料傳輸仍超出第一個規則的臨界值。
若是 Dispatcher 及 CBR 元件:在您配置叢集的埠為滯留時,可啟用相關性特性。將叢集埠配置成滯留,可將後續從屬站要求導向到相同伺服器。 在執行器、叢集或埠層次將 stickytime 設定為一些秒數,便可完成此項作業。若將滯留時間設定為 0,即停用此特性。
若是 Site Selector 元件:在您配置站台名稱為滯留時,可啟用相關性特性。配置站台名稱為滯留,可讓從屬站對多重名稱服務要求,使用相同的伺服器。在站台名稱上將 stickytime 設定為一些秒數,便可完成此項作業。若將滯留時間設定為 0,即停用此特性。
在停用相關性特性時,Load Balancer 會在接收到來自從屬站的新 TCP 連線時, 立即挑選正確的伺服器,並將封包轉送到該伺服器。如果後續的連線是來自相同的從屬站,Load Balancer 會將之視為不相關的新連線,並在當時及時重新挑選正確的伺服器。
啟用相關性特性時,如果是從相同從屬站接收到後續要求,則會將要求導向相同的伺服器。
經過一段時間後,從屬站會完成傳送異動,而相關性記錄會移除。這就是「滯留時間」的意義。每個相關性記錄都會存留 』stickytime『 設定的秒數。在滯留時間內接收到後續連線時,相關性記錄仍為有效,而要求會送到相同的伺服器。如果未在滯留時間內接收到後續連線,則會去除該記錄;且會為那個時間之後所接收到的連線選取一個新的伺服器。
跨埠相關性僅適用於 Dispatcher 元件的 MAC 及 NAT/NATP 轉送方法。
跨埠相關性是已擴充來涵蓋多埠的滯留特性。 例如,如果首先在某個埠收到從屬站要求,接著在另一個埠收到下一個要求, 則跨埠相關性將容許配送器傳送從屬站要求到同一台伺服器。若要使用這個特性,則埠必須:
有多個埠可以鏈結到相同的 crossport。 當後續的連線來自相同埠或共用埠上的相同從屬站時,將存取相同的伺服器。 下列是將多埠配置為與埠 10 具有跨埠相關性的範例:
dscontrol port set cluster:20 crossport 10 dscontrol port set cluster:30 crossport 10 dscontrol port set cluster:40 crossport 10
在建立跨埠相關性後,您便可彈性地修改埠的 stickytime 值。 不過,建議您最好將所有共用埠的 stickytime 值變更為同一值, 不然,可能會發生非預期的結果。
若要移除跨埠相關性,請將 crossport 值重設為它自己的埠號。 若要取得 crossport 選項的指令語法的詳細資訊, 請參閱dscontrol port -- 配置埠。
相關性位址遮罩僅適用於 Dispatcher 元件。
相關性位址遮罩是滯留特性的加強,其作用在於根據共用子網路位址, 將從屬站分組。在 dscontrol port 指令上指定 stickymask 可讓您為 32 位元 IP 位址的共用高次序位元建立遮罩。如果配置此特性,當從屬站要求先製作與埠的連線時,來自從屬站的所有後續要求,都有相同的子網路位址 (代表該位址部份已被遮罩),且將被導向相同的伺服器。
例如,如果您想要讓所有具有相同網路「類別 A」位址的進入從屬站要求被導向到同一伺服器, 您可以將埠的 stickymask 值設定為 8 (位元)。若要將具有相同網路「類別 B」位址的從屬站要求建立成一個群組, 請將 stickymask 值設定為 16 (位元)。若要將具有相同網路「類別 C」位址的從屬站要求建立成一個群組, 請將 stickymask 值設定為 24 (位元)。
為了獲致最佳的結果,當首次啟動 Load Balancer 時,請設定 stickymask 值。 如果您動態地變更 stickymask 值,結果將無法預期。
與跨埠相關性互動:如果您將啟用跨埠相關性, 共用埠的 stickymask 值必須相同。
相關資訊,請參閱跨埠相關性。
若要啟用相關性位址遮罩,請發出如下的 dscontrol port 指令:
dscontrol port set cluster:port stickytime 10 stickymask 8
可能的 stickymask 值是 8、16、24 及 32。值 8 指定 IP 位址 (網路「類別 A」位址) 的前 8 個高次序位元將建立遮罩。值 16 指定 IP 位址 (網路「類別 B」位址) 的前 16 個高次序位元將建立遮罩。 值 24 指定 IP 位址 (網路「類別 C」位址) 的前 24 個高次序位元將建立遮罩。如果您指定值 32,將建立整個 IP 位址遮罩, 它將有效地停用相關性位址遮罩特性。stickymask 的預設值是 32。
若要取得 stickymask (相關性位址遮罩特性) 的指令語法的詳細資訊,請參閱dscontrol port -- 配置埠。
靜止處理適用於 Dispatcher 及 CBR 元件。
欲因任何理由 (更新、升級及服務程式等等) 從 Load Balancer 配置移除伺服器,您可使用 dscontrol manager quiesce 指令。在將連線指定為滯留且滯留時間尚未到期時,quiesce 次指令可讓現有的連線僅完成 (但不提供) 及轉送由從屬站至靜止伺服器的後續新連線。quiesce 次指令不接受與伺服器連接的任何其它新連線。
如果您已設定滯留時間,且您要在滯留時間到期之前將新連線傳送至另一個伺服器 (而非靜止的伺服器), 請使用靜止 『now" 選項。下列範例為使用 now 選項來靜止伺服器 9.40.25.67:
dscontrol manager quiesce 9.40.25.67 now
now 選項決定如何依下所示處理滯留連線:
這對靜止伺服器而言是較嚴謹且較為連貫的方式。例如,您可從容地靜止伺服器,然後等待直到資料傳輸數量最少的時候 (或許在大清早),完整地從配置中移除伺服器。
您可在 dscontrol rule 指令上指定下列相關性類型:
相關性選項的預設值是 none。port 指令上的 stickytime 選項必須是 0 (未啟用),以將 rule 指令上的相關性選項設定為主動 cookie、被動 cookie 或 URI。在規則設定相關性時,便無法在埠上啟用滯留時間。
主動 cookie 相關性特性僅適用於 CBR 元件。
它提供使從屬站「滯留」於特定伺服器的方法。 設定規則的滯留時間為一個正數,並設定相關性為 『activecookie』,以啟用此功能。您可在新增規則,或使用 rule set 指令時完成。如需指令語法的詳細資訊,請參閱dscontrol rule -- 配置規則。
一旦已啟用主動 cookie 相關性的規則,新的從屬站要求將使用標準 CBR 演算法進行平衡負載,而來自相同從屬站的連續要求,將被傳送到起始選擇的伺服器。所選擇的伺服器會以 cookie 的形式保存在對從屬站的回應中。 只要從屬站未來的要求含有 cookie,而且每個要求都有在滯留時間間隔內到達, 從屬站就會維護與起始伺服器之間的相關性。
主動 cookie 相關性是用於確定從屬站會在相同伺服器及相同期間,持續進行平衡負載。藉由傳送從屬站瀏覽器所要保存的 cookie,以完成此作業。 Cookie 包含用來決策的 cluster:port:rule、所平衡負載的伺服器,以及相關性不再有效時的逾時時間戳記。Cookie 的格式如下:IBMCBR=cluster:port:rule+server-time! 已編碼 cluster:port:rule 及 server 資訊,所以不會顯示 CBR 配置。
每當規則使主動 cookie 相關性開啟時,將會檢查由從屬站傳送的 cookie。
然後這個新的 cookie 會被插入要退回到從屬站的表頭中, 而且如果從屬站的瀏覽器配置為可接收 cookie,就會傳回後續的要求。
cookie 中之每一個相關性實例的長度為 65 個位元組,並以驚嘆號結束。因此,一個 4096 個位元組的 cookie,每一網域可保留將近 60 個個別的主動 cookie 規則。如果 cookie 已完全填滿,則將會去除所有到期的相關性實例。如果所有的實例仍然有效,則會刪除最舊的實例,然後新增現行規則的新實例。
rule 指令的主動 cookie 相關性選項,在埠滯留時間為 0 (未啟動) 時,僅能設定為 activecookie。一旦規則上的主動 cookie 相關性為作用中時,便無法在埠上啟用滯留時間。
欲啟動特定規則的主動 cookie 相關性,請使用 rule set 指令:
rule set cluster:port:rule stickytime 60 rule set cluster:port:rule affinity activecookie
使規則滯留通常會用來建立 CGI 或 servlet,以將從屬站狀態保存在伺服器上。 cookie ID 所識別的狀態 (這些是伺服器 cookie)。 從屬站狀態僅與選取的伺服器有關, 所以從屬站需要來自該伺服器的 cookie,以便在要求之間維護該狀態。
主動 cookie 相關性有現行伺服器時間的到期預設值,加上滯留時間間隔,外加 24 小時。如果您的從屬站 (指那些傳送要求到您的 CBR 機器的從屬站) 在他們的系統上有不正確的時間 (例如,他們的時間比伺服器時間早一天),那麼那些從屬站的系統會忽略來自 CBR 的 cookie,因為系統會假設 cookie 已經過期。如果要設定一個較長的有效時間,請修改 cbrserver script。在 Script 檔中,編輯 javaw 指令行、在 LB_SERVER_KEYS 之後新增下列參數:-DCOOKIEEXPIREINTERVAL=X,其中 X 是要新增到有效時間的天數。
在 AIX、Solaris 和 Linux 上,cbrserver 檔是放置在 /usr/bin 目錄中。
在 Windows 2000 上,cbrserver 檔是放置在 \winnt\system32 目錄中。
被動 cookie 相關性適用於 Dispatcher 元件的根據內容遞送 (cbr) 轉送方法,以及 CBR 元件。 如需如何配置 Dispatcher 之 cbr 轉送方法的相關資訊,請參閱Dispatcher 的根據內容遞送 (cbr 轉送方法)。
被動 cookie 相關性提供使從屬站滯留於特定伺服器的方法。一旦您啟動規則的相關性為 passivecookie,基於伺服器產生的自我識別 cookie,被動 cookie 相關性便可讓您使用相關性,以平衡負載 Web 資料傳輸至相同的伺服器。您可於規則層次配置被動 cookie 相關性。一旦規則啟動,如果已啟用被動 cookie 相關性,Load Balancer 將依據從屬站要求之 HTTP 表頭中的 cookie 名稱來選擇伺服器。Load Balancer 將基於在先前的連線期間由伺服器產生的 cookie,將新的進入要求傳送至伺服器。如果找不到從屬站要求中的 cookie 值,或是它與任何伺服器的 cookie 值不符,則將使用加權環繞式技術選擇伺服器。
要配置被動 cookie 相關性時:
在埠的滯留時間為 0 (未啟用) 時,僅可將 rule 指令的被動 cookie 相關性選項,設定為 passivecookie。一旦被動 cookie 相關性在規則上已是作用中時,您便無法在埠上啟用滯留時間。
URI 相關性適用於 Dispatcher 的 cbr 轉送方法及 CBR 元件。如需如何配置 cbr 轉送方法的相關資訊,請參閱Dispatcher 的根據內容遞送 (cbr 轉送方法)。
URI 相關性可讓您將 Web 資料傳輸平衡負載至 Caching Proxy 伺服器,這些伺服器可在每一個個別伺服器上快取唯一的內容。因此, 您可以在多個機器上消除多餘之快取內容的方式,有效地增加站台快取的容量。在規則層次配置 URI 相關性。一旦規則啟動,如果已啟用 URI 相關性,且相同的一組伺服器開機中並產生回應,則 Load Balancer 將使用相同的 URI,將新進入的從屬站要求,轉送至相同的伺服器。
通常 Load Balancer 可將要求分送至提供相同內容的多個伺服器。當使用具有一組快取伺服器的 Load Balancer 時,經常存取的內容最後會變成所有伺服器上的快取。藉由在多重機器上複製相同的快取內容,即可支援極高的從屬站載入。這對高容體的網站特別有用。
然而,如果您的網站支援極為不同內容的從屬站資料的適量傳輸,而您希望在多重伺服器間散佈較大量的快取,則若每一個快取伺服器內含唯一內容,且 Load Balancer 僅對具有該內容的快取伺服器分送要求時,您的站台便可有較佳的執行效能。
使用 URI 相關性,Load Balancer 可讓您將快取內容分送至個別的伺服器,以消除多重機器上多餘的快取內容。使用 Caching Proxy 伺服器之不同內容伺服器站台的效能將因此增強功能而有所改進。它會將相同的要求傳送至相同的伺服器,藉此快取單一伺服器上的內容。快取的有效大小,也會因新增至儲存區的每一個新伺服器機器而變大。
要配置 URI 相關性時:
在埠的滯留時間為 0 (未啟用) 時,僅可將 rule 指令的 URI 相關性選項,設定為 URI。一旦 URI 相關性在規則上已是作用中時,您便無法在埠上啟用滯留時間。
此特性僅限用於 Dispatcher 元件。
如果您不是使用 Dispatcher 的廣域支援,且不是使用 Dispatcher 的 nat 轉送方法,則 Dispatcher 配置需要將 Dispatcher 機器及其伺服器,全部都連接到相同的 LAN 區段 (請參閱圖 35)。從屬站的要求會進入 Dispatcher 機器,且會被傳送到伺服器。並會將來自伺服器的回應直接傳回從屬站。
廣域 Dispatcher 增強功能新增離線伺服器的支援,即為所知的遠端伺服器 (請參閱圖 36)。 如果在遠端站台中不支援 GRE,且您不是使用 Dispatcher 的 nat 轉送方法,則遠端站台必須由遠端 Dispatcher 機器 (Dispatcher 2) 及其本端環境連接伺服器 (伺服器 G、伺服器 H 及伺服器 I) 所組成。
所有的 Dispatcher 機器必須在相同的作業系統上。 從屬站封包現在可以從網際網路到 Dispatcher 機器,再從該處到地理上的遠端 Dispatcher 機器,再到其本端環境連接的伺服器。
此功能可以讓叢集位址在將資料流量分送到全球各地的伺服器時, 支援全球所有的從屬站要求。
最初接收封包的 Dispatcher 機器仍然可以有與其相連的本端伺服器, 並且可以在其本端伺服器和遠端伺服器之間分送資料流量。
廣域指令並不複雜。欲配置廣域支援:
dscontrol server add cluster:port:server router address
如需路由器關鍵字的進一步資訊,請參閱dscontrol server -- 配置伺服器。
在進入點 Dispatchers 上:大部份平台的通告器都不需特別的配置即可正常運作。
Linux
Solaris
arp -s <my_cluster_address> <my_mac_address> pub
在遠端 Dispatcher 上:為每個遠端叢集位址執行下列的配置步驟。若為遠端 Load Balancer 位置的高可用性配置,您必須同時在兩個機器上執行這些步驟。
AIX
ifconfig lo0 alias 9.67.34.123 netmask 255.255.255.255
Linux
ifconfig lo:1 9.67.34.123 netmask 255.255.255.255 up
Solaris
Windows 2000
dscontrol executor configure 9.55.30.45
圖 37. 使用遠端 Load Balancer 的廣域範例配置
本例適用於圖 37 中說明的配置。
以下將說明如何配置 Dispatcher 機器,以支援埠 80 上的叢集位址 xebec。 將 LB1 定義為『進入點』 Load Balancer。假設一條乙太網路連線。請注意:LB1 已定義 5 個伺服器:三個本端伺服器 (ServerA、ServerB、ServerC),兩個遠端伺服器 (LB2 及 LB3)。 遠端 LB2 及 LB3 上,每一個都定義了三個本端伺服器。
請在第一個 Dispatcher (LB1) 的主控台上,執行下列步驟:
dscontrol executor start
dscontrol executor set nfa LB1
dscontrol cluster add xebec
dscontrol port add xebec:80
dscontrol executor configure LB1 並且將 xebec 配置為 clusteraddr。
dscontrol executor configure xebec
在第二個 Dispatcher (LB2) 的主控台:
dscontrol executor start
dscontrol executor set nfa LB2
dscontrol cluster add xebec
dscontrol port add xebec:80
dscontrol executor configure LB2
在第三個 Dispatcher (LB3) 的主控台:
dscontrol executor start
dscontrol executor set nfa LB3
dscontrol cluster add xebec
dscontrol port add xebec:80
dscontrol executor configure LB3
「同屬遞送封裝 (GRE)」是在 RFC 1701 及 RFC 1702 中指定的 Internet 通訊協定。使用 GRE,Load Balancer 可將從屬站 IP 封包封裝在 IP/GRE 封包內,並將之轉送至支援 GRE 的伺服器平台上,例如 OS/390。
GRE 支援可讓 Dispatcher 元件平衡負載封包至與一個 MAC 位址關聯的多重伺服器位址。
Load Balancer 將 GRE 當成其 WAN 特性的一部份。這可讓 Load Balancer 對可解開 GRE 封包的伺服器系統,直接提供廣域平衡負載。如果遠端伺服器支援封裝的 GRE 封包,則在遠端站台上便不需要安裝 Load Balancer。Load Balancer 使用設定為十進位值 3735928559 的 GRE 金鑰欄位,封裝 WAN 封包。
針對此範例 (圖 38),若要新增支援 GRE 的遠端 ServerD,請在 Load Balancer 配置內定義它,做法就像在 cluster:port:server 體系中定義 WAN 伺服器一樣:
dscontrol server add cluster:port:ServerD router Router1
Linux 有原生的能力來解析 GRE,這個 GRE 容許 Load Balancer 平衡負載到 Linux/390 伺服器影像中,許多伺服器影像在此共用 MAC 位址。這允許進入點 Load Balancer 直接平衡負載到 Linux WAN 伺服器,不需要透過 Load Balancer 在遠端網站上傳送。這也同時容許進入點 Load Balancer 的通告器直接與遠端伺服器運作。
在進入點 Load Balancer 上,依照對 WAN 的說明來配置。
若要配置每一個 Linux 後端伺服器,則以 root 身分發出下列命令。(這些命令可能會新增到系統開機啟動機能,如此一來,變更會持續到跨越重新開機。)
# modprobe ip_gre # ip tunnel add gre-nd mode gre ikey 3735928559 # ip link set gre-nd up # ip addr add cluster address dev gre-nd
一般而言,Dispatcher 的平衡負載功能在運作時, 不會與產品使用的站台的內容發生關聯。 不過,有一個區域,其中站台內容可能很重要, 且其中的決定的內容可能對 Dispatcher 的效率產生很大的影響。 這個區域是在鏈結定址的區域中。
如果您的網頁指定指向站台個別伺服器的鏈結,您實際上是強迫從屬站跳至特定的機器,而略過其它實際上存在的平衡負載功能。基於這個原因,建議您務必使用包含在您呼叫中之任何鏈結的 Dispatcher 位址。 請注意,如果您的站台使用可動態建立 HTML 的自動程式設計, 則所使用的該種定址可能不會一直很明顯。欲使您的平衡負載達到最大, 您應該注意任何明確的定址,並儘可能避開它。
您可以使用專用網路來設定 Dispatcher 及 TCP 伺服器機器。 這個配置可以減少可能會影響效能的公用或外部網路上的爭執。
對 AIX 而言,如果您正在「SP 框架」中的節點上執行 Dispatcher 及 TCP 伺服器機器, 則這個配置也可以利用快速的「SP(TM) 高效能交換器」。
欲建立專用網路時,每台機器都至少必須有兩張 LAN 卡, 且其中一張卡要連接專用網路。您也須在不同子網路上配置第二張 LAN 卡。 然後,Dispatcher 將透過專用網路,把從屬站要求傳給 TCP 伺服器機器。
Windows 2000:請執行下列指令:
dsconfig en1 10.0.0.x netmask 255.255.255.0
其中 en1 是 Dispatcher 機器中的第二個介面卡的名稱, 10.0.0.x 則是第二個介面卡的網路位址, 而 255.255.255.0 則是專用網路的網路遮罩。
使用 dscontrol server add 指令的新增伺服器,必須使用專用網址來新增;例如,有關圖 39 中的 Apple 伺服器範例,其指令應撰寫為:
dscontrol server add cluster_address:80:10.0.0.1
而非
dscontrol server add cluster_address:80:9.67.131.18
如果您將使用 Site Selector,以便提供資料流量資訊給 Dispatcher,則您必須 配置 Site Selector,來報告專用位址上的資料流量資訊。
使用專用網路配置,只適用於 Configuration 元件。
使用萬用字元叢集來結合伺服器配置,只適用於 Dispatcher 元件。
『 wilcard』 會參照叢集的能力, 來配合多重 IP 位址 (意即,作用為萬用字元)。 叢集位址 0.0.0.0 係用來指定萬用字元叢集。
如果您有許多叢集位址需要平衡負載,而且對您所有的叢集而言, 埠/伺服器配置都是相同的,您就可以將所有的叢集合併成萬用字元叢集配置。
您仍必須在 Dispatcher 工作站的其中一個網路卡上,明確地配置每一個叢集位址。 但是,您不應使用 dscontrol cluster add 指令,將任何叢集位址新增至 Dispatcher 配置。
請只新增萬用字元叢集 (位址 0.0.0.0),並且依需要來配置埠及伺服器來平衡負載。任何傳送至任何配接卡配置位址的資料傳輸, 都會用萬用字元叢集配置來加以平衡負載。
這個方法的優點,就是在決定要傳送到哪一個最佳伺服器時, 傳送至所有叢集位址的資料傳輸都會被列入考量。 如果有一個叢集的資料傳輸量很大,而且該叢集已經在其中一台伺服器上建立了許多作用中連線, 將會用此資訊來平衡傳送至其它叢集位址的資料傳輸。
如果您有一些叢集位址具有唯一的埠/伺服器配置, 而另一些叢集位址具有一般的配置,您可以將萬用字元叢集與實際叢集合併在一起。 每一個唯一的配置都必須被指派至實際的叢集位址。 所有的一般配置都可以被指派至萬用字元叢集。
使用萬用字元叢集來平衡防火牆的資料流量,只適用於 Dispatcher 元件。 叢集位址 0.0.0.0 係用來指定萬用字元叢集。
萬用字元叢集可以用來平衡負載,以將資料傳輸至沒有明確地配置在 Dispatcher 工作站之任何網路卡上的位址。若要執行此作業, Dispatcher 必須至少要可以看到所要平衡負載的所有資料傳輸。 如果資料傳輸的目的地是尚未明確配置在其中一個網路卡上的位址, 除非已將其設定為資料傳輸組的預設路徑, 否則 Dispatcher 工作站將無法看到資料傳輸至該位址。
一旦將 Dispatcher 配置為預設路徑,透過 Dispatcher 機器的任何 TCP 或 UDP 資料傳輸, 都會用萬用字元叢集配置來平衡負載。
其中一種應用程式就是要平衡防火牆的資料流量。 由於防火牆可以處理任何目的位址及任何目的埠的封包, 所以您必須要能夠在不依賴目的位址及埠的情況下平衡負載。
防火牆可用來處理從非安全從屬站到安全伺服器之間的資料傳輸,以及來自安 全伺服器的回應,也可以處理從安全端上的從屬站到非安全端上的伺服器之間 的資料傳輸,以及回應。
您必須設定二台 Dispatcher 機器,一台用來平衡要傳送 到非安全防火牆位址的非安全資料傳輸,另一台則用來平衡要傳送到安全防火 牆位址的安全資料傳輸。 因為這二種 Dispatcher 都必須使用具有不同伺服器位址組的萬用字元叢集及萬用字元埠, 所以這二種 Dispatcher 必須位在二個分開的工作站上。
將萬用字元叢集與 Caching Proxy 搭配使用來進行透通式 Proxy,僅適用於 Dispatcher 元件。叢集位址 0.0.0.0 係用來指定萬用字元叢集。
萬用字元叢集功能,還可讓 Dispatcher 用來啟用與 Dispatcher 位於相同方框之 Caching Proxy 伺服器的透通式 Proxy 伺服器功能。此功能僅限用於 AIX,因為必須要有從 Dispatcher 元件到作業系統的 TCP 元件之間的通信。
若要啟用此特性,您必須在埠 80 上啟動從屬站要求的 Caching Proxy 接收。然後,您就可以配置萬用字元叢集 (0.0.0.0)。請在萬用字元叢集中配置埠 80。 在埠 80 中,將 Dispatcher 機器的 NFA 配置成唯一的伺服器。 現在,傳輸到埠 80 上任何位址的任何從屬站資料傳輸,都將被傳遞到在 Dispatcher 工作站上執行的 Caching Proxy 伺服器。 然後將會照例 proxy 從屬站要求,並將回應從 Caching Proxy 傳送至從屬站。在此模式下,Dispatcher 元件不會執行任何平衡負載。
萬用字元埠可以用來處理任何非明確配置之埠的資料傳輸。 它的作用之一就是平衡防火牆的資料流量。 作用之二就是確定可以適當地處理傳送至尚未的之埠的資料傳輸。 若您定義一個沒有伺服器的萬用字元埠, 您要保證傳送至尚未配置之埠的要求都會被捨棄,不會送回作業系統。 埠號 0 (零) 是用來指定萬用字元埠,例如:
dscontrol port add cluster:0
此特性僅限用於 Dispatcher 元件。
Dispatcher 有偵測潛伏的「拒絕服務」攻擊及透過警示通報管理者的能力。Dispatcher 分析伺服器上顯著數量之半開啟 TCP 連線的進入要求來完成此功能,而此項分析就是簡式拒絕服務攻擊的一般特性。在拒絕服務攻擊中,站台自大量的來源 IP 位址及來源埠號,接收大量虛構的 SYN 封包,但站台接收不到那些 TCP 連線的後續封包。這導致伺服器上有大量的半開 TCP 連線,經過一段時間伺服器會變得很慢,且不接受新進入的連線。
Load Balancer 提供使用者呼叫,以觸發為警示管理者有可能拒絕服務攻擊所自行設定的 script。
Dispatcher 在 ...ibm/edge/lb/servers/samples 目錄中,提供下列的範例 Script 檔:
為了要執行檔案,您必須將它們移至 ...ibm/edge/lb/servers/bin 目錄,並移除 .sample 副檔名。
為了實作 DoS 攻擊偵測,在 dscontrol port 指令上設定的 maxhalfopen 參數如下:
dscontrol port set 127.40.56.1:80 maxhalfopen 1000
在上例中,Dispatcher 會將目前半開連線的總數 (常駐於叢集 127.40.56.1 埠 80 上的所有伺服器) 與臨界值 1000 (由 maxhalfopen 參數所指定) 相比。如果目前的半開連線超過臨界值,則會呼叫警示 script (halfOpenAlert)。當半開連線的數目低於臨界值,則會呼叫另一個指示攻擊結束的警示 script (halfOpenAlertDone)。
若要決定如何設定 maxhalfopen 值:在您的站台流量正常或流量大時,定期地 (或許為每 10 分鐘 ) 執行半開連線報告 ( dscontrol port halfopenaddressreport cluster:port )。半開連線報告將傳回目前的「已接收半開連線總數」。 您應將 maxhalfopen 設定為比您站台上最大數目的半開連線數還要大 50% 到 200% 的值。
除了報告的統計資料之外,halfopenaddressreport 也會針對所有已存取導致半開連線之伺服器的從屬站位址 (高達約 8000 個位址配對),在日誌 (..ibm/edge/lb/servers/logs/dispatcher/halfOpen.log) 中產生項目。
若要提供對後端伺服器拒絕服務攻擊的其他保護,您可配置萬用字元叢集及埠。特別是在每一個配置的叢集新增沒有伺服器的萬用字元埠。同時新增具有萬用字元埠但沒有伺服器的萬用字元叢集。這將會捨棄未定址於非萬用字元叢集及埠的所有封包。如需萬用字元叢集及萬用字元埠的相關資訊,請參閱使用萬用字元叢集來結合伺服器配置及使用萬用字元埠來引導未配置埠的資料傳輸。
然後就可處理這些檔案,以分析一段時間後所收集的伺服器資訊。
下列資訊是儲存在配置中所定義之每個伺服器的二進位日誌中。
此資訊部份是當成管理程式週期的一部份,而從執行器中擷取出來。因此,必須執行管理程式,才能將資訊記載到二進位日誌中。
使用 dscontrol binlog 指令集來配置二進位記載。
start 選項會開始將伺服器資訊記載到 logs 目錄的二進位日誌中。在每個小時開始時,都會將日期及時間當成檔案名稱,來建立一個日誌。
stop 選項會停此將伺服器資訊記載到二進位日誌中。預設會停止日誌服務程式。
set interval 選項控制將資訊寫入日誌中的頻率。管理程式會在每個管理程式間隔時,將伺服器資訊傳送給日誌伺服器。只有在自上一筆記錄寫到日誌檔後又過了所指定的日誌間隔秒數時,才會再將資訊寫入日誌中。日誌間隔預設是設定成 60 秒。在管理程式間隔及日誌間隔之間會有部份的互動。 因為將資訊提供給日誌伺服器的速度不會快於管理程式間隔秒數,所以將日誌間隔設定小於管理程式間隔可有效率地將它設成與管理程式間隔相同。此記載技術可讓您攫取任何時間的伺服器資訊。您可攫取管理程式所看到的所有伺服器資訊變更,以計算伺服器加權。但是,此資訊量可能不需用來分析伺服器使用量及趨勢。每隔 60 秒記載一次伺服器資訊,可提供您一段時間後的伺服器資訊 Snapshot。將日誌間隔設成極小,會產生大量的資料。
設定保留選項可接管要將日誌檔保留多久。 如果日誌檔的日期超過所指定的保留時數,日誌伺服器就會將其刪除。 只有在日誌伺服器被管理程式呼叫時,才會發生這種情形, 所以如果關閉了管理程式,將不會刪除舊的日誌檔。
狀態選項會將日誌服務程式的現行設定傳回。 這些設定有:是否已啟動服務程式、間隔為何,以及保留多少小時。
在 ...ibm/edge/lb/servers/samples/BinaryLog 目錄下,已提供有範例 Java 程式及指令檔。 這個範例顯示如何從日誌檔擷取所有的資訊,並將它列印在螢幕上。 您可以自行設定,以您指定的類型來分析這些資料。 以下是使用針對配送器提供的 script 及程式的範例:
dslogreport 2001/05/01 8:00 2001/05/01 17:00
可取得 2001 年 5 月 1 日從 8:00 AM 到 5:00 PM,Dispatcher 元件的伺服器資訊報告。 (若是 CBR,請使用 cbrlogreport。)
本章包括下列各節:
Cisco CSS Controller 或 Nortel Alteon Controller 可常駐在與平衡負載要求之伺服器相同的機器上。 這通常被稱為並列伺服器。不需要其它的配置步驟。
Cisco CSS Controller 及 Nortel Alteon Controller 現在可以使用高可用性特性。
為了改進控制器容錯,高可用性功能含有這些特性:
如需 xxxcontrol highavailability 的完整語法,請參閱ccocontrol highavailability -- 控制高可用性及nalcontrol highavailability -- 控制高可用性。
若要配置控制器的高可用性:
xxxcontrol highavailability add address 10.10.10.10 partneraddress 10.10.10.20 port 143 role primary
xxxcontrol highavailability add address 10.10.10.20 partneraddress 10.10.10.10 port 143 role secondary
address 及 partneraddress 參數在主要及次要機器是相反的。
xxxcontrol highavailability set beatinterval 1000
xxxcontrol highavailability usereach 10.20.20.20
在本端及友機控制器上必須配置數目相同的連繫目標。
xxxcontrol highavailability start auto
xxxcontrol highavailability report
xxxcontrol highavailability takeover
僅在維護時才需要。
註:
除了透過通訊檢查訊息,來偵測是否失去現行及備用控制器之間的連通性之外, 可連繫性是另一個故障偵測機制。
當配置控制器的高可用性時,您可以提供主電腦清單,每一個控制器必須連繫這些主電腦, 才能運作正常。您的控制器機器使用的每一個子網路必須至少有一個主電腦。 這些主電腦可以是路由器、IP 伺服器或其他主電腦類型。
主電腦可連繫性是由 ping 到主電腦的連繫通告器來取得的。 如果通訊檢查訊息無法通過,或如果備用控制器比作用中控制器更能夠符合可連繫性的基準, 便會發生切換動作。 要依據所有可用的資訊來做出這個決定,作用中控制器會規律地傳送可連繫性功能給備用控制器,反之亦然。 然後,控制器會比較它們的可連繫性資訊與它們的友機資訊,並決定誰應該是作用中。
兩個控制器機器的角色會配置成主要及次要。啟動時,控制器會交換資訊, 直到每一部機器都完成同步化為止。此時,主要控制器將移到作用中狀態, 並且開始計算加權值及更新交換器,次要控制器則移到備用狀態, 並監督主要控制器的可用性。
在任何時候,如果備用機器偵測到作用中機器發生故障, 則備用機器將接管作用中 (故障) 機器的平衡負載功能,進而變成作用中機器。當主要機器再次可以運作時,兩部機器將根據復原策略的配置方法, 來決定哪一個控制器將是作用中。
有兩種復原策略:
一旦主要控制器再次可以運作,它將移到作用中狀態,同時計算並更新加權值。在主要機器成為作用中後,次要機器將移到備用狀態。
即使主要控制器是可以運作,作用中的次要控制器仍會留在作用中狀態。
主要控制器將移到備用狀態,並需要人工介入,才能移到作用中狀態。
這兩台機器所設定的策略參數必須相同。
如需 Cisco CSS Controller 高可用性配置範例,請參閱範例。
如需 Nortel Alteon Controller 高可用性配置範例,請參閱範例。
Load Balancer 的控制器功能將依據下列設定,進行平衡負載:
您可以變更這些設定,使您的網路的平衡負載最佳化。
控制器可以在它的加權決策中使用下列部份或所有的測量單位收集器:
預設測量單位是 activeconn 及 connrate。
您可以變更測量單位值的相對重要性比例。 將比例視為百分比;相對比例的和必須等於 100%。在預設的狀況下, 將使用作用中連線及新連線測量單位,且它們的比例將設為 50/50。在您的環境中, 您可能需要嘗試不同的測量單位比例組合,以發現提供最佳效能的組合。
若要設定比例值:
加權值係依據應用程式回應時間及可用性、來自通告器的反饋信息以及來自系統監督程式 (例如 Metric Server) 的反饋信息所設定的。如果您想要以手動方式設定加權值,請對伺服器指定 fixedweight 選項。 如需 fixedweight 選項的說明,請參閱控制器固定加權值。
加權值將引用至所有提供服務的伺服器。對任何特定服務而言,將依據它們彼此的相對加權值, 在伺服器之間分送要求。例如,如果有一個伺服器設定為加權 10,而另一個為 5,則設定為 10 的伺服器取得的要求數目應該是設定為 5 的伺服器的兩倍。
如果通告器發現伺服器已關閉,伺服器的加權值將設成 -1。 若是 Cisco CSS Controller 及 Nortel Alteon Controller,將通知交換器,伺服器無法使用, 而且交換器停止指定連線給伺服器。
若沒有控制器,通告器將無法執行且無法偵測伺服器是否已關閉。如果您選擇執行通告器, 但不要控制器去更新您為特定伺服器設定的加權值, 則在 ccocontrol service 指令 (若是 Cisco CSS Controller) 上, 或在 nalcontrol server 指令 (若是 Nortel Alteon Controller) 上使用 fixedweight 選項。
使用 fixedweight 指令,將加權值設成您想要的值。 當控制器執行時,伺服器加權值會保持固定,直到您發出另一個 fixedweight 設定為 no 的指令。
若要使整體效能最佳化,您可以限制多久收集測量單位一次。
顧問休眠時間指定顧問多久更新伺服器加權值一次。 如果顧問休眠時間太低,表示效能不佳,這是因為顧問常常岔斷交換器所致。 如果顧問休眠時間太高,表示交換器的平衡負載不是依據精確、最新的資訊而定。
例如,若要將顧問休眠時間設成 1 秒:
xxxcontrol consultant set consultantID sleeptime interval
您還可使用其它的方法,最佳化您伺服器的平衡負載。為了保持高速運作,只有在加權發生了重大變更時,才會更新伺服器的加權。 當伺服器狀態僅有些許變更或沒有變更時, 持續地更新加權,將會產生不必要的額外執行時間。 當所有提供服務的伺服器總加權值的百分比加權值在變更後大於感應臨界值時, 將更新 Load Balancer 用來分送連線的加權值。例如, 假設總加權從 100 變更為 105。變更是 5%。如果預設的感應臨界值是 5, 將不會更新 Load Balancer 所使用的加權值,因為百分比變更小於臨界值。不過, 如果總加權值從 100 變更為 106,將更新加權值。 若要將顧問的感應臨界值設定為預設值以外的值,請輸入下列指令:
xxxcontrol consultant set consultantID sensitivity percentageChange
多數情況下,您可以不必更改此值。
通告器是 Load Balancer 內部的代理程式。其目的是要評估伺服器機器的狀況及負載。 它們會嘗試性地讓類從屬站與伺服器交換,以完成評估。 將通告器視為應用程式伺服器的輕裝備從屬站。
通告器會定期開啟與每一個伺服器的 TCP 連線,並且將要求訊息傳送至伺服器。 訊息的內容會特別針對在伺服器上執行的通訊協定。 例如,HTTP 通告器將 HTTP 『HEAD』 要求傳送至伺服器。
通告器會傾聽來自伺服器的回應。在取得回應之後,通告器就會建立伺服器的指示。 為了要計算這個負載值,大部份的通告器都會測量伺服器回應的時間, 然後使用這個值 (以毫秒計) 來作為負載。
之後,通告器便會將負載值報告給顧問功能, 在這裡它將出現在顧問報告中。然後,顧問會從其所有的來源,根據分配比例,計算集成加權值, 並且將這些加權值傳送到交換器。 交換器會使用這些加權值,為新進入的從屬站連線平衡負載。
如果通告器判定伺服器運作正常,就會報告一個非零值的正負載數給顧問。 如果通告器判定伺服器並沒有在運作,就會傳回一個特殊的負載值 -1, 通知交換器,伺服器已關閉。 接著,交換器將不會再轉遞任何進一步的連線給伺服器,直到伺服器再次啟動為止。
通告器休眠時間會設定通告器隔多久將向它所監督的埠上的伺服器要求狀態資訊, 然後向顧問報告結果。如果通告器休眠時間太低,表示效能不佳,這是因為通告器常常岔斷伺服器所致。 如果通告器休眠時間太高,表示顧問的加權決策不是依據精確、最新的資訊而定。
例如,若要將 HTTP 通告器的間隔設成 3 秒時,請鍵入下列指令:
xxxcontrol metriccollector set consultantID:HTTP sleeptime 3
您可以設定通告器偵測伺服器或服務上的特定埠是否發生故障所花費的時間量。 故障伺服器逾時值 (connecttimeout 及 receivetimeout) 會判定報告連接或接收失敗之前,通告器的等待時間。
若要取得最快的故障伺服器偵測,請將通告器連接及接收逾時值設定為最小值 (1 秒鐘),並將通告器及顧問休眠時間設定為最小值 (1 秒鐘)。
若要將 HTTP 通告器的 timeoutconnect 設成 9 秒,請鍵入下列指令:
xxxcontrol metriccollector set consultantID:HTTP timeoutconnect 9
預設的連接及接收逾時是指定給通告器休眠時間之值的 3 倍。
通告器有能力在將伺服器標示為當機之前重試連線。通告器在伺服器查詢失敗重試次數加上 1 之前,不會將伺服器標示為當機。如果沒有設定重試值,則預設值為 0。
若為 Cisco CSS 控制器,則以 ccocontrol ownercontent set 指令設定重試值。進一步資訊,請參照ccocontrol ownercontent -- 控制擁有者名稱及內容規則。
若為 Nortel Alteon 控制器,則以 nalcontrol service set 指令設定重試值。進一步資訊,請參閱nalcontrol service -- 配置服務。
自行設定 (可自訂的) 通告器是一小段 Java 程式碼, 您可以提供它作為類別檔,並透過基本程式碼來呼叫它。基本程式碼提供所有管理服務,如:
它也會將結果報告給顧問。基本程式碼會定期地執行通告器循環,在此循環中, 它會個別評估其配置中的所有伺服器。您可以開啟與伺服器機器的連線,以將它啟動。 如果開啟了 socket,基本程式碼就會在自行設定通告器中呼叫 getLoad 方法 (函數)。 然後,自行設定通告器就會執行必需的步驟,來評估伺服器的狀況。一般而言, 它會將使用者定義的訊息傳送至伺服器,然後等待回應。(對 socket 的存取權限會提供給自行設定通告器。) 然後, 基本程式碼會關閉與伺服器之間的 socket,並且將負載資訊報告給顧問。
基本程式碼及自行設定通告器的操作模式有一般及置換二種。 而操作模式的選擇則是在自行設定通告器檔案中,用建構元方法及參數來指定。
在一般的模式中,自行設定通告器會與伺服器交換資料, 而基本通告器程式碼會指定交換的時間,並計算資料流量值。 然後,基本程式碼會將這個負載值報告給顧問。 自行設定通告器只需要傳回一個 0 (成功時) 或 -1 (發生錯誤時)。 若要指定一般模式,建構元中的置換旗號要設定為 false。
在置換模式中,基本程式碼不會執行任何時間測量工作。 自行設定通告器程式碼會執行其特殊需求所必要的任何作業,然後傳回實際的資料流量號碼。 基本程式碼將會接受此號碼,並且將它報告給顧問。 為獲得最佳結果,請將介於 10 及 1000 之間的資料流量號碼正常化, 10 代表快速伺服器,而 1000 代表慢速伺服器。 若要指定置換模式,建構元中的置換旗號要設定為 true。
有了此特性,您可以撰寫您自己的通告器,提供您所需的伺服器的相關精確資訊。 有一個範例自行設定通告器 ADV_ctlrsample.java 提供給控制器。 安裝 Load Balancer 之後,您可在 ...ibm/edge/lb/servers/samples/CustomAdvisors 安裝目錄中尋找範例程式碼。
預設的安裝目錄為:
您的自行設定通告器檔名必須使用 myadvisor.java 的格式。必須用大寫的前置符號 ADV_ 來作為開頭。所有後續的字元都必須是小寫字母。
根據 Java 慣例,定義於檔案中的類別名稱必須符合檔案的名稱。 如果您要複製範例碼,請務必將檔案中所有的 ADV_ctrlsample 實例變更為您的新類別名稱。
自行設定通告器是用 Java 語言來撰寫的。您必須取得並安裝適用於您的機器的 Java 1.3 編譯器。在編譯期間,會參照下列檔案:
您的 classpath 在編譯期間必須同時指向自行設定通告器及基礎類別檔。
Windows 2000 上的編譯指令如下:
javac -classpath <install_dir>\lb\servers\lib\ibmnd.jar ADV_pam.java
其中:
編譯的輸出結果是一個類別檔案;例如:
ADV_pam.class
啟動通告器之前,將類別檔複製到 ...ibm/edge/lb/servers/lib/CustomAdvisors 安裝目錄。
在 AIX、Linux 及 Sun 的語法類似。
欲執行自行設定通告器,您必須先將類別檔複製到正確的安裝目錄:
...ibm/edge/lb/servers/lib/CustomAdvisors/ADV_pam.class
啟動顧問,然後發出這個指令來啟動您的自行設定通告器:
其中:
和所有的通告器一樣,自行設定通告器會擴充通告器基礎 (稱為 ADV_Base) 的功能。 通告器基礎實際執行大部份通告器功能 (例如,將負載回報顧問, 以供顧問的加權值演算法使用)。 通告器基礎也會執行 socket 連線及關閉作業,並提供傳送和接收方法供通告器使用。 通告器本身僅可用來將資料傳送到和接收自所通告的伺服器上的埠。 通告器基礎內的 TCP 方法會適時計算資料流量。必要時, ADV_base 中建構元內的旗號,會以通告器傳回的新資料流量,來覆寫現存的資料流量。
以下是基礎類別方法:
控制器首先會查看提供的本機通告器清單;如果它們在那裡找不到給定的通告器, 它們將查看自行設定通告器清單。
/opt/ibm/edge/lb/servers/lib/CustomAdvisors/
C:\Program Files\IBM\edge\lb\servers\lib\CustomAdvisors
對控制器範例通告器所列的程式,是包含在範例通告器中。 安裝之後,可在 ...ibm/edge/lb/servers/samples/CustomAdvisors 目錄中找到此範例通告器。
Metric Server 以系統特定測量單位表格,提供 Load Balancer 有關伺服器的載入資訊,並報告於伺服器的狀況上。Load Balancer 顧問查詢常駐於每一個伺服器上的 Metric Server 代理程式,並使用收集自代理程式的測量單位來為平衡負載程序指定加權值。結果也會置於 Cisco CSS Controller 的服務報告或 Nortel Alteon Controller 的伺服器報告中。
在平衡負載的所有伺服器上都必須安裝並執行 Metric Server 代理程式。
以下為配置控制器的 Metric Server 的步驟。
若是 Nortel Alteon Controller,請新增交換器顧問,再新增服務。
其中 metricName 是測量單位伺服器 script 的名稱。
系統測量單位 script 常駐在後端伺服器, 並在配置中指定的 ownercontent 或服務下的每一個伺服器上執行。 提供兩個 script:cpuload 及 memload,或您可以建立自行設定系統測量單位 script。script 含有必須傳回數值的指令。 此數值代表載入測量,而非可用性值。
限制: 在 Windows 2000 上,如果您的系統測量單位 script 名稱的副檔名不是 .exe, 則您必須指定檔案的完整名稱,例如,mySystemScript.bat。 這是 Java 限制。
您可以選用性地撰寫自行設定的測量單位 script 檔,定義 Metric Server 將在伺服器機器上發出的指令。請確定任何自行設定的 script 是可執行檔,且位於 ...ibm/edge/lb/ms/script 目錄中。自行設定 script必須傳回以數字表示的載入值。
若要讓 Metric Server 在本端主電腦以外的位址上執行,請編輯平衡負載伺服器機器上的 metricserver 檔案。 在 metricserver 檔中的 java 後,插入下列內容:
-Djava.rmi.server.hostname=OTHER_ADDRESS
此外,在 metricserver 檔案中的 "if" 陳述式之前,新增這一行:hostname OTHER_ADDRESS。
若是 Windows 2000:請指定 Microsoft 堆疊上 OTHER_ADDRESS 的別名。 若要指定 Microsoft 堆疊上位址的別名,請參閱第 *** 頁。
WLM 是在 MVS 主電腦上執行的程式碼。您可以查詢此程式碼, 以詢問 MVS 機器上的資料流量。
當「MVS 工作量管理」在您的 OS/390 系統上配置好了之後, 控制器即可從 WLM 接收容量資訊,並且在平衡負載處理中使用此資訊。 若使用 WLM 通告器,控制器會根據控制器主電腦表, 定期透過每一個伺服器上的 WLM 埠來開啟連線,並接收所傳回的容量整數。 由於這些整數是代表仍可使用的容量數, 而顧問期望值代表每一台機器上的負載, 所以通告器會將容量整數轉化,並將其正常化為負載值 (例如, 大的容量整數,小的負載值,都代表情況較良好的伺服器)。 WLM 通告器及其它控制器通告器之間,有幾項重要的差異:
然後就可處理這些檔案,以分析一段時間後所收集的伺服器資訊。
下列資訊是儲存在配置中所定義之每個伺服器的二進位日誌中。
顧問必須正在執行,才能將資訊記載在二進位日誌中。
使用 xxxcontrol consultant binarylog 指令集, 配置二進位記載。
start 選項會開始將伺服器資訊記載到 logs 目錄的二進位日誌中。在每個小時開始時,都會將日期及時間當成檔案名稱,來建立一個日誌。
stop 選項會停此將伺服器資訊記載到二進位日誌中。預設會停止日誌服務程式。
set interval 選項控制將資訊寫入日誌中的頻率。顧問會在每個顧問間隔時,將伺服器資訊傳送給日誌伺服器。只有在自上一筆記錄寫到日誌檔後又過了所指定的日誌間隔秒數時,才會再將資訊寫入日誌中。日誌間隔預設是設定成 60 秒。
在顧問間隔及日誌間隔的設定之間會有部份的互動。 因為將資訊提供給日誌伺服器的速度不會比顧問間隔秒數更快,所以將日誌間隔設定小於顧問間隔,實際上會將它設成與顧問間隔相同。
此記載技術可讓您攫取任何時間的伺服器資訊。您可攫取顧問所看到的所有伺服器資訊變更,以計算伺服器加權值; 不過,可能不需要這個資訊數量,就能分析伺服器用量及趨勢。每隔 60 秒記載一次伺服器資訊,可提供您一段時間後的伺服器資訊 Snapshot。將日誌間隔設成極小,會產生大量的資料。
設定保留選項可接管要將日誌檔保留多久。 如果日誌檔的日期超過所指定的保留時數,日誌伺服器就會將其刪除。 僅在顧問呼叫日誌伺服器時,才會發生這種情況,所以如果您停止顧問, 將不會刪除舊的日誌檔。
在 ...ibm/edge/lb/servers/samples/BinaryLog 目錄下,已提供有範例 Java 程式及指令檔。這個範例顯示如何從日誌檔擷取所有的資訊,並將它列印在螢幕上。 您可以自行設定,以您指定的類型來分析這些資料。
以下是使用提供的 script 及程式的範例:
xxxlogreport 2002/05/01 8:00 2002/05/01 17:00
這將產生控制器的伺服器資訊的報告,時間從 2002 年 5 月 1 日的 8:00 AM 到 5:00 PM。
Load Balancer 提供使用者呼叫,觸發您可自行設定的 script。 您可建立執行自動化動作的 script,例如,當伺服器標示為關閉,或單純記錄失敗事件時, 對「管理者」發出警示。您可自行設定的範例 script,位於 ...ibm/edge/lb/servers/samples 安裝目錄中。 若要執行檔案,請將它們複製到 ...ibm/edge/lb/servers/bin 目錄,然後根據 script 中所包含的指示來更名每一個檔案。
下列是提供的範例 script,其中 xxx 是 cco 代表 Cisco CSS Controller, 而 nal 代表 Nortel Alteon Controller:
本篇提供 Load Balancer 管理及疑難排解的相關資訊。 它含有下列各章:
本章將說明如何操作及管理 Load Balancer,其中包括下列各節:
Load Balancer 提供兩種不同的方式,用以在不同於 Load Balancer 所常駐的其它機器上執行其配置程式。 配置程式 (dscontrol、cbrcontrol、sscontrol、ccocontrol、nalcontrol) 與伺服器 (dsserver、cbrserver 等) 之間的通信可以使用下列方法之一來執行:
使用 RMI 進行遠端管理的優點在於其效能比 Web 型管理來得快速。
使用 Web 型管理的優點則是它具備安全性、經過鑑別、能進行遠端管理,而且即使有防火牆仍可與 Load Balancer 機器通信。 此外,此種管理方法不需要在遠端從屬站機器 (與 Load Balancer 機器通信者) 上,安裝及使用鑑定金鑰 (lbkeys)。
對 RMI 而言,用來連結 Load Balancer 機器以進行遠端管理的指令是 dscontrol host:remote_host。
如果提出 RMI 呼叫的機器不是本端機器,必須先經過公開金鑰/私密金鑰鑑定程序, 才能接受配置指令。
如果控制程式是在與元件伺服器相同的機器上執行,則不會鑑定控制程式之間的通信。
請使用下列指令來產生要用在遠端鑑定的公開及私密金鑰:
此指令只可於 Load Balancer 所在的相同機器上執行。
可針對各個 Load Balancer 元件,使用 create 選項在伺服器金鑰目錄 (...ibm/edge/lb/servers/key/) 下建立私密金鑰,並在管理金鑰目錄 (...ibm/edge/lb/admin/keys/) 下建立公開金鑰。 公開金鑰的檔名是:component-ServerAddress-RMIport。 這些公開金鑰必須接著傳輸到遠端從屬站,並且放置在管理金鑰目錄中。
對於主電腦名稱位址為 10.0.0.25 且對各元件使用預設 RMI 埠的 Load Balancer 機器而言, lbkeys create 指令會產生下列檔案:
管理檔案集已安裝在另一個機器上。 公開金鑰檔案須位於遠端從屬站機器的 ...ibm/edge/lb/admin/keys 目錄下。
遠端從屬站現在將會被授權,以在 10.0.0.25 上配置 Load Balancer。
在所有您要授權以在 10.0.0.25 上配置 Load Balancer 的遠端從屬站上,都必須使用這個相同的金鑰。
如果您再執行一次 lbkeys create 指令,將會產生一組新的公開/私密金鑰。 這表示所有嘗試使用舊金鑰來連線的遠端從屬站,都將無法被授權。 新的金鑰必須放置在您要重新授權之從屬站的正確目錄中。
lbkeys delete 指令會刪除伺服器機器上的私密及公開金鑰。 如果刪除了這些金鑰,則不會授權任何遠端從屬站來連接伺服器。
對 lbkeys create 及 lbkeys delete 而言,兩者皆有 force 選項。 force 選項可抑制指令提示,使系統不會詢問您是否要覆寫或刪除現有金鑰。
一旦建立了 RMI 連線後,您即可透過指令提示,用 dscontrol、cbrcontrol、sscontrol、ccocontrol、 nalcontrol、dswizard、cbrwizard 及 sswizard 指令,來與配置程式通信。 您也可藉由在指令提示鍵入 lbadmin,透過 GUI 來配置 Load Balancer。
若要使用 Web 型管理,執行遠端管理的從屬站機器將需要下列項目:
若要執行遠端 Web 型管理,您所存取的主電腦機器須具有下列項目:
系統若是 Unix 型作業系統 --
Protect /lb-admin/lbwebaccess PROT-ADMIN Exec /lb-admin/lbwebaccess /opt/ibm/edge/lb/admin/lbwebaccess.pl Pass /lb-admin/help/* /opt/ibm/edge/lb/admin/help/* Pass /lb-admin/*.jar /opt/ibm/edge/lb/admin/lib/*.jar Pass /lb-admin/* /opt/ibm/edge/lb/admin/* Pass /documentation/lang/* /opt/ibm/edge/lb/documentation/lang/*
若是 Windows 2000:--
Protect /lb-admin/lbwebaccess PROT-ADMIN Exec /lb-admin/lbwebaccess C:\PROGRA~1\IBM\edge\lb\admin\lbwebaccess.pl Pass /lb-admin/help/* C:\PROGRA~1\IBM\edge\lb\admin\help\* Pass /lb-admin/*.jar C:\PROGRA~1\IBM\edge\lb\admin\lib\*.jar Pass /lb-admin/* C:\PROGRA~1\IBM\edge\lb\admin\* Pass /documentation/lang/* C:\PROGRA~1\IBM\edge\lb\documentation\lang\*其中 lang 是您的語言子目錄 (例如,en_US)
為了能夠執行 Web 型管理,它必須在 Load Balancer 主電腦機器上啟動: 從主電腦機器的指令提示發出 lbwebaccess。
您還需要您在遠端所存取之主電腦機器的使用者 ID 及密碼。 此使用者 ID 及密碼相同於 Caching Proxy 管理的使用者 ID 及密碼。
若要起始 Load Balancer 的 Web 型管理,請用您的 Web 瀏覽器從遠端位置存取下列 URL:
http://host_name/lb-admin/lbadmin.html
其中的 host_name 是您正在存取 (以便與 Load Balancer 通信) 之機器的名稱。
一旦載入 Web 頁面後,Load Balancer GUI 將出現在瀏覽器視窗中,供您執行遠端 Web 型管理。
透過 Load Balancer GUI,您還可發出配置控制指令。 若要從 GUI 發出指令:
有了遠端 Web 型管理,如果有多位管理者要從其它位置來更新 Load Balancer 配置,您將須重新整理其配置,以檢視 (例如) 其它管理者所新增 (或刪除) 的叢集、埠或伺服器。 遠端 Web 型管理 GUI 具有重新整理配置及重新整理所有配置功能。
請透過此 Web 型 GUI,重新整理配置
Load Balancer 會將項目傳遞至伺服器日誌、管理程式日誌、測量監督程式日誌 (記載與 Metric Server 代理程式的通信) 以及您使用的每一個通告器的日誌。
您可以設定記載層次, 來定義寫入日誌中的訊息涵蓋範圍。在層次 0,除了記載錯誤外,Load Balancer 也會記錄僅發生一次之事件 (例如,關於通告器開始被寫入管理程式日誌中的訊息) 的表頭及記錄。 層次 1 包含進行中的資訊等等,層次 5 則包含必要時用來協助問題除錯而產生的訊息。 管理程式、通告器、伺服器或子代理程式的預設值是 1。
您也可以設定日誌的最大大小。當您設定日誌檔的最大大小時,檔案將折返; 當檔案達到指定的大小時,後續的項目將寫在檔案頂端,而蓋掉先前的日誌項目。 您不能將日誌大小設定為小於目前日誌的值。日誌項目有時間戳記, 您可以得知寫入的先後次序。
您設定的記載層次愈高,就應該更小心地選擇日誌大小。在層次 0,將日誌大小保留為預設值 1MB 可能仍相當安全;不過,當記載在層次 3 以上時,您應該限制大小,但不要設得太小,而無法使用。
在預設的狀況下,Load Balancer所產生的日誌會儲存在Load Balancer安裝作業的日誌目錄中。要變更此路徑,請設定 dsserver script 中的 lb_logdir 變數。
AIX、Linux 及 Solaris:dsserver script 放在 /usr/bin 目錄下。 在此 script 中,變數 lb_logdir 是設定為預設目錄。 您可以修改此變數,以指定您的日誌目錄。範例:
LB_LOGDIR=/path/to/my/logs/
Windows 2000:dsserver 檔位於 Windows 2000 的系統目錄中,通常是 C:\WINNT\SYSTEM32。 在 dsserver 檔中,變數 lb_logdir 是設定為預設目錄。 您可以修改此變數,以指定您的日誌目錄。範例:
set LB_LOGDIR=c:\path\to\my\logs\
無論您使用任何作業系統,請確定等號前後都沒有空格, 而且路徑是以斜線結束 ("/" 或 "\" 視所用的作業系統而定)。
Load Balancer 的二進位記載功能所使用的日誌目錄與其它日誌檔相同。請參閱使用二進位記載功能來分析伺服器統計值。
您可以設定記載層次, 來定義寫入日誌中的訊息涵蓋範圍。在層次 0,除了記載錯誤外,Load Balancer 也會記錄僅發生一次之事件 (例如,關於通告器開始被寫入顧問日誌中的訊息) 的表頭及記錄。 層次 1 包含進行中的資訊等等,層次 5 則包含必要時用來協助問題除錯而產生的訊息。 日誌的預設值是 1。
您也可以設定日誌的最大大小。當您設定日誌檔的最大大小時,檔案將折返; 當檔案達到指定的大小時,後續的項目將寫在檔案頂端,而蓋掉先前的日誌項目。 您不能將日誌大小設定為小於目前日誌的值。日誌項目有時間戳記, 您可以得知寫入的先後次序。
您設定的記載層次愈高,就應該更小心地選擇日誌大小。在層次 0,將日誌大小保留為預設值 1MB 可能仍相當安全;不過,當記載在層次 3 以上時,您應該限制大小,但不要設得太小,而無法使用。
Cisco CSS Controller 及 Nortel Alteon Controller 具有如下的日誌:
下列範例說明如何配置測量單位監督程式日誌 (記載與 Metric Server 代理程式的通信) 的記載層次及最大日誌大小:
xxxcontrol metriccollector set consultantID:serviceID:metricName loglevel x logsize y
在預設的狀況下,控制器所產生的日誌會儲存在控制器安裝作業的日誌目錄中。 若要變更這個路徑,請在 xxxserver script 中設定 xxx_logdir 變數。
AIX、Linux 及 Solaris:xxxserver script 位於 /usr/bin 目錄中。在此 script 中,變數 xxx_logdir 設為預設目錄。 您可以修改此變數,以指定您的日誌目錄。範例:
xxx_LOGDIR=/path/to/my/logs/
Windows 2000:xxxserver 檔位於 Windows 2000 的系統目錄中,通常是 C:\WINNT\SYSTEM32。 在 xxxserver 檔中,變數 xxx_logdir 設為預設目錄。 您可以修改此變數,以指定您的日誌目錄。範例:
set xxx_LOGDIR=c:\path\to\my\logs\
無論您使用任何作業系統,請確定等號前後都沒有空格, 而且路徑是以斜線結束 ("/" 或 "\" 視所用的作業系統而定)。
Load Balancer 的二進位記載功能所使用的日誌目錄與其它日誌檔相同。請參閱使用二進位記載功能來分析伺服器統計值。
本節將說明如何使用及管理 Dispatcher 元件。
對 Load Balancer 而言,在閒置逾時所指定的秒數內,若連線沒有任何活動時,即視為逾時。 當超過此秒數而無任何活動時,Load Balancer 會將連線記錄從其報告中移除,而該連線的後續資料傳輸將被捨棄。
例如,您可以在埠層次於 dscontrol port set staletimeout 指令上指定閒置逾時值。
閒置逾時可在執行器、叢集及埠等層次進行設定。 在執行器及叢集層次,預設值是 300 秒,而它會過濾至埠。 在埠層次上,預設值須取決於埠。某些充份定義的埠具有不同的預設閒置逾時值。 例如,telnet 埠 23 的預設值為 259,200 秒。
某些服務程式亦可能具有其本身的閒置逾時值。 例如,LDAP (輕裝備目錄存取通信協定) 擁有名為 idletimeout 的配置參數。 當超過 idletimeout 秒數時,閒置從屬站連線將被迫結束。 idletimeout 亦可能被設成 0,表示連線永遠不會被迫結束。
當 Load Balancer 的閒置逾時值小於服務程式的逾時值時,即可能發生連通性問題。 若是 LDAP 時,Load Balancer 閒置逾時值會預設成 300 秒。 如果連線上經過 300 秒並無任何活動,Load Balancer 將會從它的表格中移除連線記錄。 如果 idletimeout 值大於 300 秒 (或設成 0),從屬站可能仍相信其對伺服器保有連線。 當從屬站傳送封包時,Load Balancer 將捨棄封包。如此會在對伺服器提出要求時,使 LDAP 中斷。 要避免此問題,請將 LDAP 的 idletimeout 設成非零值,且等於或小於 Load Balancer staletimeout 值。
從屬站會在傳送所有封包後,傳送一個 FIN 封包給伺服器, 好讓伺服器知道已完成異動。 當 Dispatcher 接收 FIN 封包後,就會將異動從作用中狀態標示為 FIN 狀態。 一旦異動標示為 FIN,內建在執行器中的垃圾收集器即可清除保留給連線的記憶體。
您可以使用 FIN 逾時及計數,來設定執行器執行垃圾收集的頻率,及執行程度。 執行器會週期性地檢查已配置的連線列示。當處於 FIN 狀態的連線數目大於或等於 FIN 計數時, 執行器就會嘗試釋放用來保存這個連線資訊的記憶體。您可以輸入 dscontrol executor set fincount 指令,來變更 FIN 計數。
只要是處於 FIN 狀態,並且比 FIN 逾時中所指定秒數還舊的任何連線, 垃圾收集器都會將其所使用的記憶體釋放。 您可以輸入 dscontrol executor set fintimeout 指令,來變更 FIN 逾時。
閒置逾時值是指連線停止活動多少秒後,立即移除連線。相關資訊,請參閱使用閒置逾時值。 FIN 計數也會影響移除「逾時」連線的頻率。 如果在您的 Dispatcher 機器上記憶體不多, 您應該設定較低的 FIN 計數。如果您的 Web 站台很忙碌, 您應該設定較高的 FIN 計數。
系統會根據來自執行器的資訊顯示各種圖表,並將這些圖表轉送至管理程式。 (GUI 監督程式功能表選項須執行管理程式功能來配合):
網路管理系統是一種可持續不斷執行的程式,可用來監督、 控制網路以及反映網路狀態。「簡易網路管理通訊協定 (SNMP)」是一種用來與網路中的裝 置進行通信的特定通訊協定,並且是現行網路管理標準。網路裝置通常有 SNMP 代理程式, 以及一或多個子代理程式。SNMP 代理程式會與網路管理站通話,或回應指令行 SNMP 要求。SNMP 子代理程式會擷取及更新資料,並將該資料提供給 SNMP 代理程式,以便傳遞回要求器。
Dispatcher 提供 SNMP 管理資訊庫 (ibmNetDispatcherMIB) 及 SNMP 子代理程式。這樣可讓您使用任何網路管理系統 (例如:Tivoli NetView、Tivoli Distributed Monitoring 或 HP OpenView) 來監督 Dispatcher 的狀況、產量及活動。MIB 資料說明受管理中的 Dispatcher, 並反映目前的 Dispatcher 狀態。 MIB 會安裝在 ..lb/admin/MIB 子目錄下。
網路管理系統使用 SNMP GET 指令來查看其它機器上的 MIB 值。然後, 它可以通知您是否已超出指定的臨界值。您稍後可以藉由修改 Dispatcher 的配置資料來影響 Dispatcher, 以便在 Dispatcher 或 Web 伺服器變成停用之前,預先調整或修正 Dispatcher 問題。
系統通常會對每一個網路管理站提供一個 SNMP 代理程式。 使用者可傳送 GET 指令到 SNMP 代理程式。然後,此 SNMP 代理程式會傳送 GET 指令, 以便從負責 MIB 變數的子代理程式中擷取指定 MIB 變數值。
Dispatcher 提供可更新及擷取 MIB 資料的子代理程式。子代理程式會在 SNMP 代理程式傳送 GET 指令時, 回應適當的 MIB 資料。SNMP 代理程式會將資料傳遞到網路管理站。然後, 網路管理站可以通知您是否已超出指定的臨界值。
Dispatcher SNMP 支援內含了使用「分散式程式介面 (DPI)」功能的 SNMP 子代理程式。 DPI 是 SNMP 代理程式及其子代理程式之間的介面。 Windows 2000 使用 Windows 延伸代理程式作為 SNMP 代理程式及其子代理程式之間的介面。
AIX 所提供的 SNMP 代理程式是採用「 SNMP 多工器通信協定 (SMUX)」,因此也包含可執行程式 dpid2,作為 DPI 與 SMUX 之間的轉換程式。
Linux 具備了使用 SMUX 的 SNMP 代理程式。 大部份的 Linux 版本 (例如 Red Hat) 皆已隨附 UCD SNMP 套裝軟體。 UCD SNMP 版本 4.1 以上者皆具有啟用 SMUX 的代理程式。Load Balancer 則提供 DPID2 for Linux。
若是 SuSE Linux,您必須取得已啟用 SMUX 的 SNMP 代理程式, 因為 SuSE 並不提供此類代理程式。
若是 Solaris,您必須取得已啟用 SMUX 的 SNMP 代理程式, 因為 Solaris 並不提供此類代理程式。Load Balancer 提供 DPID2 for Solaris,存放在 /opt/ibm/edge/lb/servers/samples/SNMP 目錄下。
DPI 代理程式必須以 root 使用者來執行。在您執行 DPID2 常駐程式之前, 請按照下列方式來更新 /etc/snmpd.peers 檔案及 /etc/snmpd.conf 檔案:
若為 AIX 及 Solaris:
"dpid2" 1.3.6.1.4.1.2.3.1.2.2.1.1.2 "dpid_password"
smux 1.3.6.1.4.1.2.3.1.2.2.1.1.2 dpid_password #dpid
若為 Linux:
"dpid2" 1.3.6.1.4.1.2.3.1.2.2.1.1.2 "dpid_password"
smuxpeer .1.3.6.1.4.1.2.3.1.2.2.1.1.2 dpid_password
另外,您還必須將 snmpd.conf 檔案中開頭為下列字樣的各行加上備註:com2sec、group、view 或 access。
若是 SuSE Linux:
為了讓 Load Balancer SNMP 與 SuSE Linux 能夠搭配使用,您必須執行下列步驟:
重新整理 snmpd (如果已執行),使其重新讀取 snmpd.conf 檔案:
refresh -s snmpd
啟動 DPID SMUX 同層級:
dpid2
各常駐程式必須依下列順序啟動:
若要安裝 Solaris SNMP 支援:
/etc/rc3.d/S76snmpdx 更名為 /etc/rc3.d/K76snmpdx
/etc/rc3.d/S77dmi 更名為 /etc/rc3.d/K77dmi
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH: /usr/local/lib:/usr/local/ssl/lib:/usr/lib
export PATH=/usr/local/sbin:/usr/local/bin:$PATH
export SNMPCONFPATH =/etc/snmp
export MIBDIRS=/usr/local/share/snmp/mibs
cp /opt/ibm/edge/lb/servers/samples/SNMP/dpid2 /usr/local/sbin/dpid2
"dpid2" 1.3.6.1.4.1.2.3.1.2.2.1.1.2 "dpid_password"
smuxpeer 1.3.6.1.4.1.2.3.1.2.2.1.1.2 dpid_password
註:
在 http://sunfreeware.com/ 網站,名稱具有副檔名 .gz, 請不要嘗試將其解壓縮 (gunzip/untar)。請改用 pkgadd packageName。
若要安裝 Windows SNMP 支援:
當執行器正在執行時,使用 dscontrol subagent start [communityname] 指令,來定義「Windows OS 延伸」代理程式和 SNMP 代理程式之間所使用的團體名稱。
SNMP 是經由傳送及接收設陷來通信的, 受管理的裝置會傳送「設陷」訊息,以報告例外狀況或重大事件的發生 (例如,已達到臨界值)。
此子代理程式會使用下列設陷:
indHighAvailStatus 設陷會宣佈, 高可用性狀態變數值 (hasState) 已變更。 hasState 可能的值如下:
indSrvrGoneDown 設陷會宣佈, 由「物件識別碼」中的 csID (cluster ID)、 psNum (port number) 和 ssID (server ID) 所指定的伺服器加權已降為零。已將伺服器加權降為零之前最後所知現行的連線數傳送給設陷。 此設陷表示,就 Dispatcher 所能判斷的範圍,指定的伺服器已關閉。
indDOSAttack 設陷會指出 numhalfopen (純由 SYN 封包組成的半開啟連線數) 已超過由「物件識別碼」的 csID (叢集 ID) 和 psNum (埠號) 部份所指定之埠的 maxhhalfopen 臨界值。在該埠上所配置的伺服器數已傳送到此設陷中。 此設陷會指出 Load Balancer 可能正遭逢「拒絕服務攻擊」。
indDOSAttackDone 設陷會指出 numhalfopen (純由 SYN 封包組成的半開啟連線數) 已低於由「物件識別碼」的 csID 和 psNum 部份所指定之埠的 maxhhalfopen 臨界值。 在該埠上所配置的伺服器數已傳送到此設陷中。 當 Load Balancer 判斷可能的「拒絕服務攻擊」已結束時,此設陷會接在 indDOSAttack 設陷之後被傳送。
對於 Unix 型系統,由於 SMUX API 中的限制, 企業識別碼報告 ibmNetDispatcher 子代理程式中的設陷可能是 dpid2 的企業識別碼, 而不是企業識別碼 ibmNetDispatcher 1.3.6.1.4.1.2.6.144。不過,SNMP 管理公用程式將可判斷設陷來源, 因為資料將包含 ibmNetDispatcher MIB 內部的物件識別碼。
dscontrol subagent start 指令可開啟 SNMP 支援。 而 dscontrol subagent stop 指令則可關閉 SNMP 支援。
有關 dscontrol 指令的進一步資訊,請參閱dscontrol subagent -- 配置 SNMP 子代理程式。
Linux 核心已內建了名為 ipchains 的防火牆機能。 當 Load Balancer 與 ipchains 並行執行時,Load Balancer 會先看到封包,其後才是 ipchains。 如此可藉由 ipchains 來強化 Linux Load Balancer 方框,而此方框 (例如) 可以是用來平衡負載防火牆的 Load Balancer 方框。
當 ipchains 或 iptables 被配置成完全受限 (不得有入埠或離埠資料傳輸) 時, Load Balancer 的封包轉送部份會繼續正常運作。
請注意:ipchains 及 iptables 未經平衡負載前,不可用於過濾外來資料傳輸。
有些額外的資料傳輸須針對所有的 Load Balancer 加以允許以便能正常運作。 以下是此種通信的一些範例:
一般而言,適當的 ipchains 策略讓 Load Balancer 方框禁止所有資料傳輸,除非是進出後端伺服器、 友機高可用性 Load Balancer、任何連繫目標或任何配置主電腦的資料傳輸。
當 Linux 核心程式版本 2.4.10.x. 上的 Load Balancer 在執行中時,不建議啟動 iptables。在這個 Linux 核心程式版本上啟動可以導致效能隨著時間退化。
若要撤銷 iptables,請列示模組 (lsmod) 來了解哪一個模組正在使用 ip_tables and ip_conntrack,然後利用發出 rmmod ip_tables 和 rmmod ip_conntrack來移除他們。當重新啟動機器時,會再次新增這些模組,因此,每次重新啟動時,都必須重複這些步驟。
如需支援 Linux 核心程式版本的相關資訊,請參閱Red Hat Linux、SuSE Linux 或 SuSE SLES Linux 的基本需求。
本節將說明如何操作及管理 Load Balancer 的 CBR 元件。
CBR 及 Caching Proxy 可透過 Caching Proxy plugin API 協力處理 HTTP 及 HTTPS (SSL) 要求。 要使 CBR 開始對伺服器進行平衡負載,Caching Proxy 必須在同一機器上執行。 請按CBR 配置範例 中所述方式來設定 CBR 及 Caching Proxy。
啟動 CBR 後,您可以藉下列其中一項方法來加以控制:
CBR 所使用的日誌與在 Dispatcher 中所使用的日誌類似。 進一步資訊,請參閱使用 Load Balancer 日誌。
啟動 Site Selector 後,您可以藉下列其中一項方法來加以控制:
Site Selector 所用的日誌與在 Dispatcher 中所使用的日誌類似。詳細說明,請參閱使用 Load Balancer 日誌。
啟動 Cisco CSS Controller 後,您可以藉下列其中一項方法來加以控制:
Cisco CSS Controller 所用的日誌與在 Dispatcher 中所使用的日誌類似。詳細說明,請參閱使用 Load Balancer 日誌。
啟動 Nortel Alteon Controller 後,您可以藉下列其中一項方法來加以控制:
Nortel Alteon Controller 所用的日誌與在 Dispatcher 中所使用的日誌類似。詳細說明,請參閱使用 Load Balancer 日誌。
Metric Server 會提供伺服器負載資訊給 Load Balancer。 Metric Server 將常駐在進行平衡負載的每一個伺服器上。
變更 Metric Server 啟動 script 中的日誌層次。 您可以指定 0 到 5 的日誌層次範圍,類似於 Load Balancer 日誌中的日誌層次範圍。 如此即會在 ...ms/logs 目錄中產生一代理程式日誌。
本章將協助您偵測及解決與 Load Balancer 有關的問題。
請使用本節所列的資訊,來蒐集 IBM 服務所需的資料。 此資訊可區分為下列主體。
若只有使用 Dispatcher 元件,系統內建有一個問題判定工具,它會自動蒐集作業系統的相關資料, 以及指定元件的配置檔。 若要執行此工具,請從適當的目錄鍵入 lbpd:
若是 Unix 型平台:/opt/ibm/edge/lb/servers/bin/
若是 Windows 2000:C:\Program Files\IBM\edge\lb\servers\bin
此種問題判定工具會將相關資料打包成下列檔案:
若是 AIX、Linux、Solaris 平台:/opt/ibm/edge/lb/lbpmr.tar.Z
若是 Windows 2000:C:\Program Files\IBM\edge\lb\lbpmr.zip
在您電洽 IBM 服務之前,請先備妥下列資訊。
dscontrol file save primary.cfg
這個指令將配置檔放在 ...ibm/edge/lb/servers/configuration/component/ 目錄中。
java -fullversion
在 AIX、Linux 及 Solaris 上:netstat -ni
在 Windows 2000 上:ipconfig /all
所有伺服器及 Load Balancer 皆需要此項目。
在 AIX、Linux 及 Solaris 上:netstat -nr
在 Windows 2000 上:route print
所有伺服器及 Load Balancer 皆需要此項目。
針對高可用性環境下的問題,收集下列必要資訊。
AIX、Linux、Solaris 平台:/opt/ibm/edge/lb/servers/bin
Windows 2000: C:\Program Files\ibm\edge\lb\servers\bin
script 名稱為:
goActive
goStandby
goIdle (若出現)
goInOp (若出現)
另請併入配置檔。請參閱一般資訊 (始終為必要的)。
針對通告器問題,收集下列必要資訊;例如,通告器誤將伺服器標示為當機。
dscontrol advisor loglevel http 80 5
或
dscontrol advisor loglevel advisorName port loglevel
或
dscontrol advisor loglevel advisorName cluster:port loglevel
或
nalcontrol metriccollector set consultantID:serviceID:metricName loglevel value
如此將會建立名為 ADV_advisorName.log 的日誌;例如,ADV_http.log。 此日誌的位置如下:
AIX、Linux、Solaris 平台:/opt/ibm/edge/lb/servers/logs/component
Windows 2000:C:\Program Files\ibm\edge\lb\servers\logs\component
其中 component 是:
dispatcher = Dispatcher
cbr = Content Based Routing
cco = Cisco CSS Controller
nal = Nortel Alteon Controller
ss = Site Selector
針對 Content Based Routing 的問題,收集下列必要資訊。
AIX、Linux、Solaris 平台: /etc/
Windows 2000:C:\Program Files\IBM\edge\cp\etc\en_US\
AIX、Linux、Solaris 平台:/opt/ibm/edge/lb/servers/configurations/cbr
Windows 2000:C:\Program Files\IBM\edge\lb\servers\configurations\cbr
如果您無法找到叢集,可能是兩個 Load Balancer 機器皆未或皆已將叢集另取別名。 若要決定哪個方框擁有叢集:
ping cluster arp -a
在 AIX 上:netstat -ni
在 Linux 及 Solaris 上:ifconfig -a
在 Windows 2000 上:ipconfig /all
如果未自 ping 取得回應,可能兩個機器皆不具有已在其介面另訂別名的叢集 IP 位址;例如 en0、tr0 等。
如果您嘗試了各種方法仍無法解決遞送問題,請發出下列指令以便在網路資料傳輸上執行追蹤:
iptrace -a -s failingClientIPAddress -d clusterIPAddress -b iptrace.trc
執行追蹤,重建問題,然後刪除該程序。
snoop -v clientIPAddress destinationIPAddress > snooptrace.out
您也可以增加不同的日誌層次 (例如,管理程式日誌、通告器日誌等),以及調查其輸出。
若要識別已修正過的問題,請查看升級版:
ftp://ftp.software.ibm.com/ps/products/networkdispatcher/servicereleases
如需升級 Load Balancer 的 Java 版本,請參閱 (JVER) 網頁。
如需支援、「技術註解」(提示及秘訣) 及書庫網頁的網站資訊,請參閱參考資訊。
請參閱下列各項:
問題 | 可能導致 | 跳至... |
---|---|---|
Dispatcher 未正確執行 | 衝突的埠號 | 檢查 Dispatcher 埠號 |
配置了並置伺服器,但它不會回應平衡負載要求 | 錯誤或衝突的位址 | 問題:Dispatcher 及伺服器沒有回應 |
未服務來自從屬站機器的連線,或連線逾時 |
| 問題:未平衡 Dispatcher 要求 |
從屬站機器未被伺服或已逾時 | 高可用性不運作 | 問題:Dispatcher 高可用性並未運作 |
無法新增通訊檢查訊息 (Windows 2000) | 配接卡上未配置來源位址 | 問題:無法新增通訊檢查訊息 (Windows 2000) |
伺服器未服務要求 (Window) | 已在路由表中建立了一個額外的路由 | 問題:額外路由 (Windows 2000) |
通告器未能以廣域正確地運作 | 通告器未在遠端機器上執行 | 問題:通告器未正確地運作 |
Dispatcher、Microsoft IIS 及 SSL 沒有運作,或將不會繼續 | 無法透過通訊協定來傳送加密資料。 | 問題:Dispatcher、Microsoft IIS 及 SSL 並未運作 (Windows 2000) |
遠端機器連線遭拒絕 | 舊版本的金鑰仍在使用中 | 問題:Dispatcher 與遠端機器的連線 |
dscontrol 或 lbadmin 指令失敗,並出現「伺服器未回應」或「無法存取 RMI 伺服器」訊息 |
| 問題:dscontrol 或 lbadmin 指令失敗 |
將 Netscape 當成預設瀏覽器執行,以檢視線上說明 (Windows 2000) 時,出現 『找不到檔案..." 錯誤訊息 | HTML 檔案關聯的設定不正確 | 問題:嘗試檢視線上說明時出現「找不到檔案...」之錯誤訊息 (Windows 2000) |
在 Solaris 2.7 平台上啟動 dsserver 時,出現「stty: : 無此種裝置或位址」錯誤訊息 | 請勿理會此錯誤訊息。這並不是一個問題。dsserver 仍會正確執行 | 問題:在 Solaris 2.7 上啟動 dsserver 時出現疑似錯誤訊息 |
圖形式使用者介面未正確啟動 | 分頁空間不足 | 問題:圖形式使用者介面 (GUI) 未正確啟動 |
若已安裝 Caching Proxy 則執行 Dispatcher 時發生錯誤 | Caching Proxy 檔案相依關係 | 問題:若已安裝 Caching Proxy 則執行 Dispatcher 時發生錯誤 |
圖形式使用者介面未正確顯示。 | 解析度不正確。 | 問題:圖形式使用者介面 (GUI) 未正確顯示 |
說明畫面有時會隱身在其它視窗之下 | Java 限制 | 問題:在 Windows 2000 上,說明視窗有時會隱身在其它已開啟視窗的後面 |
Load Balancer 無法處理及轉送框架 | 每一個 NIC 需要唯一的 MAC 位址 | 問題:Load Balancer 無法處理及轉送框架 |
出現藍色螢幕 | 未安裝及配置網路卡 | 問題:啟動 Load Balancer 執行器時出現藍色螢幕 |
「偵測」路徑會阻礙傳回資料傳輸 | 叢集已在迴圈上建立別名 | 問題:偵測路徑會阻礙傳回 Load Balancer 資料傳輸 |
通告器顯示所有伺服器皆已當機 | 未正確計算 TCP 總和檢查 | 問題:通告器顯示所有伺服器皆已當機 |
Load Balancer 的「廣域」模式下之高可用性無法運作。 | 遠端 Dispatcher 須定義為本端 Dispatcher上某一叢集中的伺服器 | 問題:Load Balancer 的廣域模式下之高可用性無法運作 |
嘗試載入大型配置檔時 GUI 停止動作 (或出現異常行為)。 | Java 無法存取足夠的記憶體,以處理如此大量的 GUI 變更 | 問題:嘗試載入大型配置檔時 GUI 停止動作 (或出現異常行為) |
在 Windows 上:偶爾出現藍色螢幕或 Load Balancer 通告器誤報 "-1" 的負載 | 使用 3Com 985B GB 乙太網路配接卡 | 問題:在 Windows 上,出現藍色螢幕或通告器錯誤地報告 -1 的負載 |
在 Solaris 各國家語言版本上,GUI 的「是」及「否」按鈕有可能呈現為英文 | 這是個已知問題,Sun Microsystems 正在設法加以處理 | 問題:在 Solaris NLV 上,「是」及「否」等按鈕以英文形式出現 |
更新配置後 Load Balancer administration (lbadmin) 便切斷伺服器的連線 | lbadmin 或 dscontrol 的版本可能與 dsserver 的不同 | 問題:更新配置後 lbadmin 便切斷伺服器的連線 |
IP 位址在遠端連線上並未正確解析 | 使用安全 sock 實作上的遠端從屬站時,完整的網域名稱或主電腦名稱可能不會解析成帶點十進位數的正確 IP 位址 | 問題:IP 位址在遠端連線上並未正確解析 |
韓文 Load Balancer 介面在 AIX 及 Linux 上會顯示重疊或奇怪的字形 | 必須變更預設字型 | 問題:韓文 Load Balancer 介面在 AIX 及 Linux 上顯示重疊或奇怪的字形 |
在 Windows 上,為 MS Loopback 配接卡建立別名後,當發出諸如 hostname 等特定指令時,OS 會以別名位址作出錯誤回應 | 在網路連線清單中,剛新增的別名不得列示於本端位址的上方 | 問題:在 Windows 上,發出 hostname 之類的指令時,傳回的是別名位址而非本端位址 |
使用 Windows 2000 搭配 Matrox AGP 影像卡時 GUI 出現異常行為 | 在執行 Load Balancer GUI 時使用 Matrox AGP 影像卡發生問題 | 問題:在 Windows 2000 上,當使用 Matrox AGP 影像卡時 GUI 出現異常行為 |
在 Linux 執行 "rmmod ibmnd" 時,發生異常行為,如系統當機 | 以手動方式移除 Load Balancer 核心程式模組 (ibmnd) 時發生問題。 | 問題:執行 rmmod ibmnd 時發生異常行為 (Linux) |
在 Dispatcher 機器上執行指令時,回應時間變慢 | 回應時間變慢的原因可能是機器因為大量的從屬站資料傳輸而超載 | 問題:在 Dispatcher 機器上執行指令時,回應時間變慢 |
對於 Dispatcher 的 MAC 轉送方法,SSL 或 HTTPS 通告器不登錄伺服器負載 | 因為未以叢集 IP 位址配置 SSL 伺服器應用程式,所以發生問題 | 問題:SSL 或 HTTPS 通告器未登錄伺服器負載 (使用 mac 轉送時) |
使用 lbwebaccess (Web 管理) 或 lbadmin 載入大型配置時發生問題 | 因為需要增加最大 Java 資料堆,所以可能發生問題 | 問題:難以載入大型配置 (使用 lbadmin,Web 管理) |
透過 Netscape 使用遠端 Web 管理時,與主電腦中斷連線 | 調整瀏覽器視窗的大小時,與主電腦中斷連線 | 問題:使用 Web 管理來調整 Netscape 瀏覽器視窗的大小時,與主電腦中斷連線 |
已啟動 Socket 儲存區且 Web 伺服器連結到 0.0.0.0 | 將 Microsoft IIS 伺服器配置成連結專用的 | 問題:已啟動 Socket 儲存區且 Web 伺服器連結到 0.0.0.0 |
在 Windows 2000 上,毀損的 Latin-1 國家字元會出現在命令提示中 | 命令提示視窗的變更字型內容 | 問題:在 Windows 上,毀損的 Latin-1 國家字元會出現在命令提示中 |
在 Unix 型平台上使用 Netscape 瀏覽器, InfoCenter 中的線上說明文字顯示為小字型 | 編輯 Netscape 瀏覽器的喜好設定來放大字型大小 | 問題:在使用 InfoCenter、Netscape 瀏覽器的 Unix 型平台上,線上說明文字顯示為小字型 |
問題 | 可能導致 | 跳至... |
CBR 未正確執行 | 衝突的埠號 | 檢查 CBR 埠號 |
cbrcontrol 或 lbadmin 指令失敗,並出現「伺服器未回應」或「無法存取 RMI 伺服器」訊息 | 由於 socksified 堆疊,所以指令失敗。 或因並未啟動 cbrserver 以致指令失敗 | 問題:cbrcontrol 或 lbadmin 指令失敗 |
相關要求未經平衡負載 | 啟動執行器之前便已啟動 Caching Proxy | 問題:相關要求未經平衡負載 |
在 Solaris 上,cbrcontrol executor start 指令失敗並傳回「錯誤:執行器並未啟動。」訊息 | 因系統 IPC 預設值可能需要修改以致指令失敗 | 問題:在 Solaris 上,cbrcontrol executor start 指令失敗 |
URL 規則未作用 | 語法或配置錯誤 | 問題:語法或配置錯誤 |
在 Windows 上:偶爾出現藍色螢幕或 Load Balancer 通告器誤報 "-1" 的負載 | 使用 3Com 985B GB 乙太網路配接卡 | 問題:在 Windows 上,出現藍色螢幕或通告器錯誤地報告 -1 的負載 |
在 Solaris 各國家語言版本上,GUI 的「是」及「否」按鈕有可能呈現為英文 | 這是個已知問題,Sun Microsystems 正在設法加以處理 | 問題:在 Solaris NLV 上,「是」及「否」等按鈕以英文形式出現 |
使用 Windows 2000 搭配 Matrox AGP 影像卡時 GUI 出現異常行為 | 執行 Load Balancer GUI 時使用 Matrox AGP 影像卡發生問題 | 問題:在 Windows 2000 上,當使用 Matrox AGP 影像卡時 GUI 出現異常行為 |
使用 lbwebaccess (Web 管理) 或 lbadmin 載入大型配置時發生問題 | 因為需要增加最大 Java 資料堆,所以可能發生問題 | 問題:難以載入大型配置 (使用 lbadmin,Web 管理) |
透過 Netscape 使用遠端 Web 管理時,與主電腦中斷連線 | 調整瀏覽器視窗的大小時,與主電腦中斷連線 | 問題:使用 Web 管理來調整 Netscape 瀏覽器視窗的大小時,與主電腦中斷連線 |
在 Windows 2000 上,毀損的 Latin-1 國家字元會出現在命令提示中 | 命令提示視窗的變更字型內容 | 問題:在 Windows 上,毀損的 Latin-1 國家字元會出現在命令提示中 |
在 Unix 型平台上使用 Netscape 瀏覽器, InfoCenter 中的線上說明文字顯示為小字型 | 編輯 Netscape 瀏覽器的喜好設定來放大字型大小 | 問題:在使用 InfoCenter、Netscape 瀏覽器的 Unix 型平台上,線上說明文字顯示為小字型 |
問題 | 可能導致 | 跳至... |
---|---|---|
Site Selector 未正確執行 | 衝突的埠號 | 檢查 Site Selector 埠號 |
Site Selector 無法環繞來自 Solaris 從屬站的進入要求 | Solaris 系統執行了「名稱服務快取常駐程式」 | 問題:Site Selector 無法環繞來自 Solaris 從屬站的資料傳輸 |
sscontrol 或 lbadmin 指令失敗,並出現「伺服器未回應」或「無法存取 RMI 伺服」訊息 | 由於 socksified 堆疊,所以指令失敗。 或因並未啟動 ssserver 以致指令失敗。 | 問題:sscontrol 或 lbadmin 指令失敗 |
ssserver 無法在 Windows 2000 上啟動 | Windows 並不會要求主電腦名稱須在 DNS 中。 | 問題:ssserver 無法在 Windows 2000 上啟動 |
具有重複路由的機器並未正確地平衡負載 - 名稱解析似乎失敗 | 具有多重配接卡的 Site Selector 機器連接到相同子網路 | 問題:具有重複路由的 Site Selector 並未正確地平衡負載 |
在 Windows 上:偶爾出現藍色螢幕或 Load Balancer 通告器誤報 "-1" 的負載 | 使用 3Com 985B GB 乙太網路配接卡 | 問題:在 Windows 上,出現藍色螢幕或通告器錯誤地報告 -1 的負載 |
在 Solaris 各國家語言版本上,GUI 的「是」及「否」按鈕有可能呈現為英文 | 這是個已知問題,Sun Microsystems 正在設法加以處理 | 問題:在 Solaris NLV 上,「是」及「否」等按鈕以英文形式出現 |
使用 Windows 2000 搭配 Matrox AGP 影像卡時 GUI 出現異常行為 | 執行 Load Balancer GUI 時使用 Matrox AGP 影像卡發生問題 | 問題:在 Windows 2000 上,當使用 Matrox AGP 影像卡時 GUI 出現異常行為 |
使用 lbwebaccess (Web 管理) 或 lbadmin 載入大型配置時發生問題 | 因為需要增加最大 Java 資料堆,所以可能發生問題 | 問題:難以載入大型配置 (使用 lbadmin,Web 管理) |
透過 Netscape 使用遠端 Web 管理時,與主電腦中斷連線 | 調整瀏覽器視窗的大小時,與主電腦中斷連線 | 問題:使用 Web 管理來調整 Netscape 瀏覽器視窗的大小時,與主電腦中斷連線 |
在 Windows 2000 上,毀損的 Latin-1 國家字元會出現在命令提示中 | 命令提示視窗的變更字型內容 | 問題:在 Windows 上,毀損的 Latin-1 國家字元會出現在命令提示中 |
在 Unix 型平台上使用 Netscape 瀏覽器, InfoCenter 中的線上說明文字顯示為小字型 | 編輯 Netscape 瀏覽器的喜好設定來放大字型大小 | 問題:在使用 InfoCenter、Netscape 瀏覽器的 Unix 型平台上,線上說明文字顯示為小字型 |
表 17. Controller for Cisco CSS Switches 疑難排解表
問題 | 可能導致 | 跳至... |
---|---|---|
ccoserver 不啟動 | 衝突的埠號 | 檢查 Cisco CSS Controller 埠號 |
ccocontrol 或 lbadmin 指令失敗,並出現「伺服器未回應」或「無法存取 RMI 伺服器」訊息 | 由於 socksified 堆疊,所以指令失敗。 或因並未啟動 ccoserver 以致指令失敗。 | 問題:ccocontrol 或 lbadmin 指令失敗 |
接收錯誤:無法在埠 13099 上建立登錄 | 產品授權到期 | 問題:無法在埠 13099 上建立登錄 |
在 Solaris 各國家語言版本上,GUI 的「是」及「否」按鈕有可能呈現為英文 | 這是個已知問題,Sun Microsystems 正在設法加以處理 | 問題:在 Solaris NLV 上,「是」及「否」等按鈕以英文形式出現 |
使用 Windows 2000 搭配 Matrox AGP 影像卡時 GUI 出現異常行為 | 執行 Load Balancer GUI 時使用 Matrox AGP 影像卡發生問題 | 問題:在 Windows 2000 上,當使用 Matrox AGP 影像卡時 GUI 出現異常行為 |
新增顧問時收到連線錯誤 | 交換器或控制器上的配置設定不正確 | 問題:新增顧問時收到連線錯誤 |
未更新交換器上的加權值 | 控制器或交換器之間的通信無法使用或遭到岔斷 | 問題:未更新交換器上的加權值 |
Refresh 指令並未更新顧問配置 | 控制器與交換器之間的通信無法使用或遭到岔斷 | 問題:Refresh 指令並未更新顧問配置 |
使用 lbwebaccess (Web 管理) 或 lbadmin 載入大型配置時發生問題 | 因為需要增加最大 Java 資料堆,所以可能發生問題 | 問題:難以載入大型配置 (使用 lbadmin,Web 管理) |
透過 Netscape 使用遠端 Web 管理時,與主電腦中斷連線 | 調整瀏覽器視窗的大小時,與主電腦中斷連線 | 問題:使用 Web 管理來調整 Netscape 瀏覽器視窗的大小時,與主電腦中斷連線 |
在 Windows 2000 上,毀損的 Latin-1 國家字元會出現在命令提示中 | 命令提示視窗的變更字型內容 | 問題:在 Windows 上,毀損的 Latin-1 國家字元會出現在命令提示中 |
在 Unix 型平台上使用 Netscape 瀏覽器, InfoCenter 中的線上說明文字顯示為小字型 | 編輯 Netscape 瀏覽器的喜好設定來放大字型大小 | 問題:在使用 InfoCenter、Netscape 瀏覽器的 Unix 型平台上,線上說明文字顯示為小字型 |
表 18. Nortel Alteon Controller 疑難排解表
問題 | 可能導致 | 跳至... |
---|---|---|
nalserver 不啟動 | 衝突的埠號 | 檢查 Nortel Alteon Controller 埠號 |
nalcontrol 或 lbadmin 指令失敗,並出現「伺服器未回應」或「無法存取 RMI 伺服器」訊息 | 由於 socksified 堆疊,所以指令失敗。 或因並未啟動 nalserver 以致指令失敗。 | 問題:nalcontrol 或 lbadmin 指令失敗 |
接收錯誤:無法在埠 14099 上建立登錄 | 產品授權到期 | 問題:無法在埠 14099 上建立登錄 |
使用 Windows 2000 搭配 Matrox AGP 影像卡時 GUI 出現異常行為 | 執行 Load Balancer GUI 時使用 Matrox AGP 影像卡發生問題 | 問題:在 Windows 2000 上,當使用 Matrox AGP 影像卡時 GUI 出現異常行為 |
使用 lbwebaccess (Web 管理) 或 lbadmin 載入大型配置時發生問題 | 因為需要增加最大 Java 資料堆,所以可能發生問題 | 問題:難以載入大型配置 (使用 lbadmin,Web 管理) |
透過 Netscape 使用遠端 Web 管理時,與主電腦中斷連線 | 調整瀏覽器視窗的大小時,與主電腦中斷連線 | 問題:使用 Web 管理來調整 Netscape 瀏覽器視窗的大小時,與主電腦中斷連線 |
新增顧問時收到連線錯誤 | 交換器或控制器上的配置設定不正確 | 問題:新增顧問時收到連線錯誤 |
未更新交換器上的加權值 | 控制器或交換器之間的通信無法使用或遭到岔斷 | 問題:未更新交換器上的加權值 |
Refresh 指令並未更新顧問配置 | 控制器與交換器之間的通信無法使用或遭到岔斷 | 問題:Refresh 指令並未更新顧問配置 |
在 Windows 2000 上,毀損的 Latin-1 國家字元會出現在命令提示中 | 命令提示視窗的變更字型內容 | 問題:在 Windows 上,毀損的 Latin-1 國家字元會出現在命令提示中 |
在 Unix 型平台上使用 Netscape 瀏覽器, InfoCenter 中的線上說明文字顯示為小字型 | 編輯 Netscape 瀏覽器的喜好設定來放大字型大小 | 問題:在使用 InfoCenter、Netscape 瀏覽器的 Unix 型平台上,線上說明文字顯示為小字型 |
問題 | 可能導致 | 跳至... |
---|---|---|
在 Windows 2000 上執行 .bat 或 .cmd 使用者測量檔時,出現 Metric Server IOException | 需要完整的測量單位名稱 | 問題:Metric Server在 Windows 2000 上執行 .bat 或 .cmd 使用者測量檔時,出現 IOException |
Metric Server 未向 Load Balancer 機器報告負載資訊 | 可能的原因包括:
| 問題:Metric Server 並未向 Load Balancer 機器報告負載 |
當金鑰檔案轉送至伺服器時,Metric Server 日誌報告「需要簽名才能存取代理程式」 | 金鑰檔案已毀損以致授權失敗。 | 問題:Metric Server 日誌報告需要簽名才能存取代理程式 |
在 AIX 上,在多重處理器系統 (4.3.3、32 位元 5.1 或 64 位元 5.1) 的高負荷情況下執行 Metric Server 時,ps -vg 指令輸出可能會毀損。 | APAR IY33804 更正這個已知 AIX 問題 | 問題:在 AIX 上,在高負荷情況下執行 Metric Server 時,ps -vg 指令輸出可能會毀損。 |
如果在執行 Dispatcher 時遇到問題,可能是您的其中一個應用程式正在使用 Dispatcher 一般使用的埠號。請注意,Dispatcher 伺服器將使用下列埠號:
如果另一個應用程式正在使用其中一個 Dispatcher 埠號,您可以變更 Dispatcher 埠號 或 變更應用程式的埠號。
請依下列指示執行來變更 Dispatcher 的埠號:
請依下列指示執行來變更應用程式的 RMI 埠號:
如果執行 CBR 時會出現問題,可能是您的某一應用程式正在使用 CBR 通常使用的埠號。 請注意,CBR 會使用下列埠號:
如果另一個應用程式正在使用 CBR 其中一個埠號,您可以變更 CBR 埠號 或 變更應用程式的埠號。
請依下列指示執行來變更 CBR 的埠號:
請依下列指示執行來變更應用程式的 RMI 埠號:
如果在執行 Site Selector 元件時遇到問題,很可能是您的某一應用程式正在使用該 Site Selector 通常使用的埠號。 請注意,Site Selector 會使用下列埠號:
如果另一個應用程式正在使用其中一個 Site Selector 埠號,您可以變更 Site Selector 埠號 或 變更應用程式的埠號。
請依下列指示執行來變更 Site Selector 的埠號:
請依下列指示執行來變更應用程式的 RMI 埠號:
如果在執行 Cisco CSS Controller 元件時遇到問題,很可能是其它應用程式正在使用 Cisco CSS Controller 之 ccoserver 所用的某一埠號。 請注意,Cisco CSS Controller 會使用下列埠號:
13099,用於接收來自 ccocontrol 的指令
10004,用於傳送測量單位查詢至 Metric Server
13199,用於 RMI 伺服器埠
如果另一個應用程式正在使用其中一個 Cisco CSS Controller 埠號,您可以變更 Cisco CSS Controller 埠號 或 變更應用程式的埠號。
請依下列指示執行來變更 Cisco CSS Controller 的埠號:
請依下列指示執行來變更應用程式的 RMI 埠號:
如果在執行 Nortel Alteon Controller 元件時遇到問題,很可能是其它應用程式正在使用 Nortel Alteon Controller 之 nalserver 所用的某一埠號。 請注意,Nortel Alteon Controller 會使用下列埠號:
14099,用於接收來自 nalcontrol 的指令
10004,用於傳送測量單位查詢至 Metric Server
14199,用於 RMI 伺服器埠
如果另一個應用程式正在使用其中一個 Nortel Alteon Controller 埠號,您可以變更 Nortel Alteon Controller 埠號 或 變更應用程式的埠號。
請依下列指示執行來變更 Nortel Alteon Controller 的埠號:
請依下列指示執行來變更應用程式的 RMI 埠號:
當另一個應用程式正在使用 Dispatcher 所使用的其中一個埠時, 可能會發生這個問題。詳細資訊,請參考檢查 Dispatcher 埠號。
當所指定的位址與正在使用的另一個位址不同時,就會發生這個問題。 在並置 Dispatcher 及伺服器時,請確定在配置中使用的伺服器位址是 NFA 位址,或已配置成並置。
當來自從屬站機器的連線未被伺服或發生逾時之時,將出現這個問題。 請檢查下列資訊, 診斷這個問題:
若是 Windows 及其他平台,另請參閱設定伺服器機器以進行平衡負載。
當配置 Dispatcher 高可用性環境,且來自從屬站的連線未被伺服或已逾時的時候, 即會出現這個問題。請檢查下列,來更正或診斷問題:
配接卡上未配置來源端位址時,就會發生此 Windows 2000 錯誤。 請檢查下列,來更正或診斷問題。
dsconfig tr0 <ip address> netmask <netmask> 或 dscontrol executor configure <ip address>
設定伺服器機器之後,您可能會發現不慎建立了一或多個額外的路徑。 如果您不移除這些額外路徑,則它們會妨礙 Dispatcher 運作。 請參閱設定伺服器機器以進行平衡負載,以取得檢查及刪除它們的資訊。
如果您使用了廣域支援,並且您的通告器似乎未正確地運作, 請確定通告器是在本端及遠端 Dispatcher 上啟動。請參閱使用具有 Dispatcher 廣域支援的遠端通告器。
在使用 Dispatcher、Microsoft IIS 及 SSL 時,如果它們沒有一起運作, 可能會在啟動 SSL 安全性時發生問題。 有關如何產生金鑰組合、取得憑證、安裝具有金鑰組合的憑證、 以及配置目錄以取得 SSL 等作業的進一步資訊,請參閱 Microsoft Information and Peer Web Services Information and Planning Guide,此書是隨 Windows 2000 所附。 以 Web 瀏覽器檢視時,此文件的本端 URL 為: file:///C:/WINNT/system32/inetsrv/iisadmin/htmldocs/inetdocs.htm。
Dispatcher 使用機碼以讓您連接機器,並配置它。 機碼可指定 RMI 埠來連線。基於安全性或衝突的理由,變更 RMI 埠是有可能的。 當您變更 RMI 埠時,機碼的檔案名稱是不同的。 如果同一遠端機器的機碼目錄有一個以上的機碼,而且它們所指定的 RMI 埠皆不同, 指令行就只會嘗試其所找到的第一個機碼。如果機碼不正確,連線就會被拒絕。 除非您刪除不正確的機碼,否則即無法連線。
EXCLUDE-MODULE java EXCLUDE-MODULE javaw
當管理主控台之一在同一機器上作為防火牆或透過防火牆來執行時,這會導致問題發生。 例如,當 Load Balancer 在相同機器上作為防火牆,而您發出 dscontrol 指令時, 您會看到諸如錯誤:伺服器未回應之錯誤。
要避免此問題,請編輯 dsserver script 檔以設定 RMI 對防火牆 (或其他應用程式) 所使用的埠。 將這一行:LB_RMISERVERPORT=10199 變更為 LB_RMISERVERPORT=yourPort。其中 yourPort 是不同埠。
一旦完成後,請重新啟動 dsserver 並開啟埠 10099、10004、10199 及 10100 的資料傳輸, 或針對主電腦位址 (藉以執行管理主控台) 的選定埠開啟資料傳輸。
對 Windows 2000 而言,當使用 Netscape 作為預設瀏覽器時,此問題所導致的錯誤訊息是: 找不到檔案 '<filename>.html' (或其元件之一)。 請確定路徑及檔案名稱正確,且可使用所有需要的程式庫。"
問題是因 HTML 檔案關聯的設定不正確所引起。 解決方案如下:
在 Solaris 2.7 平台上啟動 dsserver 時,會出現下列疑似錯誤訊息:「stty: : 無此種裝置或位址」。 請勿理會此錯誤訊息。dsserver 仍會正確執行。
圖形式使用者介面 (GUI) lbadmin 需有足量的分頁空間才能正確運作。 若無足量的分頁空間,GUI 可能無法完全啟動。 發生此種情形時,請檢查您的分頁空間,並視需要加以調高。
如果您解除安裝 Load Balancer 以便重新安裝其它版本,但在您試圖啟動 Dispatcher 元件時卻出現錯誤, 請檢查 Caching Proxy 是否已安裝。 Caching Proxy 對 Dispatcher 檔案之一具有相依關係;此檔案唯有當 Caching Proxy 解除安裝後才可解除安裝。
要避免此問題:
如果 Load Balancer GUI 的外觀出現問題,請檢查作業系統的桌面解析度設定。 GUI 的最佳檢視解析度是 1024x768 圖點。
當您首次在 Windows 2000 上開啟說明視窗時,它們有時會消失在背景中而隱藏在現有視窗後方。 出現此種情形時,按一下該視窗即可重新將其顯現在最上層。
在 Solaris 上,每一個網路卡在預設的狀況下皆擁有相同的 MAC 位址。 若每一個配接卡是位在不同的 IP 子網路上,一切都可正確運作;不過,在交換式環境下, 當多個具有相同 MAC 與相同 IP 子網路位址的 NIC 與同一交換器進行通信時, 交換器會將單一 MAC (以及兩種 IP) 所連接之所有資料傳輸向下傳送同一線路。 唯有最後在此線路上放置框架的配接卡會看到兩種配接卡的 IP 封包界限。 Solaris 可能會捨棄某一送達「錯誤」介面之有效 IP 位址的封包。
如果所有的網路介面並未如 ibmnd.conf 中所配置而指定給 Load Balancer,且未在 ibmnd.conf 中定義的 NIC 收到一框架時,Load Balancer 便無能力來處理及轉送此框架。
要避免發生這種問題,您必須置換預設值,並為各個介面設定唯一的 MAC 位址。 請使用下列指令:
ifconfig interface ether macAddr
例如:
ifconfig hme0 ether 01:02:03:04:05:06
在 Windows 2000 上,您必須先安裝並配置好網路卡,才可啟動執行器。
AIX 作業系統含有一種稱為路徑 MTU 偵測的網路功能參數。 與從屬站進行異動期間,如果作業系統判斷必須對送出的封包使用較小的最大傳輸單位 (MTU), 路徑 MTU 偵測便會要求 AIX 建立一路由以記下該資料。 此新的路由將用於該特定從屬站 IP,而且會記錄連繫該 IP 時所需的 MTU。
當此路由建立時,於迴圈上建立別名的叢集可能會使伺服器發生問題。 如果路由的閘道位址落於叢集/網路遮罩的子網路中,AIX 會在迴圈上建立此路由。 之所以會如此,是因為它為透過該子網路來建立別名的最後介面。
例如,如果叢集為 9.37.54.69 且使用了網路遮罩 255.255.255.0,而所要的閘道是 9.37.54.1,AIX 便會將迴圈用於路由。 而這會使得伺服器的回應永遠無法離開方框,而從屬站則保持逾時等待。 從屬站多半會看到一個來自叢集的回應,然後便產生路由而從屬站即不再收到任何東西。
此問題有兩種解決方法。
註:
Windows 2000 有一項新的特性稱作「作業卸載」,它可讓配接卡 (而非作業系統) 來計算 TCP 總和檢查。 如此便能提升系統的效能。若已啟用「作業卸載」,Load Balancer 通告器會在伺服器未當機的情況下,報告其已當機。
此問題是因為並未針對來自叢集位址的封包 (通告器資料傳輸者),正確計算 TCP 總和檢查。
要避免此問題發生,請跳至配接卡設定,並停用「作業卸載」。
此問題最早是出現在 Adaptec 的 ANA62044 四埠配接卡上。 此款配接卡將該特性稱為「傳輸總和檢查」卸載。 請停用「傳輸總和檢查」卸載以避免發生問題。
設定廣域 Load Balancer 時,您必須將遠端 Dispatcher 定義為本端 Dispatcher 上某一叢集中的伺服器。 一般而言,您會使用遠端 Dispatcher 的非轉送位址 (NFA) 作為遠端伺服器的目的地位址。 如果您作了此動作,然後又在遠端 Dispatcher 上設定了高可用性,它將會失敗。 這是因為當您使用遠端之 NFA 來加以存取時,本端 Dispatcher 會固定指向遠端上的主要 Dispatcher。
要克服此問題,請:
當遠端主要 Dispatcher 開機時,它會在其配接卡上為此位址建立別名,使其可接受資料傳輸。 如果發生故障,此位址會移到備份機器,由備份機器繼續接受該位址的資料傳輸。
嘗試載入大型配置檔 (約含 200 個以上的 add 指令) 時,GUI 可能會停止動作或出現異常行為,例如以極慢的速率來回應螢幕變更。
這是因為 Java 無法存取足夠的記憶體,以便處理如此大的配置。
在執行環境中有一個選項,可以增加 Java 所能使用的記憶體配置儲存區。
選項是 -Xmxn,其中 n 是記憶體配置儲存區的最大大小 (位元組)。n 必須是 1024 的倍數,且須大於 2MB。 n 值之後可接 k 或 K 以表示千位元組 ,或接 m 或 M 以表示百萬位元組。例如,-Xmx128M 及 -Xmx81920k 都是有效的。 預設值是 64M。Solaris 8 具有最大值 4000M。
例如,若要新增這個選項,請編輯 lbadmin script 檔, 將 "javaw" 改成 "javaw -Xmxn",如下所示。(若是 AIX,將 "java" 改成 "java -Xmxn"):
START javaw -Xmx256m -cp %LB_CLASSPATH% %LB_INSTALL_PATH% %LB_CLIENT_KEYS% com.ibm.internet.nd.framework.FWK_Main
java -Xmx256m -cp $LB_CLASSPATH $LB_INSTALL_PATH $LB_CLIENT_KEYS com.ibm.internet.nd.framework.FWK_Main 1>/dev/null 2>&1 &
javaw -Xmx256m -cp $LB_CLASSPATH $LB_INSTALL_PATH $LB_CLIENT_KEYS com.ibm.internet.nd.framework.FWK_Main 1>/dev/null 2>&1 &
javaw -Xmx256m -cp $LB_CLASSPATH $LB_INSTALL_PATH $LB_CLIENT_KEYS com.ibm.internet.nd.framework.FWK_Main 1>/dev/null 2>&1 &
n 並無任何建議值,但應該大於預設選項。 兩倍的預設值是個不錯的起點。
在 Windows 2000 上使用 3Com 985B GB 乙太網路配接卡時,下列問題可能會出現:
要避免此類問題,請使用其它廠牌的 GB 乙太網路配接卡。
在 Solaris 各國家語言版本上,Load Balancer GUI 的「是」及「否」按鈕有可能呈現為英文。 這是個已知問題,Sun Microsystems 正在設法加以處理。
如果 Load Balancer administration (lbadmin) 在您更新配置後便切斷伺服器的連線, 請檢查您嘗試配置之伺服器的 dsserver 版本,並確定它和 lbadmin 或 dscontrol 的版本相同。
透過安全 sock 實作來使用遠端從屬站時,完整的網域名稱或主電腦名稱可能不會解析成帶點十進位數的正確 IP 位址。 因為安全 sock 實作可能會在 DNS 解析作業中,新增特定的 sock 相關資料。
如果 IP 位址在遠端連線上並未正確解析,我們建議您以帶點十進位數表示法格式來指定 IP 位址。
要更正韓文 Load Balancer 介面出現重疊或奇怪字形的情形:
在 AIX 上
-Monotype-TimesNewRomanWT-medium-r-normal --*-%d-75-75-*-*-ksc5601.1987-0
-Monotype-SansMonoWT-medium-r-normal --*-%d-75-75-*-*-ksc5601.1987-0
在 Linux 上
-monotype- timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol
-monotype-sansmonowt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol
在 Windows 上,為 MS Loopback 配接卡建立別名後,當發出諸如 hostname 等特定指令時,OS 會作出錯誤反應以致提供別名位址而非本端位址。 要更正此一問題,網路連線清單中剛新增的別名須位於本端位址的下方。 如此可確保本端位址的存取順序在迴圈別名之前。
若要檢查網路連線清單:
對 Windows 2000 而言,當使用 Matrox AGP 卡時,Load Balancer GUI 有可能出現異常行為。 若是按一下滑鼠,有一塊較滑鼠指標稍大的空間可能會呈毀損狀態, 致使高亮度顯示因而反轉,或影像移出螢幕。 舊版的 Matrox 影像卡不曾出現此行為。對於使用 Matrox AGP 卡者,目前尚無修正方法。
在 Linux,在以手動方式移除 Load Balancer 核心程式模組期間, 如果 dsserver 仍在執行,可能會發生異常行為,如系統當機或 javacores。 以手動方式移除 Load Balancer 核心程式模組時,首先您必須停止 dsserver。 如果 "dsserver stop" 沒有作用,請以 SRV_KNDConfigServer 停止 Java 程序。例如:
ps-ef | grep SRV_KNDConfigServer
在 Java 程序完成後,您可以安全地執行 "rmmod ibmnd" 指令,從核心程式移除 Load Balancer 模組。
如果您將執行 Dispatcher 元件進行平衡負載,則從屬站資料傳輸可能會導致電腦超載。Load Balancer 核心程式模組具有最高優先順序,因此如果它持續處理從屬站封包, 系統的其餘部份可能會沒有回應。在使用者空間執行指令可能要很長時間才能完成, 或不可能完成。
如果發生這種情況,您應該開始重組您的設定,以避免資料傳輸讓 Load Balancer 機器超載。選擇方案包括將負載散佈在數個 Load Balancer 機器上,或將機器換成功能更強及速度更快的電腦。
當嘗試決定機器上回應時間變慢是否起因於高從屬站資料傳輸時, 請考慮在從屬站資料傳輸尖峰時間,是否發生這種情況。 導致遞送迴路的未配置系統也可能引起相同的症狀。 但是在變更 Load Balancer 設定之前,請決定症狀是否可能起因於高從屬站負載。
當使用 mac 型轉送方法時,Load Balancer 將使用已在迴圈上指定別名的叢集位址, 來傳送封包到伺服器。 部份伺服器應用程式 (如 SSL) 需要配置資訊 (如憑證) 依據 IP 位址。 IP 位址必須是迴圈上所配置的叢集位址,才能符合送入的封包的內容。 當配置伺服器應用程式時,如果未使用叢集的 IP 位址,則從屬站要求將無法正確地轉送到伺服器。
當載入大型配置時,如果您遭遇使用 lbadmin 或遠端 Web 管理方面的問題, 您可能需要增加最大 Java 資料堆大小。在預設的狀況下,Java 將限制虛擬機器資料堆為 64 MB。 當用來管理非常大的配置時,部份 Load Balancer 配置程式 (lbadmin、lbwebaccess) 可能需要超過這個 64 MB 限制的數量。 為了能夠解決這個問題,最大 Java 資料堆大小可以增加到大於 64 MB 的值。 若要增加最大資料堆大小,請使用 "-Xmx" Java 選項。例如, 在 lbadmin script 中,將 "javaw" 改成 "javaw -Xmx256m",以便能夠將最大 Java 資料堆大小變更為 256 MB。如果您遭遇使用 Web 管理方面的問題,請按照所述來修改 lbwebaccess script。
如果您正在使用遠端 Web 管理來配置 Load Balancer, 請不要調整 Load Balancer GUI 出現所在的 Netscape 瀏覽器視窗的大小 (縮至最小、放至最大、 往下還原等)。因為每次調整瀏覽器視窗的大小,Netscape 就會重新載入頁面, 所以調整大小將導致與主電腦中斷連線。每次您調整視窗的大小,將需要重新連接主電腦。 如果您將在 Windows 平台上執行遠端 Web 管理,請使用 Internet Explorer。
在 Windows 2000 後端伺服器上,執行 Microsoft IIS 伺服器版本 5 時, 您必須將 Microsoft IIS 伺服器配置成連結專用的。 不然,將依預設,啟動 socket 儲存區,而且 Web 伺服器會連結到 0.0.0.0 並監聽所有資料傳輸, 而不是連結到已配置成站台的多個身份的虛擬 IP 位址。當啟動 socket 儲存區時, 如果本端主電腦上的應用程式停止執行,則 AIX 或 Windows ND 伺服器都會偵測到這種情況;不過,當本端主電腦仍啟動時, 如果虛擬主電腦上的應用程式停止執行,通告器將偵測不到故障, 而且 Microsoft IIS 會繼續回應所有資料傳輸,包括已停止執行的應用程式的資料傳輸。
若要判定是否啟動了 socket 儲存區及 Web 伺服器是否連結到 0.0.0.0,請發出下列指令:
netstat -an
如何將 Microsoft IIS 伺服器配置成連結專用的 (停用 socket 儲存區) 指示位於「微軟產品技術支援服務」網站。您也可以造訪這些 URL,以取得此資訊:
在 Windows 2000 作業系統的命令提示視窗中,有些 Latin-1 系列的國家字元可能會出現毀損。例如,含鼻音符號的字母 "a" 可能顯示為圓周率符號。若要修正這個問題,您必須變更命令提示視窗的字型內容。若要變更字型,請執行下列步驟:
在 Unix 型平台上使用 Netscape 瀏覽器, InfoCenter 中的線上說明文字顯示為小字型。 編輯 Netscape 瀏覽器的喜好設定來放大字型大小。
當另一個應用程式正在使用 CBR 所用的其中一個埠時,可能會發生這個問題。詳細資訊,請參考檢查 CBR 埠號。
EXCLUDE-MODULE java EXCLUDE-MODULE javaw
當管理主控台之一在同一機器上作為防火牆或透過防火牆來執行時,這會導致問題發生。 例如,當 Load Balancer 在相同機器上作為防火牆,而您發出 cbrcontrol 指令時, 您會看到諸如錯誤:伺服器未回應之錯誤。
要避免此問題,請編輯 cbrserver script 檔以設定 RMI 對防火牆 (或其他應用程式) 所使用的埠。 將這一行:LB_RMISERVERPORT=11199 變更為 LB_RMISERVERPORT=yourPort。其中 yourPort 是不同埠。
一旦完成後,請重新啟動 cbrserver 並開啟埠 11009、10004、11199 及 11100 的資料傳輸, 或針對主電腦位址 (藉以執行管理主控台) 的選定埠開啟資料傳輸。
Caching Proxy 及 CBR 皆已啟動,但相關要求並未進行平衡負載。 如果在啟動執行器之前先啟動了 Caching Proxy,便會發生此種錯誤。 發生此情形時,Caching Proxy 的 stderr 日誌將含有下列錯誤訊息:「ndServerInit:無法連接執行器」。 要避免此問題發生,請先啟動執行器後再啟動 Caching Proxy。
在 Solaris 上,cbrcontrol executor start 指令傳回:「錯誤:執行器並未啟動」。 如果您並未針對系統來配置 IPC (跨處理通信),使共用記憶體區段及號誌 ID 的最大大小大於作業系統的預設值,便會發生此種錯誤。 要增加共用記憶體區段及號誌 ID 的大小,您必須編輯 /etc/system 檔案。 如需如何配置此檔案的詳細資訊,請參閱第 *** 頁。
如果 URL 規則並未運作,即可能是語法或配置錯誤所致。若是此問題,請檢查下列項目:
在 Windows 2000 上使用 3Com 985B GB 乙太網路配接卡時,下列問題可能會出現:
要避免此類問題,請使用其它廠牌的 GB 乙太網路配接卡。
在 Solaris 各國家語言版本上,Load Balancer GUI 的「是」及「否」按鈕有可能呈現為英文。 這是個已知問題,Sun Microsystems 正在設法加以處理。
對 Windows 2000 而言,當使用 Matrox AGP 卡時,Load Balancer GUI 有可能出現異常行為。 若是按一下滑鼠,有一塊較滑鼠指標稍大的空間可能會呈毀損狀態, 致使高亮度顯示因而反轉,或影像移出螢幕。 舊版的 Matrox 影像卡不曾出現此行為。對於使用 Matrox AGP 卡者,目前尚無修正方法。
當載入大型配置時,如果您遭遇使用 lbadmin 或遠端 Web 管理方面的問題, 您可能需要增加最大 Java 資料堆大小。在預設的狀況下,Java 將限制虛擬機器資料堆為 64 MB。 當用來管理非常大的配置時,部份 Load Balancer 配置程式 (lbadmin、lbwebaccess) 可能需要超過這個 64 MB 限制的數量。 為了能夠解決這個問題,最大 Java 資料堆大小可以增加到大於 64 MB 的值。 若要增加最大資料堆大小,請使用 "-Xmx" Java 選項。例如, 在 lbadmin script 中,將 "javaw" 改成 "javaw -Xmx256m",以便能夠將最大 Java 資料堆大小變更為 256 MB。如果您遭遇使用 Web 管理方面的問題,請按照所述來修改 lbwebaccess script。
如果您正在使用遠端 Web 管理來配置 Load Balancer, 請不要調整 Load Balancer GUI 出現所在的 Netscape 瀏覽器視窗的大小 (縮至最小、放至最大、 往下還原等)。因為每次調整瀏覽器視窗的大小,Netscape 就會重新載入頁面, 所以調整大小將導致與主電腦中斷連線。每次您調整視窗的大小,將需要重新連接主電腦。 如果您將在 Windows 平台上執行遠端 Web 管理,請使用 Internet Explorer。
在 Windows 2000 作業系統的命令提示視窗中,有些 Latin-1 系列的國家字元可能會出現毀損。例如,含鼻音符號的字母 "a" 可能顯示為圓周率符號。若要修正這個問題,您必須變更命令提示視窗的字型內容。若要變更字型,請執行下列步驟:
在 Unix 型平台上使用 Netscape 瀏覽器,InfoCenter 中的線上說明文字顯示為小字型。 編輯 Netscape 瀏覽器的喜好設定來放大字型大小。
當另一個應用程式正在使用 Site Selector 所用的其中一個埠時,可能會發生這個問題。詳細資訊,請參考檢查 Site Selector 埠號。
症狀:Site Selector 元件無法環繞來自 Solaris 從屬站的進入要求。
可能原因:Solaris 系統執行了名稱服務快取常駐程式。 如果此常駐程式正在執行,後續的解析要求皆會由此快取給予回答,而非查詢 Site Selector。
解決方法:關閉 Solaris 機器上的名稱服務快取常駐程式。
EXCLUDE-MODULE java EXCLUDE-MODULE javaw
當管理主控台之一在同一機器上作為防火牆或透過防火牆來執行時,這會導致問題發生。 例如,當 Load Balancer 在相同機器上作為防火牆,而您發出 sscontrol 指令時, 您會看到諸如錯誤:伺服器未回應之錯誤。
要避免此問題,請編輯 ssserver script 檔以設定 RMI 對防火牆 (或其他應用程式) 所使用的埠。 將這一行:LB_RMISERVERPORT=10199 變更為 LB_RMISERVERPORT=yourPort。其中 yourPort 是不同埠。
一旦完成後,請重新啟動 ssserver 並開啟埠 12099、10004、12199 及 12100 的資料傳輸, 或針對主電腦位址 (藉以執行管理主控台) 的選定埠開啟資料傳輸。
Site Selector 必須能參與 DNS。所有與配置有關的機器皆應該是此系統的一員。 Windows 並不會一直要求所配置的主電腦名稱須在 DNS 中。 Site Selector 則要求其主電腦名稱須在 DNS 中定義以便能正確啟動。
請驗證此主電腦確已在 DNS 中定義。編輯 ssserver.cmd 檔並移除 javaw 中的 w。 這應該提供關於錯誤的詳細資訊。
Site Selector 的名稱伺服器並未連結到機器上的任何位址。 它將回應送往機器上任何有效 IP 的要求。 Site Selector 會依賴作業系統將回應遞送回從屬站。 如果 Site Selector 機器具有多重配接卡,而其中有任何數量的配接卡是連接到相同的子網路, O/S 即有可能把回應傳給與接收回應不同位址的從屬站。 但有些從屬站應用程式並不接受收發位址不同的回應。因此,名稱解析便會失敗。
在 Windows 2000 上使用 3Com 985B GB 乙太網路配接卡時,下列問題可能會出現:
要避免此類問題,請使用其它廠牌的 GB 乙太網路配接卡。
在 Solaris 各國家語言版本上,Load Balancer GUI 的「是」及「否」按鈕有可能呈現為英文。 這是個已知問題,Sun Microsystems 正在設法加以處理。
對 Windows 2000 而言,當使用 Matrox AGP 卡時,Load Balancer GUI 有可能出現異常行為。 若是按一下滑鼠,有一塊較滑鼠指標稍大的空間可能會呈毀損狀態, 致使高亮度顯示因而反轉,或影像移出螢幕。 舊版的 Matrox 影像卡不曾出現此行為。對於使用 Matrox AGP 卡者,目前尚無修正方法。
當載入大型配置時,如果您遭遇使用 lbadmin 或遠端 Web 管理方面的問題, 您可能需要增加最大 Java 資料堆大小。在預設的狀況下,Java 將限制虛擬機器資料堆為 64 MB。 當用來管理非常大的配置時,部份 Load Balancer 配置程式 (lbadmin、lbwebaccess) 可能需要超過這個 64 MB 限制的數量。 為了能夠解決這個問題,最大 Java 資料堆大小可以增加到大於 64 MB 的值。 若要增加最大資料堆大小,請使用 "-Xmx" Java 選項。例如, 在 lbadmin script 中,將 "javaw" 改成 "javaw -Xmx256m",以便能夠將最大 Java 資料堆大小變更為 256 MB。如果您遭遇使用 Web 管理方面的問題,請按照所述來修改 lbwebaccess script。
如果您正在使用遠端 Web 管理來配置 Load Balancer, 請不要調整 Load Balancer GUI 出現所在的 Netscape 瀏覽器視窗的大小 (縮至最小、放至最大、 往下還原等)。因為每次調整瀏覽器視窗的大小,Netscape 就會重新載入頁面, 所以調整大小將導致與主電腦中斷連線。每次您調整視窗的大小,將需要重新連接主電腦。 如果您將在 Windows 平台上執行遠端 Web 管理,請使用 Internet Explorer。
在 Windows 2000 作業系統的命令提示視窗中,有些 Latin-1 系列的國家字元可能會出現毀損。例如,含鼻音符號的字母 "a" 可能顯示為圓周率符號。若要修正這個問題,您必須變更命令提示視窗的字型內容。若要變更字型,請執行下列步驟:
在 Unix 型平台上使用 Netscape 瀏覽器,InfoCenter 中的線上說明文字顯示為小字型。 編輯 Netscape 瀏覽器的喜好設定來放大字型大小。
當另一個應用程式正在使用 Cisco CSS Controller 的 ccoserver 所用的其中一個埠時,即可能發生此問題。 進一步資訊,請參閱檢查 Cisco CSS Controller 埠號。
EXCLUDE-MODULE java EXCLUDE-MODULE javaw
當管理主控台之一在同一機器上作為防火牆或透過防火牆來執行時,這會導致問題發生。 例如,當 Load Balancer 在相同機器上作為防火牆,而您發出 ccocontrol 指令時, 您會看到諸如錯誤:伺服器未回應之錯誤。
要避免此問題,請編輯 ccoserver script 檔以設定 RMI 對防火牆 (或其他應用程式) 所使用的埠。 將這一行:CCO_RMISERVERPORT=14199 變更為 CCO_RMISERVERPORT=yourPort。其中 yourPort 是不同埠。
一旦完成後,請重新啟動 ccoserver 並開啟埠 13099、10004、13199 及 13100 的資料傳輸, 或針對主電腦位址 (藉以執行管理主控台) 的選定埠開啟資料傳輸。
缺少有效的產品授權時便可能會發生此問題。當您試圖啟動 ccoserver 時,會收到下列訊息:
您的軟體授權已到期。 請連絡當地的 IBM 業務代表,或 IBM 授權的經銷商。
若要更正此問題:
在 Solaris 各國家語言版本上,Load Balancer GUI 的「是」及「否」按鈕有可能呈現為英文。 這是個已知問題,Sun Microsystems 正在設法加以處理。
對 Windows 2000 而言,當使用 Matrox AGP 卡時,Load Balancer GUI 有可能出現異常行為。 若是按一下滑鼠,有一塊較滑鼠指標稍大的空間可能會呈毀損狀態, 致使高亮度顯示因而反轉,或影像移出螢幕。 舊版的 Matrox 影像卡不曾出現此行為。對於使用 Matrox AGP 卡者,目前尚無修正方法。
當新增顧問時,您可能遭遇連線錯誤,因為配置設定不正確。 若要修正這個問題:
若要修正這個問題
增加顧問 loglevel,然後重試指令。如果再次失敗, 請搜尋日誌找出 SNMP 逾時,或其他 SNMP 通信錯誤。
當載入大型配置時,如果您遭遇使用 lbadmin 或遠端 Web 管理方面的問題, 您可能需要增加最大 Java 資料堆大小。在預設的狀況下,Java 將限制虛擬機器資料堆為 64 MB。 當用來管理非常大的配置時,部份 Load Balancer 配置程式 (lbadmin、lbwebaccess) 可能需要超過這個 64 MB 限制的數量。 為了能夠解決這個問題,最大 Java 資料堆大小可以增加到大於 64 MB 的值。 若要增加最大資料堆大小,請使用 "-Xmx" Java 選項。例如, 在 lbadmin script 中,將 "javaw" 改成 "javaw -Xmx256m",以便能夠將最大 Java 資料堆大小變更為 256 MB。如果您遭遇使用 Web 管理方面的問題,請按照所述來修改 lbwebaccess script。
如果您正在使用遠端 Web 管理來配置 Load Balancer, 請不要調整 Load Balancer GUI 出現所在的 Netscape 瀏覽器視窗的大小 (縮至最小、放至最大、 往下還原等)。因為每次調整瀏覽器視窗的大小,Netscape 就會重新載入頁面, 所以調整大小將導致與主電腦中斷連線。每次您調整視窗的大小,將需要重新連接主電腦。 如果您將在 Windows 平台上執行遠端 Web 管理,請使用 Internet Explorer。
在 Windows 2000 作業系統的命令提示視窗中,有些 Latin-1 系列的國家字元可能會出現毀損。例如,含鼻音符號的字母 "a" 可能顯示為圓周率符號。若要修正這個問題,您必須變更命令提示視窗的字型內容。若要變更字型,請執行下列步驟:
在 Unix 型平台上使用 Netscape 瀏覽器,InfoCenter 中的線上說明文字顯示為小字型。 編輯 Netscape 瀏覽器的喜好設定來放大字型大小。
當另一個應用程式正在使用 Nortel Alteon Controller 的 nalserver 所用的其中一個埠時, 即可能發生此問題。進一步資訊,請參閱檢查 Nortel Alteon Controller 埠號。
EXCLUDE-MODULE java EXCLUDE-MODULE javaw
當管理主控台之一在同一機器上作為防火牆或透過防火牆來執行時,這會導致問題發生。 例如,當 Load Balancer 在相同機器上作為防火牆,而您發出 nalcontrol 指令時, 您會看到諸如錯誤:伺服器未回應之錯誤。
要避免此問題,請編輯 nalserver script 檔以設定 RMI 對防火牆 (或其他應用程式) 所使用的埠。 將這一行:NAL_RMISERVERPORT=14199 變更為 NAL_RMISERVERPORT=yourPort。其中 yourPort 是不同埠。
一旦完成後,請重新啟動 nalserver 並開啟埠 14099、10004、14199 及 14100 的資料傳輸, 或針對主電腦位址 (藉以執行管理主控台) 的選定埠開啟資料傳輸。
缺少有效的產品授權時便可能會發生此問題。當您試圖啟動 nalserver 時,會收到下列訊息:
您的軟體授權已到期。 請連絡當地的 IBM 業務代表,或 IBM 授權的經銷商。
若要更正此問題:
對 Windows 2000 而言,當使用 Matrox AGP 卡時,Load Balancer GUI 有可能出現異常行為。 若是按一下滑鼠,有一塊較滑鼠指標稍大的空間可能會呈毀損狀態, 致使高亮度顯示因而反轉,或影像移出螢幕。 舊版的 Matrox 影像卡不曾出現此行為。對於使用 Matrox AGP 卡者,目前尚無修正方法。
當載入大型配置時,如果您遭遇使用 lbadmin 或遠端 Web 管理方面的問題, 您可能需要增加最大 Java 資料堆大小。在預設的狀況下,Java 將限制虛擬機器資料堆為 64 MB。 當用來管理非常大的配置時,部份 Load Balancer 配置程式 (lbadmin、lbwebaccess) 可能需要超過這個 64 MB 限制的數量。 為了能夠解決這個問題,最大 Java 資料堆大小可以增加到大於 64 MB 的值。 若要增加最大資料堆大小,請使用 "-Xmx" Java 選項。例如, 在 lbadmin script 中,將 "javaw" 改成 "javaw -Xmx256m",以便能夠將最大 Java 資料堆大小變更為 256 MB。如果您遭遇使用 Web 管理方面的問題,請按照所述來修改 lbwebaccess script。
如果您正在使用遠端 Web 管理來配置 Load Balancer, 請不要調整 Load Balancer GUI 出現所在的 Netscape 瀏覽器視窗的大小 (縮至最小、放至最大、 往下還原等)。因為每次調整瀏覽器視窗的大小,Netscape 就會重新載入頁面, 所以調整大小將導致與主電腦中斷連線。每次您調整視窗的大小,將需要重新連接主電腦。 如果您將在 Windows 平台上執行遠端 Web 管理,請使用 Internet Explorer。
當新增顧問時,您可能遭遇連線錯誤,因為配置設定不正確。 若要修正這個問題:
若要修正這個問題
增加顧問 loglevel,然後重試指令。如果再次失敗, 請搜尋日誌找出 SNMP 逾時,或其他 SNMP 通信錯誤。
在 Windows 2000 作業系統的命令提示視窗中,有些 Latin-1 系列的國家字元可能會出現毀損。例如,含鼻音符號的字母 "a" 可能顯示為圓周率符號。若要修正這個問題,您必須變更命令提示視窗的字型內容。若要變更字型,請執行下列步驟:
在 Unix 型平台上使用 Netscape 瀏覽器,InfoCenter 中的線上說明文字顯示為小字型。 編輯 Netscape 瀏覽器的喜好設定來放大字型大小。
對於使用者在 Windows 2000 Metric Servers 上所撰寫的測量單位,您必須使用完整的測量單位名稱。 例如,您必須指定 usermetric.bat 而非 usermetric。 名稱 usermetric 雖在指令行上有效,但從執行環境下執行時將無法運作。 如果並未使用完整的測量單位名稱,您將會收到 Metric Server IOException。 請在 metricserver 指令檔中,將 LOG_LEVEL 變數的值設成 3,然後檢查日誌輸出。 在這個範例中,例外狀況出現為:
... java.io.IOException: CreateProcess: usermetric error=2
Metric Server 未向 Load Balancer 報告負載資訊的原因不一而足。 要判斷其原因,請執行下列檢查:
Metric Server 日誌會在金鑰檔案轉送給伺服器後報告此錯誤訊息。
當金鑰檔案因金鑰配對損毀以致授權失敗時,此錯誤便會記載至日誌中。 要更正此問題,請嘗試下列動作:
在多重處理器 AIX 平台 (4.3.3、32 位元 5.1 或 64 位元 5.1) 的高負荷情況下執行 Metric Server 時,ps -vg 指令輸出可能會毀損。例如:
55742 - A 88:19 42 18014398509449680 6396 32768 22 36 2.8 1.0 java -Xms
ps 指令的 SIZE 和/或 RSS 欄位可能顯示記憶體使用過多的數量。
這是已知的 AIX 核心程式問題。Apar IY33804 會更正這個已知問題。 請自位於 http://techsupport.services.ibm.com/server/fixes 的 AIX 支援取得得修正套件,或聯絡當地 AIX 支援代表。
本篇提供所有 Load Balancer 元件的指令參考資訊。 它含有下列各章:
語法圖將告訴您如何指定一個指令,以便作業系統能夠正確地解譯您所輸入的指令。 閱讀語法圖的順序是由左至右、從上到下,沿著平行線 (主要路徑)。
下列符號將在語法圖中使用:
您必須包括所有標點符號,如在語法圖中所顯示的冒號、問號及負號。
下列類型的參數將在語法圖中使用。
參數分成關鍵字或變數。關鍵字是以小寫字體顯示,並可以用小寫字體輸入它們。 例如,指令名稱即是一個關鍵字。變數是以斜體表示,並代表您提供的名稱或值。
在下列範例中,user 指令是一個關鍵字。必要變數為 user_id, 而選用性變數為 password。請以自己的值取代變數。
>>-user--user_id--+----------+--------------------------------->< '-password-'
必要關鍵字: 必要關鍵字及變數將出現在主要路徑行上。
>>-required_keyword--------------------------------------------><
您必須編寫必要的關鍵字及變數。
從堆疊中選擇一個必要的項目: 如果將選擇的必要關鍵字或變數中, 有多個互斥,它們將按英數順序形成垂直堆疊。
>>-+-required_parameter_1-+------------------------------------>< '-required_parameter_2-'
選用性的值: 選用性的關鍵字及變數會顯示在主要路徑行下。
>>-+--------+-------------------------------------------------->< '-關鍵字-'
您可以選擇不編寫選用性的關鍵字及變數。
從堆疊中選擇一個選用性的項目: 如果將選擇的選用性關鍵字或變數中, 有多個互斥,它們將在主要路徑行下,按英數順序形成垂直堆疊。
>>-+-------------+--------------------------------------------->< +-parameter_1-+ '-parameter_2-'
變數: 以斜體表示的字即是變數。 一旦在語法中看到一個變數,您必須以可容許的名稱或值 (在文字中定義的) 取代它。
>>-variable----------------------------------------------------><
非英數字元: 如果語法圖中顯示了非英數的字元 (如冒號、問號或負號), 則您必須將該字元編寫成語法的一部份。在這個範例中,您必須編寫 cluster:port。
>>-cluster:port------------------------------------------------><
本附錄將說明如何使用 Dispatcher dscontrol 指令。 同時也是 CBR 的指令參照。 CBR 會使用 Dispatcher 指令的子集。 請參閱CBR 及 Dispatcher 的配置差異,以取得進一步資訊。
註:
以下是本附錄中各項指令的清單:
您可以輸入 dscontrol 指令參數的精簡版本。 只需要輸入參數的專用字母即可。例如,要取得存檔指令的說明,您可以鍵入 dscontrol he f 而非 dscontrol help file。
若要啟動指令行介面:請發出 dscontrol 以接收 dscontrol 指令提示。
CBR 指令行介面大部份都是 Dispatcher 指令行介面的子集。 若是 CBR,請改用 cbrcontrol 指令而非 dscontrol,以便配置此元件。
CBR 中所省略的部份指令,列示如下。
>>-dscontrol--advisor--+-connecttimeout--name--+-port---------+--timeoutseconds-+->< | '-cluster:port-' | +-interval--name--+-port---------+--seconds--------------+ | '-cluster:port-' | +-list---------------------------------------------------+ +-loglevel--name--+-port---------+--level----------------+ | '-cluster:port-' | +-logsize--name--+-port---------+--+-unlimited---------+-+ | '-cluster:port-' '-number of records-' | +-receivetimeout--name--+-port---------+--timeoutseconds-+ | '-cluster:port-' | +-report--name--+-port---------+-------------------------+ | '-cluster:port-' | +-重試--name--+-port---------+--numretries---------------+ | '-cluster:port-' | +-start--name--+-port---------+--+----------+------------+ | '-cluster:port-' '-log file-' | +-狀態--name--+-port---------+---------------------------+ | '-cluster:port-' | +-stop--name--+-port---------+---------------------------+ | '-cluster:port-' | +-timeout--name--+-port---------+--+-unlimited-+---------+ | '-cluster:port-' '-seconds---' | '-version--name--+-port---------+------------------------' '-cluster:port-'
如需 Load Balancer 所提供之通告器的進一步資訊,請參閱通告器列示。
自行設定的通告器的名稱格式為 xxxx, 其中 ADV_xxxx 是執行自行設定通告器之類別的名稱。請參閱建立自行設定 (可自訂的) 通告器,以取得進一步資訊。
cluster 是採用帶點十進位數格式或代號名稱的位址。port 則是通告器所監督的埠號。
通告器名稱 | 通訊協定 | 埠 |
---|---|---|
cachingproxy | HTTP (透過 Caching Proxy) | 80 |
connect | ICMP | 12345 |
db2 | private | 50000 |
dns | DNS | 53 |
ftp | FTP | 21 |
http | HTTP | 80 |
https | SSL | 443 |
imap | IMAP | 143 |
ldap | LDAP | 389 |
nntp | NNTP | 119 |
ping | PING | 0 |
pop3 | POP3 | 110 |
self | private | 12345 |
smtp | SMTP | 25 |
ssl | SSL | 443 |
ssl2http | SSL | 443 |
telnet | Telnet | 23 |
WLM | private | 10,007 |
預設檔為 advisorname_port.log,例如,http_80.log。 如果您想變更日誌檔的保留目錄, 請參閱變更日誌檔路徑。 叢集 (或站台) 專用通告器的預設日誌檔都是以叢集位址來建立,如 http_127.40.50.1_80.log。
範例
dscontrol advisor start http 127.40.50.1:80
dscontrol advisor start http 88
dscontrol advisor stop http 127.40.50.1:80
dscontrol advisor connecttimeout http 80 30
dscontrol advisor connecttimeout http 127.40.50.1:80 20
dscontrol advisor interval ftp 21 6
dscontrol advisor list這個指令所產生的輸出類似於:
--------------------------------------- | 通告器 | 叢集:埠 | 逾時 | --------------------------------------- | http |127.40.50.1:80 | 無限制 | | ftp | 21 | 無限制 | ---------------------------------------
dscontrol advisor loglevel http 80 0
dscontrol advisor logsize ftp 21 5000
dscontrol advisor receivetimeout http 80 60
dscontrol advisor report ftp 21這個指令所產生的輸出類似於:
通告器報告: --------------- 通告器名稱 ............... Ftp 埠號 ..................... 21 叢集位址 ................. 9.67.131.18 伺服器位址 ............... 9.67.129.230 負載 ..................... 8 叢集位址 ................. 9.67.131.18 伺服器位址 ............... 9.67.131.215 負載 ..................... -1
dscontrol advisor status http 80這個指令所產生的輸出類似於:
通告器狀態: --------------- 間隔 (秒數) ................... 7 逾時 (秒數) ................... Unlimited 連線逾時 (秒數)................ 21 接收逾時 (秒數)................ 21 通告器日誌檔名稱 .............. Http_80.log 日誌層次 ...................... 1 最大日誌大小 (位元組) ......... Unlimited 重試次數 ............. 0
dscontrol advisor timeout ftp 21 5
dscontrol advisor version ssl 443這個指令所產生的輸出類似於:
版本:04.00.00.00 - 07/12/2001-10:09:56-EDT
>>-dscontrol--binlog--+-start----------------------+----------->< +-stop-----------------------+ +-set--+-retention--hours--+-+ | '-interval--seconds-' | '-狀態-----------------------'
>>-dscontrol--cluster--+-add--cluster+c2+...--+----------------------------------------+-+->< | +-address--address-----------------------+ | | +-proportions--active--new--port--system-+ | | +-maxports--size-------------------------+ | | +-maxservers--size-----------------------+ | | +-stickytime--time-----------------------+ | | +-weightbound--加權值--------------------+ | | +-porttype--type-------------------------+ | | +-primaryhost--address-------------------+ | | +-staletimeout--staletimeout-------------+ | | '-sharedbandwidth--size------------------' | +-set--cluster+c2+...--+-proportions--active--new--port--system-+-+ | +-maxports--size-------------------------+ | | +-maxservers--size-----------------------+ | | +-stickytime--time-----------------------+ | | +-weightbound--加權值--------------------+ | | +-porttype--type-------------------------+ | | +-primaryhost--address-------------------+ | | +-staletimeout--staletimeout-------------+ | | '-sharedbandwidth--size------------------' | +-remove--cluster-------------------------------------------------+ +-report--cluster-------------------------------------------------+ '-狀態--cluster---------------------------------------------------'
除了 dscontrol cluster add 指令外,您可以用冒號 (:) 來作為萬用字元。 例如,指令 dscontrol cluster set : weightbound 80 會將 80 的加權範圍設定給所有叢集。
一旦主要及備份機器已啟動並執行共同高可用性,如果您變更叢集的 primaryhost, 則您也須強迫新主要主電腦去接管。此外,您需要更新 script 並自行取消配置及正確地配置叢集。 相關資訊,請參閱共同高可用性。
範例
dscontrol cluster add 130.40.52.153
dscontrol cluster remove 130.40.52.153
dscontrol cluster set 9.6.54.12 proportions 60 35 5 0
dscontrol cluster add 0.0.0.0
dscontrol cluster set 9.6.54.12 primaryhost 9.65.70.19
dscontrol cluster status 9.67.131.167這個指令所產生的輸出類似於:
叢集狀態: ---------------- 叢集 .................................... 9.67.131.167 位址 .................................... 9.67.131.167 目標埠的數目 ............................ 3 預設滯留時間 ............................ 0 預設閒置逾時 ............................ 30 預設埠加權範圍 .......................... 20 最大埠數 ................................ 8 預設埠通信協定 .......................... tcp/udp 預設最大伺服器數目 ...................... 32 作用中連線的給定比例..................... 0.5 新連線的給定比例......................... 0.5 特定埠的給定比例......................... 0 系統測量單位的給定比例................... 0 共用頻寬 (KBytes) ....................... 0 主要的主電腦位址 ........................ 9.67.131.167
>>-dscontrol--executor--+-report-----------------------------------------------------------+->< +-set--+-nfa--IP address------------+------------------------------+ | +-maxclusters--size----------+ | | +-maxports--size-------------+ | | +-fincount--fincount---------+ | | +-fintimeout--fintimeout-----+ | | +-maxservers--size-----------+ | | +-staletimeout--staletimeout-+ | | +-stickytime--time-----------+ | | +-clientgateway--address-----+ | | +-weightbound--加權值--------+ | | +-porttype--type-------------+ | | +-wideportnumber--port-------+ | | '-sharedbandwidth--size------' | +-configure--interface_address+i2+...--+-------------------------+-+ | '-interface_name--netmask-' | +-unconfigure--interface_address-----------------------------------+ +-start------------------------------------------------------------+ +-狀態-------------------------------------------------------------+ '-stop-------------------------------------------------------------'
範例
dscontrol executor status 執行器狀態: ---------------- 非轉送的位址 ........................ 9.67.131.151 從屬站閘道位址 ...................... 0.0.0.0 Fin 計數 ............................ 4,000 Fin 逾時 ............................ 60 廣域網路埠號 ........................ 0 共用頻寬 (千位元組) ................. 0 每一叢集的預設最大埠數 .............. 8 最大叢集數 .......................... 100 每個埠的預設最大伺服器數 ............ 32 預設閒置時間 ........................ 300 預設滯留時間 ........................ 0 預設加權範圍 ........................ 20 預設埠類型 .......................... tcp/udp
dscontrol executor set nfa 130.40.52.167
dscontrol executor set maxclusters 4096
dscontrol executor start
dscontrol executor stop
>>-dscontrol--file--+-delete--file[.ext]----------+------------>< +-appendload--file[.ext]------+ +-report----------------------+ +-save--file[.ext]--+-------+-+ | '-force-' | '-newload--file[.ext]---------'
副檔名 (.ext) 可以隨您的需要自由設定,也可以省略。
範例
dscontrol file delete file3 已刪除檔案 (file3)。
dscontrol file newload file1.sv 已將檔案 (file1.sv) 載入 Dispatcher。
dscontrol file appendload file2.sv 已將 (file2.sv) 附加到現行配置,並載入。
dscontrol file report FILE REPORT: file1.save file2.sv file3
dscontrol file save file3 配置已儲存在檔案 (file3)。
>>-dscontrol--help--+-advisor----------+----------------------->< +-binlog-----------+ +-cluster----------+ +-executor---------+ +-file-------------+ +-help-------------+ +-highavailability-+ +-host-------------+ +-logstatus--------+ +-manager----------+ +-metric-----------+ +-port-------------+ +-rule-------------+ +-server-----------+ +-set--------------+ +-狀態-------------+ '-subagent---------'
範例
dscontrol help這個指令所產生的輸出類似於:
解說指令引數: --------------------------------- 用法: help <說明選項> 範例: help cluster help - 列印完整的說明文字 advisor - advisor 指令的說明 cluster - cluster 指令的說明 executor - executor 指令的說明 file - file 指令的說明 host - host 指令的說明 binlog - binary log 指令的說明 manager - manager 指令的說明 metric - metric 指令的說明 port - port 指令的說明 rule - rule 指令的說明 server - server 指令的說明 set - set 指令的說明 status - status 指令的說明 logstatus - 伺服器日誌狀態的說明 subagent - subagent 指令的說明 highavailability - highavailability 指令的說明請注意,<>內的參數是變數。
fintimeout <cluster address>|all <time> -Change FIN timeout (使用 'all',表示變更所有叢集)
>>-dscontrol--highavailability--+-狀態----------------------------------------+->< +-backup--+-add--+-primary-+--+-auto---+--p-+-+ | | +-backup--+ '-manual-' | | | | '-both----' | | | '-delete--------------------------' | +-reach--+-add----+--address--mask------------+ | '-delete-' | +-heartbeat--+-add--srcaddress--dstaddress-+--+ | '-delete--address-------------' | '-takeover--+---------+-----------------------' '-address-'
另外,status 關鍵字會傳回各種子狀態的資訊:
共同高可用性配置 (每一台 Dispatcher 機器的角色是兩者):
註:
範例
dscontrol highavailability status
輸出:
高可用性狀態: ------------------------- 角色 ........................primary 復原策略 .................... manual 狀態 ........................ Active 次狀態 ...................... Synchronized 主要主電腦 .................. 9.67.131.151 埠 ...........................12345 偏好的目標 .................. 9.67.134.223 通訊檢查訊息狀態: ----------------- 計數 .......................... 1 來源/目標 ..................... 9.67.131.151/9.67.134.223 可到達的狀態: -------------------- 計數 ................. 1 位址 ................. 9.67.131.1 reachable
dscontrol highavailability backup add primary auto 80
dscontrol highavailability reach add 9.67.125.18
Primary - highavailability heartbeat add 9.67.111.3 9.67.186.8 Backup - highavailability heartbeat add 9.67.186.8 9.67.111.3
dscontrol highavailability takeover
>>-dscontrol--host:--remote_host-------------------------------><
dscontrol host:remote_host
在指令提示上發出這個指令後,請輸入您想對遠端 Load Balancer 機器發出的任何有效 dscontrol 指令。
>>-dscontrol--logstatus----------------------------------------><
範例
若要顯示 logstatus:
dscontrol logstatus
這個指令所產生的輸出類似於:
Dispatcher 日誌狀態: ------------------------------ 日誌檔名稱 ................. C:\PROGRA~1\IBM\edge\lb\servers\logs\dispatcher \server.log 日誌層次 ................... 1 最大日誌大小 (位元組) ...... 1048576
>>-dscontrol--manager--+-interval--seconds----------------------+->< +-loglevel--level------------------------+ +-logsize--+-unlimited-+-----------------+ | '-bytes-----' | +-metric set--+-loglevel--level--------+-+ | '-logsize--+-unlimited-+-' | | '-bytes-----' | +-quiesce--server--+-----+---------------+ | '-now-' | +-reach set--+-interval--seconds------+--+ | +-loglevel--level--------+ | | '-logsize--+-unlimited-+-' | | '-bytes-----' | +-refresh--refresh cycle-----------------+ +-report--+----------------+-------------+ | '-cluster+c2+...-' | +-restart--message-----------------------+ +-sensitivity--加權值--------------------+ +-smoothing--smoothing index-------------+ +-start--+-----------------------+-------+ | '-log file--metric_port-' | +-狀態-----------------------------------+ +-stop-----------------------------------+ +-unquiesce--server----------------------+ '-version--------------------------------'
或者,如果您使用了伺服器分割區,請使用邏輯伺服器的唯一名稱。 請參閱伺服器分割:配置成實體伺服器 (IP 位址) 的邏輯伺服器,以取得進一步資訊。
預設檔將安裝在 logs 目錄中。請參閱附錄 C, 配置檔範例。如果您想變更日誌檔的保留目錄, 請參閱變更日誌檔路徑。
範例
dscontrol manager interval 5
dscontrol manager loglevel 0
dscontrol manager logsize 1000000
dscontrol manager quiesce 130.40.52.153
dscontrol manager refresh 3
dscontrol manager report這個指令所產生的輸出類似於:
-------------------------------------------------------------------- | 伺服器 | IP 位址 | 狀態 | -------------------------------------------------------------------- | mach14.dmz.com | 10.6.21.14 | 作用中 | | mach15.dmz.com | 10.6.21.15 | 作用中 | -------------------------------------------------------------------- ----------------------------- | 管理程式報告圖註 | ----------------------------- | ACTV | 作用中連線 | | NEWC | 新連線 | | SYS | 系統測量單位 | | NOW | 現行加權 | | NEW | 新加權 | | WT | 加權 | | CONN | 連線 | ----------------------------- ------------------------------------------------------------------- | www.dmz.com | | | | | | | 10.6.21.100 | 加權值 | 作用中 | 新連線 | 埠 | 系統 | | 埠: 21 |現行 新 | 49% | 50% | 1% | 0% | ------------------------------------------------------------------- | mach14.dmz.com | 10 10 | 0 | 0 | -1 | 0 | | mach15.dmz.com | 10 10 | 0 | 0 | -1 | 0 | ------------------------------------------------------------------- ------------------------------------------------------------------- | www.dmz.com | | | | | | | 10.6.21.100 | 加權值 | 作用中 | 新連線 | 埠 | 系統 | | 埠: 80 |現行 新 | 49% | 50% | 1% | 0% | ------------------------------------------------------------------- | mach14.dmz.com | 10 10 | 0 | 0 | 23 | 0 | | mach15.dmz.com | 9 9 | 0 | 0 | 30 | 0 | ------------------------------------------------------------------- --------------------------------------------------- | 通告器 | 叢集:埠 | 逾時 | --------------------------------------------------- | http | 80 | 無限制 | | ftp | 21 | 無限制 | ---------------------------------------------------
dscontrol manager restart Restarting the manager to update code這個指令所產生的輸出類似於:
320-14:04:54 重新啟動管理程式成為更新碼
dscontrol manager sensitivity 10
dscontrol manager smoothing 2.0
dscontrol manager start ndmgr.log
dscontrol manager status這個指令將產生類似下列範例的輸出。
管理程式狀態: =============== 測量埠........................................ 10004 管理程式日誌檔名稱............................ manager.log 管理程式日誌層次.............................. 1 最大管理程式日誌大小 (位元組)................. unlimited 感應層次...................................... 0.05 平順指數...................................... 1.5 更新間隔 (秒)................................. 2 加權重新整理週期.............................. 2 連繫日誌層次.................................. 1 最大連繫日誌大小 (位元組)..................... unlimited 連繫更新間隔 (秒)............................. 7 測量監督程式日誌檔名稱........................ MetricMonitor.log 測量監督程式日誌層次.......................... 1 最大測量監督程式日誌大小...................... 1048576
dscontrol manager stop
dscontrol manager quiesce 130.40.52.153 now
dscontrol manager quiesce 130.40.52.153
dscontrol manager unquiesce 130.40.52.153
dscontrol manager version
>>-dscontrol--metric--+-add--cluster+c2+...+cN:metric+metric1+...+metricN--------------+->< +-remove--cluster+c2+...+cN:metric+metric1+...+metricN-----------+ +-proportions--cluster+c2+...+cN proportion1 prop2 prop3...propN-+ '-狀態--cluster+c2+...+cN:metric+metric1+...+metricN-------------'
範例
dscontrol metric add site1:metric1
dscontrol metric proportions site1 0 100
dscontrol metric status site1:metric1這個指令所產生的輸出類似於:
測量單位狀態: ------------ 叢集 .......................... 10.10.10.20 測量單位名稱 .................. metric1 測量單位比例 .................. 50 伺服器 .................... plm3 測量單位資料 .............. -1
>>-dscontrol--port--+-add--cluster:port--+----------------------+-+->< | +-crossport--otherport-+ | | +-maxservers--size-----+ | | +-stickymask--value----+ | | +-stickytime--time-----+ | | +-method--type---------+ | | +-staletimeout--value--+ | | +-weightbound--加權值--+ | | +-porttype--type-------+ | | +-protocol--type-------+ | | '-重設--value----------' | +-set--cluster:port--+-crossport--otherport-+-+ | +-maxservers--size-----+ | | +-stickymask--value----+ | | +-stickytime--time-----+ | | +-staletimeout--value--+ | | +-weightbound--加權值--+ | | +-porttype--type-------+ | | +-maxhalfopen--value---+ | | '-重設--value----------' | +-remove--cluster:port------------------------+ +-report--cluster:port------------------------+ +-狀態--cluster:port--------------------------+ '-halfopenaddressreport--cluster:port---------'
若要移除 crossport 相關性,請將 crossport 值重設為它自己的埠號。 跨埠相關性特性的相關資訊,請參閱跨埠相關性。
當從屬站要求第一次建立埠的連線時, 來自具有相同子網路位址 (將建立遮罩的 IP 位址部份指定的位址) 的從屬站的所有後續要求將被引導到同一伺服器。 若要啟動 stickymask,埠的 stickytime 須為非零的值。相關資訊,請參閱相關性位址遮罩 (stickymask)。
若是 Dispatcher 元件:
若是 CBR 元件:如果將埠的 stickytime 設成非零值,規則的相關性類型即必須為無 (預設值)。 已在埠上設定 stickytime 時,規則型相關性 (被動 cookie,URI,主動 cookie) 不得同時存在。
註:
若為正數值,則表示將進行檢查以判斷現行半開啟連線是否超過臨界值。 如果現行值超過臨界值,即會呼叫警示 script。請參閱拒絕服務攻擊偵測,以取得進一步資訊。
範例
dscontrol port add 130.40.52.153:80+23
dscontrol port set 130.40.52.153:0
dscontrol port set 130.40.52.153:80 weightbound 10
dscontrol port set 130.40.52.153:80+23 stickytime 60
dscontrol port set 130.40.52.153:80 crossport 23
dscontrol port remove 130.40.52.153:23
dscontrol port status 9.67.131.153:80這個指令所產生的輸出類似於:
埠狀態: ------------ 埠號 ........................... 80 叢集 ........................... 9.67.131.153 閒置逾時 ....................... 300 加權範圍 ....................... 20 最大伺服器數 ................... 32 滯留時間 ....................... 0 埠類型 ......................... tcp/udp 跨埠相關性 ..................... 80 滯留遮罩位元 ................... 32 最大半開啟連線 ................. 0 傳送 TCP 重設 .................. no
dscontrol port report 9.62.130.157:80這個指令所產生的輸出類似於:
埠報告: ------------ 叢集位址 ....................... 9.62.130.157 埠號 ........................... 80 伺服器數 ....................... 5 最大伺服器加權值 ............... 10 作用中連線總數 ................. 55 每秒連線數 ..................... 12 每秒 KB ........................ 298 半開啟數 ....................... 0 TCP 重設傳送 ................... 0 轉送方法 ....................... MAC 基本轉送
dscontrol port halfopenaddressreport 9.67.127.121:80這個指令所產生的輸出類似於:
已成功建立半開啟連線報告: ------------ cluster:port = 9.67.127.121:80 的半開啟位址報告 已報告之具有半開啟連線的位址總數 ...................... 0 已報告的半開啟連線總數 ................................ 0 已報告的半開啟連線最大數 .............................. 0 已報告的半開啟連線平均數 .............................. 0 已報告的半開啟連線時間平均值 (秒) ..................... 0 已接收的半開啟連線總數 ................................ 0
>>-dscontrol--rule--+-add--cluster:port:rule--type--type--| opts |-+->< +-dropserver--cluster:port:rule--server--------+ +-remove--cluster:port:rule--------------------+ +-report--cluster:port:rule--------------------+ +-set--cluster:port:rule--| opts |-------------+ +-狀態--cluster:port:rule----------------------+ '-useserver--cluster:port:rule--server+s2+...--' opts |--+---------------------------------+--------------------------| +-beginrange--low--endrange--high-+ +-priority--level-----------------+ +-pattern--pattern----------------+ +-tos--value----------------------+ +-stickytime--time----------------+ +-affinity--affinity_type---------+ +-cookiename--value---------------+ +-evaluate--level-----------------+ '-sharelevel--level---------------'
請參閱主動 cookie 相關性,以取得進一步資訊。
相關性類型 "activecookie" 可根據 Load Balancer 所產生的 cookie,將具有相關性的 Web 資料傳輸平衡負載到相同的伺服器上。
相關性類型 "passivecookie" 可根據伺服器所產生的自我識別 cookie,將具有相關性的 Web 資料傳輸平衡負載到相同的伺服器上。 您必須搭配被動 cookie 相關性來使用 cookiename 參數。
相關性類型 "URI" 可用有效增加快取大小的方式,將 Web 資料傳輸平衡負載至 caching-proxy 伺服器。
如需進一步資訊,請參閱主動 cookie 相關性、被動 cookie 相關性及URI 相關性。
請參閱被動 cookie 相關性,以取得進一步資訊。
對於連線類型規則,您也可以指定一個評估選項 -- upserversonrule。 藉由指定 upserversonrule,您可以確定如果伺服器集中有部份伺服器已關閉,規則內剩餘的伺服器將不會超載。
或者,如果您使用了伺服器分割區,請使用邏輯伺服器的唯一名稱。 請參閱伺服器分割:配置成實體伺服器 (IP 位址) 的邏輯伺服器,以取得進一步資訊。
範例
dscontrol rule add 9.37.67.100:80:trule type true priority 100
dscontrol rule add 9.37.131.153:80:ni type ip b 9.0.0.0 e 9.255.255.255
dscontrol rule add cluster1:80:timerule type time beginrange 11 endrange 14 dscontrol rule useserver cluster1:80:timerule server05
dscontrol rule add 9.67.131.153:80:tosrule type service tos 0xx1001x
dscontrol rule add 9.67.131.153:80:rbwrule type reservedbandwidth beginrange 0 endrange 100 evaluate rule
dscontrol cluster set 9.67.131.153 sharedbandwidth 200 dscontrol rule add 9.67.131.153:80:shbwrule type sharedbandwidth sharelevel cluster
>>-dscontrol--server--+-add--cluster:port:server--+-------------------------+-+->< | +-address--address--------+ | | +-collocated--value-------+ | | +-sticky--value-----------+ | | +-加權值--value-----------+ | | +-fixedweight--value------+ | | +-cookievalue--value------+ | | +-mapport--portvalue------+ | | +-router--addr------------+ | | +-returnaddress--addr-----+ | | +-advisorrequest--string--+ | | '-advisorresponse--string-' | +-set--cluster:port:server--+-collocated--value-------+-+ | +-sticky--value-----------+ | | +-加權值--value-----------+ | | +-fixedweight--value------+ | | +-cookievalue--value------+ | | +-router--addr------------+ | | +-advisorrequest--string--+ | | '-advisorresponse--string-' | +-down--cluster:port:server-----------------------------+ +-remove--cluster:port:server---------------------------+ +-report--cluster:port:server---------------------------+ +-up--cluster:port:server-------------------------------+ '-狀態--cluster:port:server-----------------------------'
或者,若您使用一個未解析成 IP 位址的唯一名稱,您必須在 dscontrol server add 指令中提供 server address 參數。請參閱伺服器分割:配置成實體伺服器 (IP 位址) 的邏輯伺服器,以取得進一步資訊。
範例
dscontrol server add 130.40.52.153:80:27.65.89.42
dscontrol server set 130.40.52.153:80:27.65.89.42 sticky no
dscontrol server down 130.40.52.153:80:27.65.89.42
dscontrol server remove ::27.65.89.42
dscontrol server set 130.40.52.153:80:27.65.89.42 collocated yes
dscontrol server set 130.40.52.153:80:27.65.89.42 weight 10
dscontrol server up 130.40.52.153:80:27.65.89.42
dscontrol server add 130.40.52.153:80:130.60.70.1 router 130.140.150.0
dscontrol server set 130.40.52.153:80:27.65.89.42 advisorrequest "\"HEAD / HTTP/2.0\""
dscontrol server status 9.67.131.167:80:9.67.143.154這個指令所產生的輸出類似於:
伺服器狀態: -------------- 伺服器 ......................... 9.67.143.154 埠號 ........................... 80 叢集 ........................... 9.67.131.167 叢集位址 ....................... 9.67.131.167 靜止 ........................... N 伺服器開機中 ................... Y 加權 ........................... 10 固定加權 ....................... N 滯留時間規則 ................... Y 遠端伺服器 ..................... N 網路路由器位址 ................. 0.0.0.0 並列 ........................... N 通告器要求...................... HEAD / HTTP/1.0 通告器回應...................... Cookie 值 ...................... n/a 複製 ID ........................ n/a
>>-dscontrol--set--+-loglevel--level--------+------------------>< '-logsize--+-unlimited-+-' '-size------'
>>-dscontrol--狀態---------------------------------------------><
範例
dscontrol status這個指令所產生的輸出類似於:
已啟動執行器。 已啟動管理程式。 ---------------------------------------- | 通告器 | 叢集:埠 | 逾時 | ---------------------------------------- | reach | 0 | 無限制 | | http | 80 | 無限制 | | ftp | 21 | 無限制 | ----------------------------------------
>>-dscontrol--subagent--+-loglevel--level--------------------+->< +-logsize--+-bytes-----+-------------+ | '-unlimited-' | +-report-----------------------------+ +-start--+-------------------------+-+ | '-community_name--logfile-' | +-狀態-------------------------------+ +-stop-------------------------------+ '-version----------------------------'
若是 Windows 2000:將使用作業系統的團體名稱。
範例
dscontrol subagent start bigguy bigguy.log
本附錄將說明如何使用下列 Site Selector sscontrol 指令:
您可以輸入 sscontrol 指令參數的精簡版本。 只需要輸入參數的專用字母即可。例如,若要取得有關存檔指令的說明,您可以鍵入 sscontrol he f 而非 sscontrol help file。
>>-sscontrol--advisor--+-connecttimeout--name--+-port----------+--seconds-------+->< | '-sitename:port-' | +-interval--name--+-port----------+--seconds-------------+ | '-sitename:port-' | +-list---------------------------------------------------+ +-loglevel--name--+-port----------+--level---------------+ | '-sitename:port-' | +-logsize--name--+-port----------+--+-size | unlimited-+-+ | '-sitename:port-' '-bytes------------' | +-receivetimeout--name--+-port----------+--seconds-------+ | '-sitename:port-' | +-report--name--+-port----------+------------------------+ | '-sitename:port-' | +-重試--name--+-port----------+--numretries--------------+ | '-sitename:port-' | +-start--name--+-port----------+--+----------+-----------+ | '-sitename:port-' '-log file-' | +-status--name--+-port----------+------------------------+ | '-sitename:port-' | +-stop--name--+-port----------+--------------------------+ | '-sitename:port-' | +-timeout--name--+-port----------+-----------------------+ | '-sitename:port-' | '-version--name--+-port----------+--seconds--------------' '-sitename:port-'
.
通告器名稱 | 通訊協定 | 埠 |
---|---|---|
Connect | 無 | 使用者定義 |
db2 | private | 50000 |
ftp | FTP | 21 |
http | HTTP | 80 |
https | SSL | 443 |
imap | IMAP | 143 |
ldap | LDAP | 389 |
nntp | NNTP | 119 |
PING | PING | 0 |
pop3 | POP3 | 110 |
smtp | SMTP | 25 |
ssl | SSL | 443 |
telnet | Telnet | 23 |
預設檔案為 advisorname_port.log,例如 http_80.log。 如果您想變更用於儲存日誌檔的目錄,請參閱變更日誌檔路徑。
對於每一個站台名稱,您只能啟動一個通告器。
範例
sscontrol advisor connecttimeout http 80 30
sscontrol advisor interval ftp 21 6
sscontrol advisor list這個指令所產生的輸出類似於:
--------------------------------------- | 通告器 | 站台名稱:埠 | 逾時 | --------------------------------------- | http | 80 | 無限制 | | ftp | 21 | 無限制 | ---------------------------------------
sscontrol advisor loglevel http mysite:80 0
sscontrol advisor logsize ftp mysite:21 5000
sscontrol advisor receivetimeout http 80 60
sscontrol advisor report ftp 21這個指令所產生的輸出類似於:
通告器報告: --------------- 通告器名稱 ............... http 埠號 ..................... 80 sitename ................. mySite 伺服器位址 ............... 9.67.129.230 負載 ..................... 8
sscontrol advisor start ftp 21 ftpadv.log
sscontrol advisor status http 80這個指令所產生的輸出類似於:
通告器狀態: --------------- 間隔 (秒數) ................... 7 逾時 (秒數) ................... Unlimited 連線逾時 (秒數)................ 21 接收逾時 (秒數)................ 21 通告器日誌檔名稱 .............. Http_80.log 日誌層次 ...................... 1 最大日誌大小 (位元組) ......... Unlimited 重試次數 ............. 0
sscontrol advisor stop http 80
sscontrol advisor timeout ftp 21 5
sscontrol advisor version ssl 443
>>-sscontrol--file--+-delete--filename.ext----------+---------->< +-appendload--filename.ext------+ +-report------------------------+ +-save--filename.ext--+-------+-+ | '-force-' | '-newload--filename.ext---------'
副檔名 (.ext) 可以隨您的需要自由設定,而且是選用性的。
範例
sscontrol file delete file3 已刪除檔案 (file3)。
sscontrol file newload file1.sv 已將檔案 (file1.sv) 載入 Dispatcher。
sscontrol file appendload file2.sv 已將 (file2.sv) 附加到現行配置,並載入。
sscontrol file report FILE REPORT: file1.save file2.sv file3
sscontrol file save file3 配置已儲存在檔案 (file3)。
>>-sscontrol--help--+-advisor----+----------------------------->< +-file-------+ +-help-------+ +-host-------+ +-logstatus--+ +-manager----+ +-metric-----+ +-nameserver-+ +-rule-------+ +-server-----+ +-set--------+ +-sitename---+ '-status-----'
範例
sscontrol help這個指令所產生的輸出類似於:
解說指令引數: --------------------------------- 用法: help <說明選項> 範例: help name help - 列印完整的說明文字 advisor - advisor 指令的說明 file - file 指令的說明 host - host 指令的說明 manager - manager 指令的說明 metric - metric 指令的說明 sitename - sitename 指令的說明 nameserver - nameserver 指令的說明 rule - rule 指令的說明 server - server 指令的說明 set - set 指令的說明 status - status 指令的說明 logstatus - logstatus 指令的說明< > 內的參數是變數。
logsize <位元組數 | unlimited> -設定日誌檔所記載的最大位元組數。
>>-sscontrol--logstatus----------------------------------------><
>>-sscontrol--manager--+-interval--seconds----------------------+->< +-loglevel--level------------------------+ +-logsize--+-unlimited-+-----------------+ | '-bytes-----' | +-metric set--+-loglevel--level--------+-+ | '-logsize--+-unlimited-+-' | | '-bytes-----' | +-reach set--+-interval--seconds------+--+ | +-loglevel--level--------+ | | '-logsize--+-unlimited-+-' | | '-bytes-----' | +-report--sitename+sn2+...+snN-----------+ +-restart--message-----------------------+ +-sensitivity--weight--------------------+ +-smoothing--smoothing index-------------+ +-start--+----------------------+--------+ | '-logfile--metric_port-' | +-status---------------------------------+ +-stop-----------------------------------+ '-version--------------------------------'
預設檔將安裝在 logs 目錄中。請參閱附錄 C, 配置檔範例。如果您想變更日誌檔的保留目錄, 請參閱變更日誌檔路徑。
範例
sscontrol manager interval 5
sscontrol manager loglevel 0
sscontrol manager logsize 1000000
sscontrol manager report這個指令所產生的輸出類似於:
---------------------------------- | 伺服器 | 狀態 | ---------------------------------- | 9.67.129.221| 使用中| | 9.67.129.213| 使用中| | 9.67.134.223| 使用中| ---------------------------------- -------------------------- | 管理程式報告圖註 | -------------------------- | CPU | CPU 負載 | | MEM | 記憶體負載 | | SYS | 系統測量單位 | | NOW | 現行加權值 | | NEW | 新加權值 | | WT | 加權值 | -------------------------- ------------------------------------------------------------------------ | mySite | WEIGHT | CPU 49% | MEM 50% | PORT 1% | SYS 0% | ------------------------------------------------------------------------ | |NOW NEW | WT LOAD | WT LOAD | WT LOAD | WT LOAD | ------------------------------------------------------------------------ | 9.37.56.180 | 10 10 |-99 -1|-99 -1|-99 -1| 0 0| ------------------------------------------------------------------------ | 合計:| 10 10 | -1| -1| -1| 0| ------------------------------------------------------------------------ ----------------------------------------- | 通告器 | 站台名稱:埠 | 逾時 | ----------------------------------------- | http | 80 | 無限制 | -----------------------------------------
sscontrol manager restart Restarting the manager to update code這個指令所產生的輸出類似於:
320-14:04:54 重新啟動管理程式成為更新碼
sscontrol manager sensitivity 10
sscontrol manager smoothing 2.0
sscontrol manager start ndmgr.log
sscontrol manager status這個指令將產生類似下列範例的輸出。
管理程式狀態: ============= 測量埠........................................ 10004 管理程式日誌檔名.............................. manager.log 管理程式日誌層次.............................. 1 最大管理程式日誌大小 (位元組)................. unlimited 感應層次...................................... 5 平順指數...................................... 1.5 更新間隔 (秒)................................. 2 加權值重新整理週期............................ 2 連繫日誌層次.................................. 1 最大連繫日誌大小 (位元組)..................... unlimited 連繫更新間隔 (秒)............................. 7
sscontrol manager stop
sscontrol manager version
>>-sscontrol--metric--+-add--sitename+sn2+...+snN:metric+metric1+...+metricN--------------+->< +-remove--sitename+sn2+...+snN:metric+metric1+...+metricN-----------+ +-proportions--sitename+sn2+...+snN:proportion1 prop2 prop3...propN-+ '-status--sitename+sn2+...+snN metric+metric1+...+metricN-----------'
範例
sscontrol metric add site1:metric1
sscontrol metric proportions site1 0 100
sscontrol metric status site1:metric1這個指令所產生的輸出類似於:
測量單位狀態: ------------ 站台名稱 ..................... site1 測量單位名稱 .................. metric1 測量單位比例 .................. 50 伺服器 ......... 9.37.56.100 測量資料 ....... -1
>>-sscontrol--nameserver--+-start--+----------------------+-+-->< | '-bindaddress--address-' | +-stop----------------------------+ '-status--------------------------'
>>-sscontrol--rule--+-add--sitename+sn2+...+snN:rule+r2+...+rN--type--value--| value |--| opts |-+->< +-dropserver--sitename+sn2+...+snN:rule+r2+...+rN--server+s2+...+snN---------+ +-remove--sitename+sn2+...+snN:rule+r2+...+rN--------------------------------+ +-set--sitename+sn2+...+snN:rule+r2+...+rN--| value |--| opts |--------------+ +-status--sitename+sn2+...+snN:rule+r2+...+rN--------------------------------+ '-useserver--sitename+sn2+...+snN:rule+r2+...+rN--server+s2+...+snN----------' opts |--+---------------------------------+--------------------------| +-beginrange--low--endrange--high-+ +-priority--value-----------------+ '-metricname--value---------------'
範例
sscontrol rule add sitename:rulename type true priority 100
sscontrol rule add sitename:rulename type ip b 9.0.0.0 e 9.255.255.255
sscontrol rule add sitename:rulename type time beginrange 11 endrange 14 sscontrol rule useserver sitename:rulename server05
>>-sscontrol--server--+-add--sitename+sn2+...+snN:server+s2+...+sN--+------------------------+-+->< | +-metricaddress--address-+ | | '-weight--value----------' | +-down--sitename+sn2+...+snN:server+s2+...+sN----------------------------+ +-remove--sitename+sn2+...+snN:server+s2+...+sN--------------------------+ +-set--sitename+sn2+...+snN:server+s2+...+sN--+------------------------+-+ | +-metricaddress--address-+ | | '-weight--value----------' | +-status--sitename+sn2+...+snN:server+s2+...+sN--------------------------+ '-up--sitename+sn2+...+snN:server+s2+...+sN------------------------------'
範例
sscontrol server add site1:27.65.89.42
sscontrol server down site1:27.65.89.42
sscontrol server remove :27.65.89.42
sscontrol server up site1:27.65.89.42
>>-sscontrol--set--+-loglevel--level--------+------------------>< '-logsize--+-unlimited-+-' '-size------'
>>-sscontrol--sitename--+-add--sitename+sn2+...+snN--+----------------------------------------+-+->< | +-cachelife--value-----------------------+ | | +-networkproximity--yes | no-------------+ | | +-proportions--cpu--memory--port--metric-+ | | +-proximitypercentage--value-------------+ | | +-stickytime--time-----------------------+ | | +-ttl--time------------------------------+ | | +-waitforallresponses--yes | no----------+ | | '-weightbound--weight--------------------' | +-remove--sitename+sn2+...+snN------------------------------------------+ +-set--sitename+sn2+...+snN--+----------------------------------------+-+ | +-cachelife--value-----------------------+ | | +-networkproximity--yes | no-------------+ | | +-proportions--cpu--memory--port--metric-+ | | +-proximitypercentage--value-------------+ | | +-stickytime--time-----------------------+ | | +-ttl--time------------------------------+ | | +-waitforallresponses--yes | no----------+ | | '-weightbound--weight--------------------' | '-status--sitename+sn2+...+snN------------------------------------------'
範例
sscontrol sitename add 130.40.52.153
sscontrol sitename set mySite networkproximity yes
sscontrol sitename set mySite cachelife 1900000
sscontrol sitename set mySite proximitypercentage 45
sscontrol sitename set mySite waitforallresponses no
sscontrol sitename set mySite ttl 7
sscontrol sitename set mySite proportions 50 48 1 1
sscontrol sitename remove 130.40.52.153
sscontrol sitename status mySite這個指令所產生的輸出類似於:
SiteName 狀態: --------------- SiteName ........................... mySite WeightBound ........................ 20 TTL ................................ 5 StickyTime ......................... 0 伺服器數 ........................... 1 CpuLoad 的給定比例 ................. 49 MemLoad 的給定比例 ................. 50 埠的給定比例 ....................... 1 系統測量單位的給定比例 ............. 0 在埠上執行的通告器 ................. 80 使用接近 ........................... N
>>-sscontrol--status-------------------------------------------><
範例
sscontrol status這個指令所產生的輸出類似於:
已啟動名稱伺服器。 已啟動管理程式。 ----------------------------------------- | 通告器 | 站台名稱:埠 | 逾時 | ---------------------------------------- | http | 80 | 無限制 | -----------------------------------------
本附錄將說明如何使用下列 Cisco CSS Controller 的 ccocontrol 指令:
您可以使用縮寫版的 ccocontrol 指令參數,方法是鍵入代表參數的唯一字母。 例如,若要取得有關存檔指令的說明,您可以鍵入 ccocontrol he f 而非 ccocontrol help file。
若要取得 ccocontrol 指令提示:鍵入 ccocontrol。
>>-ccocontrol--consultant--+-add--scID--address--swIPAddr--community--commName-+->< +-binarylog--scID+scID2...--+-report-------------+--+ | +-set--+-interval--+-+ | | | '-retention-' | | | +-start--------------+ | | '-stop---------------' | +-remove--scID+scID2...-----------------------------+ +-report--scID+scID2...-----------------------------+ +-set--+-loglevel--level----------------+-----------+ | +-logsize--+-size------+---------+ | | | '-unlimited-' | | | +-sensitivity--weight percentage-+ | | '-sleeptime--sec-----------------' | +-start--scID+scID2...------------------------------+ '-stop--scID+scID2...-------------------------------'
0 = 無
1 = 最少
2 = 基本
3 = 中
4 = 進階
5 = 詳細
範例
ccocontrol consultant add sc1 address 9.37.50.17 community comm2
ccocontrol consultant binarylog sc1 start
ccocontrol consultant report sc1
這個指令所產生的輸出類似於:
顧問 sc1 已連線至交換器於 9.37.50.1:cn1 顧問已啟動 休眠時間 = 7 感應 = 5 日誌層次 = 5 日誌大小 = 1,048,576 擁有者內容: ownerContent oc1
ccocontrol consultant set sc1 sleeptime 10
ccocontrol consultant start sc1
>>-ccocontrol--controller--+-report--------------------------+->< '-set--+------------------------+-' +-loglevel--level--------+ '-logsize--+-size------+-' '-unlimited-'
0 = 無
1 = 最少
2 = 基本
3 = 中
4 = 進階
5 = 詳細
範例
ccocontrol controller report
這個指令所產生的輸出類似於:
控制器報告: ------------------------ 版本 . . . . . . . . . . 版本:05.00.00.00 - 03/21/2002-09:49:57-EST 記載層次. . . . . . . . . 1 日誌大小. . . . . . . . . 1048576 配置檔. . . . . . . . . . config1.xml 顧問: 顧問 consult1 已啟動
ccocontrol set loglevel 0
ccocontrol controller set logsize 1000000
>>-ccocontrol--file--+-delete--filename----------+------------->< +-load--filename------------+ +-report--------------------+ '-save--filename--+-------+-' '-force-'
安裝 (預設) 目錄:c:\Program Files\ibm\edge\lb\servers\configurations\cco
範例
ccocontrol file delete file1
ccocontrol file load config2
ccocontrol file report
這個指令所產生的輸出類似於:
檔案報告: ------------ file1.xml file2.xml file3.xml
ccocontrol file save config2
>>-ccocontrol--help--+-controller-------+---------------------->< +-consultant-------+ +-file-------------+ +-help-------------+ +-highavailability-+ +-metriccollector--+ +-ownercontent-----+ '-service----------'
範例
ccocontrol help
這個指令所產生的輸出類似於:
下列指令可供使用: controller - 作用於控制器 consultant - 作用於交換器顧問 file - 作用於配置檔 help - 作用於說明文字 highavailability - 作用於高可用性 metriccollector - 作用於測量單位收集器 ownerContent - 作用於擁有者內容 service - 作用於服務程式
>>-ccocontrol--highavailability--+-add--+-address--address---------------+-+->< | +-partneraddress--partneraddress-+ | | +-port--port---------------------+ | | '-role--+-primary---+------------' | | '-secondary-' | +-dropreach--address----------------------+ +-remove----------------------------------+ +-report----------------------------------+ +-set--+-beatinterval--time-----+---------+ | +-takeoverinterval--time-+ | | +-loglevel--level--------+ | | '-logsize--+-size------+-' | | '-unlimited-' | +-start--+-auto---+-----------------------+ | '-manual-' | +-stop------------------------------------+ +-takeover--------------------------------+ '-usereach--address-----------------------'
0 = 無
1 = 最少
2 = 基本
3 = 中
4 = 進階
5 = 詳細
ccocontrol highavailability add address 9.37.50.17 role primary port 12345 partneraddress 9.37.50.14
ccocontrol highavailability usereach 9.37.50.9
ccocontrol highavailability dropreach 9.37.50.9
ccocontrol highavailability start manual
ccocontrol highavailability report
這個指令所產生的輸出類似於:
高可用性狀態: ------------------------- 節點 . . . . . . . . . . . 主要 節點位址 . . . . . . . . . 9.37.50.17 埠 . . . . . . . . . . . . 12345 友機位址 . . . . . . . . . 9.37.50.14 復原策略 . . . . . . . . . 手動 通訊檢查訊息間隔 . . . . . 500 接管間隔 . . . . . . . . . 2000 狀態 . . . . . . . . . . . 閒置 子狀態 . . . . . . . . . . 非同步 連繫狀態:節點/友機 --------------------------------------- 未配置連繫目標
>>-ccocontrol--metriccollector--+-report--scID+scID2+...:mN+mN2...--------------------------+->< '-set--scID+scID2+...:mN+mN2...--+-timeoutconnect--sec----+-' +-loglevel--level--------+ +-logsize--+-size------+-+ | '-unlimited-' | +-timeoutreceive--sec----+ '-sleeptime--sec---------'
0 = 無
1 = 最少
2 = 基本
3 = 中
4 = 進階
5 = 詳細
範例
ccocontrol metriccollector report sc1:http
這個指令所產生的輸出類似於:
MetricCollector sc1:http 收集的測量單位......... http 日誌層次............... 5 日誌大小............... 1048576 sleepTimeSeconds....... 7 timeoutConnectSeconds.. 21 timeoutReceiveSeconds.. 21
ccocontrol metriccollector set sc1:http timeoutconnect 15 logsize unlimited
>>-ccocontrol--ownerContent--+-add--scID:ocN--ownername--oN--contentrule--cN--------------------------------+->< +-metrics--scID+scID2...:ocN+ocN2...--mN--importance--mN2--i2------------------+ +-refresh--scID+scID2...:ocN+ocN2...-------------------------------------------+ +-remove--scID+scID2...:ocN+ocN2...--------------------------------------------+ +-report--scID+scID2...:ocN+ocN2...--------------------------------------------+ '-set--scID+scID2...:ocN+ocN2...----測量單位--mN--+------------------------+---' +-requeststring--string--+ +-responsestring--string-+ '-重試--numretries-------'
底下是有效測量單位名稱及其相關埠的清單。
通告器名稱 | 通訊協定 | 埠 |
---|---|---|
connect | ICMP | 12345 |
db2 | private | 50000 |
dns | DNS | 53 |
ftp | FTP | 21 |
http | HTTP | 80 |
https | SSL | 443 |
cachingproxy | HTTP (透過 Caching Proxy) | 80 |
imap | IMAP | 143 |
ldap | LDAP | 389 |
nntp | NNTP | 119 |
ping | PING | 0 |
pop3 | POP3 | 110 |
smtp | SMTP | 25 |
ssl | SSL | 443 |
telnet | Telnet | 23 |
WLM | private | 10,007 |
activeconn | 無 | 無 |
connrate | 無 | 無 |
cpuload | 無 | 無 |
memload | 無 | 無 |
範例
ccocontrol ownerContent add sc1:oc1 ownername owner1 contentrule content1
ccocontrol ownerContent metrics sc1:oc1 activeconn 50 http 50
ccocontrol ownerContent report sc1:oc1
這個指令所產生的輸出類似於:
擁有者內容 sc1:oc1 加權值範圍 = 10 測量單位 activeconn 佔比例 25 回應字串... n/a 要求字串.... n/a 測量單位 http 佔比例 50 回應字串... n/a 要求字串.... n/a 測量單位 connrate 佔比例 25 回應字串... n/a 要求字串.... n/a 包含服務程式 t3 包含服務程式 t2 包含服務程式 t1
ccocontrol ownerContent set sc1:oc1 metric http requeststring getCookie
>>-ccocontrol--service--+-report--scID+scID2...:ocN+ocN2...:svc+svc2...---------------------------------+->< '---set--scID+scID2...:ocN+ocN2...:svc+svc2...--+---------------------------+---' +-fixedweight--+-integer-+--+ | '-off-----' | +-requestsourceip--IPAd-----+ +-metricserveraddress--IPAd-+ '-metricserverport--portN---'
範例
ccocontrol service report sc1:oc1:t1
這個指令所產生的輸出類似於:
服務 sc1:oc1:ta 具有加權值 10 固定加權已關閉 要求來源 Ip........... 9.27.24.156 應用程式埠............ 80 MetricServer 位址..... 1.0.0.1 MetricServer 埠....... 10004 測量單位 activeconn 有值 -99 測量單位 http 的值為 -99 測量單位 connrate 的值為 -99
ccocontrol service set sc1:oc1:t2 metricserveraddress 9.37.50.17
本附錄將說明如何使用下列 Nortel Alteon Controller 的 nalcontrol 指令:
您可以使用縮寫版的 nalcontrol 指令參數,方法是鍵入代表參數的唯一字母。 例如,要取得存檔指令的說明,您可以鍵入 nalcontrol he f 而非 nalcontrol help file。
若要取得 nalcontrol 指令提示:鍵入 nalcontrol。
>>-nalcontrol--consultant--+-add--scID--address--swIPAddr--+---------------------------+-+->< | +-rcommunity--readCommName--+ | | '-wcommunity--writeCommName-' | +-binarylog--scID+scID2...--+-report------------------------+-+ | +-set--+-interval--interval---+-+ | | | '-retention--retention-' | | | +-start-------------------------+ | | '-stop--------------------------' | +-remove--scID+scID2...---------------------------------------+ +-report--scID+scID2...---------------------------------------+ +-set--+--------------------------------+---------------------+ | +-loglevel--level----------------+ | | +-logsize--+-size------+---------+ | | | '-unlimited-' | | | +-sensitivity--weight percentage-+ | | '-sleeptime--sec-----------------' | +-start--scID+scID2...----------------------------------------+ '-stop--scID+scID2...-----------------------------------------'
0 = 無
1 = 最少
2 = 基本
3 = 中
4 = 進階
5 = 詳細
範例
nalcontrol consultant add sc1 address 9.37.50.17
nalcontrol consultant binarylog sc1 start
nalcontrol consultant report sc1
這個指令所產生的輸出類似於:
顧問 ID: sc1 交換器 IP 位址: 9.37.50.1 讀取團體: public 寫入團體: private 顧問已啟動 休眠時間 = 7 感應 = 5 日誌層次 = 5 日誌大小 = 1,048,576 服務程式: 服務程式 svc1
nalcontrol consultant set sc1 sleeptime 10
nalcontrol consultant start sc1
>>-nalcontrol--controller--+-report--------------------------+->< '-set--+------------------------+-' +-loglevel--level--------+ '-logsize--+-size------+-' '-unlimited-'
0 = 無
1 = 最少
2 = 基本
3 = 中
4 = 進階
5 = 詳細
範例
nalcontrol controller report
這個指令所產生的輸出類似於:
控制器報告: ------------------------ 版本 . . . . . . . . . . 版本:05.00.00.00 - 03/21/2002-09:49:57-EST 記載層次. . . . . . . . . 1 日誌大小. . . . . . . . . 1048576 配置檔. . . . . . . . . . config1.xml 顧問: 顧問 consult1 已啟動
nalcontrol set loglevel 0
nalcontrol controller set logsize 1000000
>>-nalcontrol--file--+-delete--filename-+---------------------->< +-load--filename---+ +-report-----------+ '-save--filename---'
一般安裝目錄路徑 -- c:\Program Files\ibm\edge\lb\servers\configurations\nal
本機安裝目錄路徑 -- c:\Program Files\ibm\lb\servers\configurations\nal
範例
nalcontrol file delete file1
nalcontrol file load config2
nalcontrol file report
這個指令所產生的輸出類似於:
檔案報告: ------------ file1.xml file2.xml file3.xml
nalcontrol file save config2
>>-nalcontrol--help--+-controller-------+---------------------->< +-consultant-------+ +-file-------------+ +-help-------------+ +-highavailability-+ +-metrinalllector--+ +-ownercontent-----+ '-service----------'
範例
nalcontrol help
這個指令所產生的輸出類似於:
下列指令可供使用: controller - 作用於控制器 consultant - 作用於交換器顧問 file - 作用於配置檔 help - 作用於說明文字 highavailability - 作用於高可用性 metriccollector - 作用於測量單位收集器 server - 作用於伺服器 service - 作用於服務程式
>>-nalcontrol--highavailability--+-add--+-address--address---------------+-+->< | +-partneraddress--partneraddress-+ | | +-port--port---------------------+ | | '-role--+-primary---+------------' | | '-secondary-' | +-dropreach--address----------------------+ +-remove----------------------------------+ +-report----------------------------------+ +-set--+-beatinterval--time-----+---------+ | +-takeoverinterval--time-+ | | +-loglevel--level--------+ | | '-logsize--+-size------+-' | | '-unlimited-' | +-start--+-auto---+-----------------------+ | '-manual-' | +-stop------------------------------------+ +-takeover--------------------------------+ '-usereach--address-----------------------'
0 = 無
1 = 最少
2 = 基本
3 = 中
4 = 進階
5 = 詳細
nalcontrol highavailability add address 9.37.50.17 role primary port 12345 partneraddress 9.37.50.14
nalcontrol highavailability usereach 9.37.50.9
nalcontrol highavailability dropreach 9.37.50.9
nalcontrol highavailability start manual
nalcontrol highavailability report
這個指令所產生的輸出類似於:
高可用性狀態: ------------------------- 節點 . . . . . . . . . . . 主要 節點位址 . . . . . . . . . 9.37.50.17 埠 . . . . . . . . . . . . 12345 友機位址 . . . . . . . . . 9.37.50.14 復原策略 . . . . . . . . . 手動 通訊檢查訊息間隔 . . . . . 500 接管間隔 . . . . . . . . . 2000 已啟動 . . . . . . . . . . N 狀態 . . . . . . . . . . . 閒置 子狀態 . . . . . . . . . . 非同步 連繫狀態:節點/友機 ---------------------------------------
>>-nalcontrol--metricollector--+-report--scID+scID2+...:mN+mN2...--------------------------+->< '-set--scID+scID2+...:mN+mN2...--+-connecttimeout--sec----+-' +-loglevel--level--------+ +-logsize--+-size------+-+ | '-unlimited-' | +-receivetimeout--sec----+ '-sleeptime--sec---------'
0 = 無
1 = 最少
2 = 基本
3 = 中
4 = 進階
5 = 詳細
範例
nalcontrol metrinalllector report sc1:http
這個指令所產生的輸出類似於:
Metrinalllector sc1:http 收集的測量單位......... http 日誌層次............... 5 日誌大小............... 1048576 sleepTimeSeconds....... 7 timeoutConnectSeconds.. 21 timeoutReceiveSeconds.. 21
nalcontrol metrinalllector set sc1:http connecttimeout 15 logsize unlimited
>>-nalcontrol--serer--+-report--scID+scID2...:svcID+svcID2...:serverID+svrID2...-----------------------------------+->< '---set--scID+scID2...:svcID+svcID2...:serverID+svrID2--+--------------------------------+---' +-fixedweight--+-integer-+-------+ | '-off-----' | +-requestsourceip--IPAddress-----+ +-metricserveraddress--IPAddress-+ '-metricserverport--portNumber---'
範例
nalcontrol server report sc1:svc1:1
這個指令所產生的輸出類似於:
伺服器 sc1:svc1:1 擁有的加權 -99 固定加權已關閉 要求來源 Ip............ 9.27.24.156 應用程式埠............. 99 MetricServer 位址...... 9.99.99.98 MetricServer 埠........ 10004 測量單位 activeconn 的值為 -99 測量單位 connrate 的值為 -99
nalcontrol server set sc1:svc1:2 metricserveraddress 9.37.50.17
>>-nalcontrol--service--+-add--scID+scID2...:serviceID+svcID2...--vsid--virSvrID--vport--virPortNum------+->< +-測量單位--scID+scID2...:svcID+svcID2...--mN--importance--mCN2--i2--------------+ +-refresh--scID+scID2...:svcID+svcID2...-----------------------------------------+ +-remove--scID+scID2...:svcID+svcID2...------------------------------------------+ +-report--scID+scID2...:svcID+svcID2...------------------------------------------+ '-set--scID+scID2...:svcID+svcID2...----metric--mN----+-requeststring--string--+-' +-responsestring--string-+ '-重試--numretries-------'
底下是有效測量單位名稱及其相關埠的清單。
通告器名稱 | 通訊協定 | 埠 |
---|---|---|
connect | ICMP | 12345 |
db2 | private | 50000 |
dns | DNS | 53 |
ftp | FTP | 21 |
http | HTTP | 80 |
https | SSL | 443 |
cachingproxy | HTTP (透過 Caching Proxy) | 80 |
imap | IMAP | 143 |
ldap | LDAP | 389 |
nntp | NNTP | 119 |
ping | PING | 0 |
pop3 | POP3 | 110 |
smtp | SMTP | 25 |
ssl | SSL | 443 |
telnet | Telnet | 23 |
WLM | private | 10,007 |
activeconn | 無 | 無 |
connrate | 無 | 無 |
cpuload | 無 | 無 |
memload | 無 | 無 |
範例
nalcontrol service add sc1:svc1 vsid 1 vport 80
nalcontrol service metrics sc1:svc1 activeconn 50 http 50
nalcontrol service report sc1:svc1
這個指令所產生的輸出類似於:
服務程式 sc1:svc1 Weightbound = 48 測量單位 activeconn 佔比例 50 測量單位 connrate 佔比例 50 包含伺服器 4 包含伺服器 3 包含伺服器 2 包含伺服器 1
nalcontrol service set sc1:svc1 metric http requeststring getLastErrorCode
在 Load Balancer 的圖形式使用者介面 (GUI) 中,其左側畫面會顯示一樹狀結構,最上層為 Load Balancer, Dispatcher、Content Based Routing (CBR)、Site Selector、Cisco CSS Controller 及 Nortel Alteon Controller 則為元件。
如需強調各個不同元件之 Load Balancer GUI 的圖形範例,請參閱:
圖 41. 顯示 GUI 樹狀結構並展開 Dispatcher 元件的圖形式使用者介面 (GUI)
圖 42. 顯示 GUI 樹狀結構並展開 CBR 元件的圖形式使用者介面 (GUI)
圖 43. 顯示 GUI 樹狀結構並展開 Site Selector 元件的圖形式使用者介面 (GUI)
圖 44. 顯示 GUI 樹狀結構並展開 Cisco CSS Controller 元件的圖形式使用者介面 (GUI)
圖 45. 顯示 GUI 樹狀結構並展開 Nortel Alteon Controller 元件的圖形式使用者介面 (GUI)
所有元件都可以從 GUI 來配置。 您可以藉由按一下滑鼠按鍵 1 (通常是左鍵) 來選取樹狀結構中的元素,然後藉由按一下滑鼠按鍵 2 (通常是右鍵) 來顯示蹦現功能表。 您也可以從畫面頂端的功能表列中存取樹狀結構元素的蹦現功能表。
若要從 GUI 執行指令:請高亮度顯示 GUI 樹狀結構中的「主電腦」節點,並從「主電腦」蹦現功能表中選取傳送指令....。 在指令輸入欄位中,鍵入要執行的指令,例如:executor report。 您在現行階段作業中所執行的指令,其結果及歷程將出現在所提供的視窗中。
畫面右邊會顯示目前所選取之元素的狀態指示器標籤。
若要存取說明,可按一下 Load Balancer 視窗右上角的問號 (?)。
本附錄將說明如何使用 CBR 元件及 Dispatcher 元件之 cbr 轉送方法的內容規則 (型樣) 語法,以及有關其用法的情節與範例。
此語法只有當您選取了「內容」當作規則類型後才適用。
請輸入您想使用的型樣語法,但須注意下列限制:
保留關鍵字後面一定會接著一個等號 (=)。
以 http://www.company.com/path/webpage.htm 為目標的瀏覽器可能會得到下列值:
Method=GET URI=/path/webpage.htm Version=HTTP/1.1 Host=www.company.com Connection=Keep-Alive Referer=http://www.company.com/path/parentwebpage.htm
例如,下列指令只在使用 cbrcontrol>> 提示時才屬有效。
rule add 10.1.203.4:80:cbr_prod_rule_ek type content pattern client=181.0.153.222&uri=/nipoek/*
使用特殊字元時,若要使此同一指令能在作業系統的提示下作用,須在型樣前後加上雙引號 (" "),如下所示:
cbrcontrol rule add 10.1.203.4:80:cbr_prod_rule_ek type content pattern "client=181.0.153.222&uri=/nipoek/*"
如果未使用引號,當規則存入 CBR 時,部份型樣將遭截斷。 請注意:使用 cbrcontrol>> 指令提示時,引號並不被支援。
以下是使用型樣語法時的一些可能情節與範例
情節 1:
叢集名稱的設定涉及一組 Web 伺服器負責處理標準 HTML 內容,另一組具備 WebSphere Application Server 的 Web 伺服器處理 servlet 要求,另一組 Lotus Notes 伺服器處理 NSF 檔案,依此類推。 要分辨這些所要求的頁面,必須存取從屬站的資料。還須將其傳送給適當的伺服器。 內容型樣相符規則可提供完成此類作業所需的分隔。 其間配置了一系列的規則,所以必需的要求分隔將自動發生。 例如,下列指令會完成所提的三項分割:
>>rule add cluster1:80:servlets type content pattern uri=*/servlet/* priority 1 >>rule uses cluster1:80:servlets server1+server2
>>rule add cluster1:80:notes type content pattern uri=*.nsf* priority 2 >>rule uses cluster1:80:notes server3+server4
>>rule add cluster1:80:regular type true priority 3 >>rule uses cluster1:80:regular server5+server6
若一 NSF 檔案的要求送達 Load Balancer,首先檢查的是 servlets 規則,但並不相符。 此要求接著由附註規則加以檢查,並回報符合。 從屬站即在 server3 及 server4 之間進行平衡負載。
情節 2
另一個常見的情節發生在主要網站控制了數個獨特的內部群組時。 例如, www.company.com/software 涉及了來自 www.company.com/hardware 部門的不同伺服器組及內容。 由於要求都是發自 root www.company.com 叢集,因此需要內容規則來查明 URI 差異並完成平衡負載。 此情節的規則與下列者類似:
>>rule add cluster1:80:div1 type content pattern uri=/software/* priority 1 >>rule uses cluster1:80:div1 server1+server2
>>rule add cluster1:80:div2 type content pattern uri=/hardware/* priority 2 >>rule uses cluster1:80:div2 server3+server4
情節 3
某些組合對各規則的搜尋順序極為敏感。 例如,在情節 2 中,從屬站會根據其要求路徑中的目錄來分割; 不過,目標目錄可能會出現在該路徑的多個層次,而放置處不同其意義亦不同。 例如,www.company.com/pcs/fixes/software 與 www.company.com/mainframe/fixes/software 便是不同的目標。 故必須定義規則來處理此可能性,而不要在同一時刻應付過多情節。 例如,『uri=*/software/*』 測試對此情況即為過於廣泛的萬用字元搜尋。 選擇方案規則可用下列方式來架構:
透過組合搜尋來縮小範圍:
>>rule add cluster1:80:pcs type content pattern (uri=/pcs/*)&(uri=*/software/*) >>rule uses cluster 1:80:pcs server1
若無任何組合可用時,順序就變得很重要:
>>rule add cluster1:80:pc1 type content pattern uri=/pcs/* >>rule uses cluster1:80:pc1 server2
當 『pcs』 出現在稍後的目錄點而非第一個時,第二個規則即接手。
>>rule add cluster1:80:pc2 type content pattern uri=/*/pcs/* >>rule uses cluster1:80:pc2 server3
幾乎大多數的情況下,您會想用預設的永久為真規則來完成規則,以應付其它規則無法處理的任何狀況。 對於所有其它伺服器皆無法服務此從屬站的情節,這也可以是 『對不起,站台目前已當機,請稍後再試』伺服器。
>>rule add cluster1:80:sorry type true priority 100 >>rule uses cluster1:80:sorry server5
本附錄包含了 Load Balancer 的 Dispatcher 元件的範例配置檔。
範例檔位在 ...ibm/edge/lb/servers/samples/ 目錄中。
#!/bin/bash
#
# configuration.sample - Sample configuration file for the
Dispatcher component
#
#
# Ensure the root user is the one executing this script.
#
# iam=`whoami`
# if [ "$iam" != "root" ]if [ "$iam" != "root" ]
# then
# echo "You must login as root to run this script"
# exit 2
# fi
#
# First start the server
#
# dsserver start
# sleep 5
#
# Then start the executor
#
# dscontrol executor start
#
# The Dispatcher can be removed at any time using the
# "dscontrol executor stop" and "dsserver stop" commands to
# stop the executor and server respectively prior to removing
# the Dispatcher software.
#
# The next step in configuring the Dispatcher is to set the
# NFA (non-forwarding address) and the cluster address(es).
#
# The NFA is used to remotely access the Dispatcher machine
# for administration or configuration purposes. This
# address is required since the Dispatcher will forward packets
# to the cluster address(es).
#
# The CLUSTER address is the hostname (or IP address) to
# which remote clients will connect.
#
# Anywhere in this file, you may use hostnames and IP
# addresses interchangeably.
#
# NFA=hostname.domain.name
# CLUSTER=www.yourcompany.com
# echo "Loading the non-forwarding address"
# dscontrol executor set nfa $NFA
#
# The next step in configuring the Dispatcher is to create
# a cluster. The Dispatcher will route requests sent to
# the cluster address to the corresponding server machines
# defined to that cluster. You may configure and server
# multiple cluster address using Dispatcher.
# Use a similar configuration for CLUSTER2, CLUSTER3, etc.
#
# echo "Loading first CLUSTER address "
# dscontrol cluster add $CLUSTER
#
# Now we must define the ports this cluster will use. Any
# requests received by the Dispatcher on a defined port will
# be forwared to the corresponding port of one of the server
# machines.
#
# echo "Creating ports for CLUSTER: $CLUSTER"
# dscontrol port add $CLUSTER:20+21+80
#
# The last step is to add each of the server machines to the
# ports in this cluster.
# Again, you can use either the hostname or the IP address
# of the server machines.
#
# SERVER1=server1name.domain.name
# SERVER2=server2name.domain.name
# SERVER3=server3name.domain.name
# echo "Adding server machines"
# dscontrol server add $CLUSTER:20+21+80:
# $SERVER1+$SERVER2+$SERVER3
#
# We will now start the load balancing components of the
# Dispatcher. The main load balancing component is called
# the manager and the second load balancing components are the
# advisors. If the manager and advisors are not running the
# Dispatcher sends requests in a round-robin format. Once the
# manager is started, weighting decisions based on the number
# of new and active connections is employed and incoming
# requests are sent to the best server. The advisors give the
# manager further insight into a servers ability to service
# requests as well as detecting whether a server is up. If
# an advisor detects that a server is down it will be
# marked down (providing the manager proportions have been
# set to include advisor input) and no further requests will be
#
# The last step in setting up the load balancing components
# is to set the manager proportions. The manager updates the
# weight of each of the servers based on four policies:
# 1. The number of active connections on each server.
# 2. The number of new connections to each server.
# 3. Input from the advisors.
# 4. Input from the system level advisor.
# These proportions must add up to 100. As an example, setting
# the manager proportions to
# dscontrol manager proportions 48 48 0 0
# will give active and new connections 48% input into the
# weighting decision, the advisors will contribute 4% and
# the system input will not be considered.
#
# NOTE: By default the manager proportions are set to 50 50 0 0
#
# echo "Starting the manager..."
# dscontrol manager start
# echo "Starting the FTP advisor on port 21 ..."
# dscontrol advisor start ftp 21
# echo "Starting the HTTP advisor on port 80 ..."
# dscontrol advisor start http 80
# echo "Starting the Telnet advisor on port 23 ..."
# dscontrol advisor start telnet 23
# echo "Starting the SMTP advisor on port 25 ..."
# dscontrol advisor start smtp 25
# echo "Starting the POP3 advisor on port 110 ..."
# dscontrol advisor start pop3 110
# echo "Starting the NNTP advisor on port 119 ..."
# dscontrol advisor start nntp 119
# echo "Starting the SSL advisor on port 443 ..."
# dscontrol advisor start ssl 443
#
# echo "Setting the manager proportions..."
# dscontrol manager proportions 58 40 2 0
#
# The final step in setting up the Dispatcher machine is to
# alias the Network Interface Card (NIC).
#
# NOTE: Do NOT use this command in a high availability
# environment. The go* scripts will configure the NIC and
# loopback as necessary.
# dscontrol executor configure $CLUSTER
# If your cluster address is on a different NIC or subnet
from the NFA use the following format for the cluster configure
command.
# dscontrol executor configure $CLUSTER tr0 0xfffff800
# where tr0 is your NIC (tr1 for the second token ring card, en0
# for the first ethernet card) and 0xfffff800 is a valid
# subnet mask for your site.
#
#
# The following commands are set to the default values.
# Use these commands as a guide to change from the defaults.
# dscontrol manager loglevel 1
# dscontrol manager logsize 1048576
# dscontrol manager sensitivity 5.000000
# dscontrol manager interval 2
# dscontrol manager refresh 2
#
# dscontrol advisor interval ftp 21 5
# dscontrol advisor loglevel ftp 21 1
# dscontrol advisor logsize ftp 21 1048576
# dscontrol advisor timeout ftp 21 unlimited
# dscontrol advisor interval telnet 23 5
# dscontrol advisor loglevel telnet 23 1
# dscontrol advisor logsize telnet 23 1048576
# dscontrol advisor timeout telnet 23 unlimited
# dscontrol advisor interval smtp 25 5
# dscontrol advisor loglevel smtp 25 1
# dscontrol advisor logsize smtp 25 1048576
# dscontrol advisor timeout smtp 25 unlimited
# dscontrol advisor interval http 80 5
# dscontrol advisor loglevel http 80 1
# dscontrol advisor logsize http 80 1048576
# dscontrol advisor timeout http 80 unlimited
# dscontrol advisor interval pop3 110 5
# dscontrol advisor loglevel pop3 110 1
# dscontrol advisor logsize pop3 110 1048576
# dscontrol advisor timeout pop3 110 unlimited
# dscontrol advisor interval nntp 119 5
# dscontrol advisor loglevel nntp 119 1
# dscontrol advisor logsize nntp 119 1048576
# dscontrol advisor timeout nntp 119 unlimited
# dscontrol advisor interval ssl 443 5
# dscontrol advisor loglevel ssl 443 1
# dscontrol advisor logsize ssl 443 1048576
# dscontrol advisor timeout ssl 443 unlimited
#
以下所列是搭配 Window 使用的範例 Load Balancer 配置檔,稱之為 configuration.cmd.sample。
@echo off rem configuration.cmd.sample - Sample configuration file for the rem Dispatcher component. rem rem dsserver must be started via Services rem rem rem Then start the executor rem rem call dscontrol executor start rem rem The next step in configuring the Dispatcher is to set the rem NFA (non-forwarding address) and to set the cluster rem address(es). rem rem The NFA is used to remotely access the Dispatcher rem machine for administration configuration purposes. This rem address is required since the Dispatcher will forward rem packets to the cluster address(es). rem rem The CLUSTER address is the hostname (or IP address) to which rem remote clients will connect. rem rem Anywhere in this file, you may use hostnames and IP rem addresses interchangeably. rem NFA=[non-forwarding address] rem CLUSTER=[your clustername] rem rem set NFA=hostname.domain.name rem set CLUSTER=www.yourcompany.com rem echo "Loading the non-forwarding address" rem call dscontrol executor set nfa %NFA% rem rem The following commands are set to the default values. rem Use these commands to change the defaults rem call dscontrol executor set fintimeout 30 rem call dscontrol executor set fincount 4000 rem rem The next step in configuring the Dispatcher is to create rem a cluster. The Dispatcher will route requests sent to rem the cluster address to the corresponding server machines rem defined to that cluster. You may configure and server rem multiple cluster addresses using Dispatcher. rem Use a similar configuration for CLUSTER2, CLUSTER3, etc. rem rem echo "Loading first CLUSTER address " rem call dscontrol cluster add %CLUSTER% rem rem Now we must define the ports this cluster will use. Any rem requests received by the Dispatcher on a defined port rem will be forwarded to the corresponding rem port of one of the server machines. rem rem echo "Creating ports for CLUSTER: %CLUSTER%" rem call dscontrol port add %CLUSTER%:20+21+80 rem rem The last step is to add each of the server machines to rem the ports in this cluster. Again, you can use either the rem hostname or the IP address of the server machines. rem rem set SERVER1=server1name.domain.name rem set SERVER2=server2name.domain.name rem set SERVER3=server3name.domain.name rem echo "Adding server machines" rem call dscontrol server add %CLUSTER%:20+21+80: rem %SERVER1%+%SERVER2%+%SERVER3% rem rem We will now start the load balancing components of the rem Dispatcher. The main load balancing component is called rem the manager and the second load balancing components are the rem advisors. If the manager and advisors are not rem running the Dispatcher sends requests in a round-robin rem format. Once the manager is started, weighting decisions rem based on the number of new and active connections is rem employed and incoming requests are sent to the best rem server. The advisors give the manager further insight rem into a servers ability to service requests as well as rem detecting whether a server is up. If an advisor detects rem that a server is down it will be marked down (providing the rem manager proportions have been set to include advisor rem input) and no further requests will be routed to the server. rem The last step in setting up the load balancing rem components is to set the manager proportions. The rem manager updates the weight of each of the servers based rem on four policies: rem 1. The number of active connections on each server rem 2. The number of new connections for each server rem 3. Input from the advisors. rem 4. Input from the system level advisor. rem rem These proportions must add up to 100. As an example, rem setting the cluster proportions via rem dscontrol cluster set <cluster> proportions 48 48 4 0 rem will give active and new connections 48% input into the rem weighting decision, the advisor will contribute 4% and rem the system input will not be considered. rem rem NOTE: By default the manager proportions are set to rem 50 50 0 0 rem echo "Starting the manager..." rem call dscontrol manager start rem echo "Starting the FTP advisor on port 21 ..." rem call dscontrol advisor start ftp 21 rem echo "Starting the HTTP advisor on port 80 ..." rem call dscontrol advisor start http 80 rem echo "Starting the Telnet advisor on port 23 ..." rem call dscontrol advisor start telnet 23 rem echo "Starting the SMTP advisor on port 25 ..." rem call dscontrol advisor start smtp 25 rem echo "Starting the POP3 advisor on port 110 ..." rem call dscontrol advisor start pop3 110 rem echo "Starting the NNTP advisor on port 119 ..." rem call dscontrol advisor start nntp 119 rem echo "Starting the SSL advisor on port 443 ..." rem call dscontrol advisor start ssl 443 rem rem echo "Setting the cluster proportions..." rem call dscontrol cluster set %CLUSTER% proportions 58 40 2 0 rem rem The final step in setting up the Dispatcher machine is rem to alias the Network Interface Card (NIC). rem rem NOTE: Do NOT use this command in a high availability rem environment. The go* scripts will configure the NIC and rem loopback as necessary. rem rem dscontrol executor configure %CLUSTER% rem If your cluster address is on a different NIC or subnet rem from the NFA use the following format for the cluster rem configure command. rem dscontrol executor configure %CLUSTER% tr0 0xfffff800 rem where tr0 is your NIC (tr1 for the second token ring card, rem en0 for the first ethernet card) and 0xfffff800 is rem a valid subnet mask for your site. rem rem rem The following commands are set to the default values. rem Use these commands to guide to change from the defaults. rem call dscontrol manager loglevel 1 rem call dscontrol manager logsize 1048576 rem call dscontrol manager sensitivity 5.000000 rem call dscontrol manager interval 2 rem call dscontrol manager refresh 2 rem rem call dscontrol advisor interval ftp 21 5 rem call dscontrol advisor loglevel ftp 21 1 rem call dscontrol advisor logsize ftp 21 1048576 rem call dscontrol advisor timeout ftp 21 unlimited rem call dscontrol advisor interval telnet 23 5 rem call dscontrol advisor loglevel telnet 23 1 rem call dscontrol advisor logsize telnet 23 1048576 rem call dscontrol advisor timeout telnet 23 unlimited rem call dscontrol advisor interval smtp 25 5 rem call dscontrol advisor loglevel smtp 25 1 rem call dscontrol advisor logsize smtp 25 1048576 rem call dscontrol advisor timeout smtp 25 unlimited rem call dscontrol advisor interval http 80 5 rem call dscontrol advisor loglevel http 80 1 rem call dscontrol advisor logsize http 80 1048576 rem call dscontrol advisor timeout http 80 unlimited rem call dscontrol advisor interval pop3 110 5 rem call dscontrol advisor loglevel pop3 110 1 rem call dscontrol advisor logsize pop3 110 1048576 rem call dscontrol advisor timeout pop3 110 unlimited rem call dscontrol advisor interval nntp 119 5 rem call dscontrol advisor loglevel nntp 119 1 rem call dscontrol advisor logsize nntp 119 1048576 rem call dscontrol advisor timeout nntp 119 unlimited rem call dscontrol advisor interval ssl 443 5 rem call dscontrol advisor loglevel ssl 443 1 rem call dscontrol advisor logsize ssl 443 1048576 rem call dscontrol advisor timeout ssl 443 unlimited rem
以下是範例通告器檔案,名稱為 ADV_sample。
/**
* ADV_sample: The Load Balancer HTTP advisor
*
*
* This class defines a sample custom advisor for Load Balancer. Like all
* advisors, this custom advisor extends the function of the advisor base,
* called ADV_Base. It is the advisor base that actually performs most of
* the advisor's functions, such as reporting loads back to the Load Balancer
* for use in the Load Balancer's weight algorithm. The advisor base also
* performs socket connect and close operations and provides send and receive
* methods for use by the advisor. The advisor itself is used only for
* sending and receiving data to and from the port on the server being
* advised. The TCP methods within the advisor base are timed to calculate
* the load. A flag within the constructor in the ADV_base overwrites the
* existing load with the new load returned from the advisor if desired.
*
* Note: Based on a value set in the constructor, the advisor base supplies
* the load to the weight algorithm at specified intervals. If the actual
* advisor has not completed so that it can return a valid load, the advisor
* base uses the previous load.
*
* NAMING
*
* The naming convention is as follows:
*
* - The file must be located in the following Load Balancer directory:
*
* lb/servers/lib/CustomAdvisors/ (lb\servers\lib\CustomAdvisors on Windows)
*
* - The Advisor name must be preceded with "ADV_". The advisor can be
* started with only the name, however; for instance, the "ADV_sample"
* advisor can be started with "sample".
*
* - The advisor name must be in lowercase.
*
* With these rules in mind, therefore, this sample is referred to as:
*
* <base directory>/lib/CustomAdvisors/ADV_sample.class
*
*
* Advisors, as with the rest of Load Balancer, must be compiled with the
* prereq version of Java. To ensure access to Load Balancer classes, make
* sure that the ibmnd.jar file (located in the lib subdirectory of the base
* directory) is included in the system's CLASSPATH.
*
* Methods provided by ADV_Base:
*
* - ADV_Base (Constructor):
*
* - Parms
* - String sName = Name of the advisor
* - String sVersion = Version of the advisor
* - int iDefaultPort = Default port number to advise on
* - int iInterval = Interval on which to advise on the servers
* - String sDefaultLogFileName = Unused. Must be passed in as "".
* - boolean replace = True - replace the load value being calculated
* by the advisor base
* False - add to the load value being calculated
* by the advisor base
* - Return
* - Constructors do not have return values.
*
* Because the advisor base is thread based, it has several other methods
* available for use by an advisor. These methods can be referenced using
* the CALLER parameter passed in getLoad().
*
* These methods are as follows:
*
* - send - Send a packet of information on the established socket connection
* to the server on the specified port.
* - Parms
* - String sDataString - The data to be sent in the form of a string
* - Return
* - int RC - Whether the data was sucessfully sent or not: zero indicates
* data was sent; a negative integer indicates an error.
*
* - receive - Receive information from the socket connection.
* - Parms
* - StringBuffer sbDataBuffer - The data received during the receive call
* - Return
* - int RC - Whether the data was successfully received or not; zero
* indicates data was sent; a negative integer indicates
* an error.
*
* If the function provided by the advisor base is not sufficient,
* you can create the appropriate function within the advisor and
* the methods provided by the advisor base will then be ignored.
*
* An important question regarding the load returned is whether to apply
* it to the load being generated within the advisor base,
* or to replace it; there are valid instances of both situations.
*
* This sample is essentially the Load Balancer HTTP advisor. It functions
* very simply: a send request--an http head request--is issued. Once a
* response is received, the getLoad method terminates, flagging the advisor
* base to stop timing the request. The method is then complete. The
* information returned is not parsed; the load is based on the time
* required to perform the send and receive operations.
*/
package CustomAdvisors;
import com.ibm.internet.nd.advisors.*;
public class ADV_sample extends ADV_Base implements ADV_MethodInterface
{
String COPYRIGHT = "(C) Copyright IBM Corporation 1997, All Rights Reserved.\n";
static final String ADV_NAME = "Sample";
static final int ADV_DEF_ADV_ON_PORT = 80;
static final int ADV_DEF_INTERVAL = 7;
// Note: Most server protocols require a carriage return ("\r") and line
// feed ("\n") at the end of messages. If so, include them in
// your string here.
static final String ADV_SEND_REQUEST =
"HEAD / HTTP/1.0\r\nAccept: */*\r\nUser-Agent: " +
"IBM_Load_Balancer_HTTP_Advisor\r\n\r\n";
/**
* Constructor.
*
* Parms: None; but the constructor for ADV_Base has several parameters
* that must be passed to it.
*
*/
public ADV_sample()
{
super( ADV_NAME,
"2.0.0.0-03.27.98",
ADV_DEF_ADV_ON_PORT,
ADV_DEF_INTERVAL,
"", // not used
false);
super.setAdvisor( this );
}
/**
* ADV_AdvisorInitialize
*
* Any Advisor-specific initialization that must take place after the
* advisor base is started. This method is called only once and is
* typically not used.
*/
public void ADV_AdvisorInitialize()
{
return;
}
/**
* getLoad()
*
* This method is called by the advisor base to complete the advisor's
* operation, based on details specific to the protocol. In this sample
* advisor, only a single send and receive are necessary; if more complex
* logic is necessary, multiple sends and receives can be issued. For
* example, a response might be received and parsed. Based on the
* information learned thereby, another send and receive could be issued.
*
* Parameters:
*
* - iConnectTime - The current load as it refers to the length of time it
* took to complete the connection to the server through
* the specified port.
*
* - caller - A reference to the advisor base class where the Load
* Balancer-supplied methods are to perform simple TCP requests,
* mainly send and receive.
*
* Results:
*
* - The load - A value, expressed in milliseconds, that can either be added
* to the existing load, or that can replace the existing load, as
* determined by the constructor's "replace" flag.
*
* The larger the load, the longer it took the server to respond;
* therefore, the lower the weight will become within the Load Balancer.
*
* If the value is negative, an error is assumed. An error from an
* advisor indicates that the server the advisor is trying to reach is not
* accessible and has been identified as being down. Load Balancer will
* not attempt to load balance to a server that is down. Load Balancer will
* resume load balancing to the server when a positive value is received.
*
*/
public int getLoad(int iConnectTime, ADV_Thread caller)
{
int iRc;
int iLoad = ADV_HOST_INACCESSIBLE; // -1
// Send tcp request
iRc = caller.send(ADV_SEND_REQUEST);
if (iRc >= 0)
{
// Perform a receive
StringBuffer sbReceiveData = new StringBuffer("");
iRc = caller.receive(sbReceiveData);
/**
* In the normal advisor mode ("replace" flag is false), the load
* returned is either 0 or 1 indicating the server is up or down.
* If the receive is successful, a load of zero is returned
* indicating that the load built within the base advisor is to be used.
*
* Otherwise ("replace" flag is true), return the desired load value.
*/
if (iRc >= 0)
{
iLoad = 0;
}
}
return iLoad;
}
} // End - ADV_sample
本附錄將說明如何設定兩層高可用性配置, 結合兩個 Load Balancer 元件 (Dispatcher 元件與 CBR 元件) 以及 Caching Proxy 的功能。
圖 46. 使用 Dispatcher、CBR 及 Caching Proxy 的兩層高可用性配置範例
圖 46 的伺服器機器設定如下:
圖 46 所示為多個伺服器 (EdgeServer1、EdgeServer2、EdgeServer3) 針對多個後端 Web 伺服器進行平衡負載時的基本呈現。 CBR 元件是根據 URL 的內容,利用 Caching Proxy 將要求轉送給後端 Web 伺服器。 Dispatcher 元件是用來跨 EdgeServers 來平衡負載 CBR 元件。 Dispatcher 元件的高可用性特性則是用於確保相關要求會隨時持續地送達後端伺服器,即使主要高可用性機器 (EdgeServer1) 發生故障。
基本配置指南:
Caching ON CacheMemory 128000 K ReversePass /* http://websrvA.company.com/* http://www.company.com/*
範例配置檔:
下列範例配置檔即類似於設定 Edge 元件配置時所建立的檔案,如圖 46 中所示。 此範例配置檔代表了 Load Balancer 之 Dispatcher 及 CBR 元件的檔案。 在此範例配置中,各 EdgeServer 機器皆使用了單一乙太網路配接卡, 而所有位址皆呈現在專用子網路中。 此範例配置檔對指定之機器使用了下列 IP 位址:
主要高可用性 EdgeServer 上之 Dispatcher 元件的範例配置檔:
dscontrol executor start dscontrol cluster add 192.168.1.11 primaryhost 192.168.1.10 dscontrol port add 192.168.1.11:80 dscontrol server add 192.168.1.11:80:edgeserver1 address 192.168.1.10 dscontrol server add 192.168.1.11:80:edgeserver2 address 192.168.1.20 dscontrol server add 192.168.1.11:80:edgeserver3 address 192.168.1.30 dscontrol manager start manager.log 10004 dscontrol highavailability heartbeat add 192.168.1.10 192.168.1.20 dscontrol highavailability backup add primary auto 4567
EdgeServers 上之 CBR 元件的範例配置檔:
cbrcontrol set loglevel 1 cbrcontrol executor start cbrcontrol cluster add 192.168.1.11 cbrcontrol port add 192.168.1.11:80 cbrcontrol server add 192.168.1.11:80:webserverA address 192.168.1.71 cbrcontrol server add 192.168.1.11:80:webserverB address 192.168.1.72 cbrcontrol server add 192.168.1.11:80:webserverC address 192.168.1.73 cbrcontrol rule add 192.168.1.11:80:webA_rule type content pattern (URI=*WSA*)|(URI=*wsA*) priority 21 cbrcontrol rule useserver 192.168.1.11:80:webA_rule webserverA cbrcontrol rule add 192.168.1.11:80:webB_rule type content pattern (URI=/WS_B*) priority 22 cbrcontrol rule useserver 192.168.1.11:80:webB_rule webserverB cbrcontrol rule add 192.168.1.11:80:webC_rule type content pattern URI=*webC* priority 23 cbrcontrol rule useserver 192.168.1.21:80:webC_rule webserverC
本資訊是針對 IBM 在美國所提供之產品與服務開發出來的。
而在其他國家中,IBM 不一定會提供本書中所提的各項產品、 服務、或功能。要知道在您所在地區是否可用到這些產品與服務時,請向當地的 IBM 服務代表查詢。 本書在提及 IBM 產品、程式或服務時,不表示或暗示只能使用 IBM 產品、程式或服務。 只要未侵犯 IBM 的智慧財產權,任何功能、產品或服務都可以取代 IBM 的產品。 不過,其他非 IBM 產品、程式或服務在運作上的評價與驗證,其責任屬於使用者。
在這本書或文件中可能包含著 IBM 所擁有之專利或專利申請案。
本書使用者並不享有前述專利之任何授權。您可以用書面方式來查詢授權,來函請寄到:
IBM Director of Licensing
IBM Corporation
500 Columbus Avenue
Thornwood, NY 10594
U.S.A.
若要查詢有關二位元組 (DBCS) 資訊的特許權限事直,請聯絡您國家的 IBM 智慧財產部門,
或者用書面方式寄到:
IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106, Japan
下列段落若與該國之法律條款抵觸,即視為不適用:
IBM 只以「現狀」提供這份文件,並不提供任何明示或暗示的保證, 其中包括且不限於無侵權、可銷售性或特定目的之適用性的隱含保證。 若有些地區在某些交易上並不允許排除上述保證,則該排除無效。
本書中可能會有技術上或排版印刷上的訛誤。 因此,IBM 會定期修訂;並將修訂後的內容納入新版或文件中。 同時,IBM 得隨時改進並 (或) 變動本書中所提及的產品及 (或) 程式。
資訊中提供的非 IBM 網站僅供 貴客戶參考方便,絕不代表為那些網站背書。 那些網站上的內容並非本 IBM 產品內容的一部份, 貴客戶使用該網站時應自行承擔風險。
IBM 得以各種適當的方式使用或散布由 貴客戶提供的任何資訊,而無需對您負責。
本程式之獲授權者若希望取得相關資料,
以便使用下列資訊者可洽詢 IBM。
其下列資訊指的是:
(1) 獨立開發的程式與其他程式 (包括本程式) 之間更換資訊的方式
(2) 相互使用已交換之資訊方法。
若有任何問題請聯繫:
IBM Corporation
Attn.: G7IA./503.
P.O. Box 12195
3039 Cornwallis Rd.
Research Triangle Park, N.C. 27709-2195
U.S.A.
上述資料之取得有其特殊要件,在某些情況下必須付費方得使用。
IBM 基於雙方之「IBM 國際程式授權合約」(或任何同等合約) 條款, 提供本文件中所述的授權程式與其所有適用的授權資料。
這裡所包含的任何效能資料,都是在受控制的環境內而取得的。 因此,在其它作業環境中,所得的結果可能大大不同。 有些測定是在開發階段的系統上進行的,不過這並不保證在一般系統上會出現相同結果。 此外,有些測量結果可能是透過推測方式評估的。 實際結果結果可能會不同。 本文件的用戶應查證所屬環境是否適用這些資料。
本書所提及之非 IBM 產品資訊,係一由產品的供應商,或其出版的聲明或其它 公開管道取得。IBM 並未測試過這些產品,也無法確認這些非 IBM 產品的執行效能、相容性或產品的任何其他主張是否完全無誤。 有關非 IBM 產品的性能問題應直接洽詢該產品供應商。
有關 IBM 未來動向的任何陳述,只代表 IBM 的目標而已,並可能於未事先聲明的情況下有所變動或撤回。
本資訊含有日常業務運作所用的資料報告範例。 為了盡可能地加以完整說明,範例中含有個人、公司、品牌及產品的名稱。 所有名稱均是虛構的, 如有任何名稱及地址與實際商業公司所使用的類似,純屬巧合。
如果您閱讀本資訊軟本,照片及彩色圖例可能不會出現。
下列術語為 IBM 公司在美國及 (或) 其它國家的註冊商標或商標:
AFS
AIX
DFS
IBM
OS/2
NetView
RS/6000
SecureWay
ViaVoice
WebSphere
Lotus 及 WordPro 是國際商業機器股份有限公司 (IBM) 及 Lotus Development Corporation 在美國及 (或) 其它國家的商標。
Tivoli 是 Tivoli Systems, Inc. 在美國及 (或) 其它國家的註冊商標。
Java 及所有以 Java 為基礎的商標及標誌是 Sun Microsystems, Inc. 在美國及 (或) 其他國家的商標或註冊商標。
Solaris 是 Sun Microsystems, Inc. 公司在美國及 (或) 其他國家的商標。
Microsoft 及 Windows 2000 是 Microsoft Corporation 公司在美國及 (或) 其他國家的商標或註冊商標。
UNIX 是 The Open Group 在美國及其他國家的註冊商標。
其它用雙星號 (**) 標示的公司、產品和服務名稱, 可能是其它公司的商標或服務標記。
其他公司、產品及服務名稱可能是其他公司的商標或服務標記。