Sun Java System Application Server 9.1 部署規劃指南

HADB 架構

HADB 是包含成對節點的分散式系統。節點會分成兩個資料備援單元 (DRU),每個節點來自每個 DRU 的每對節點,如資料備援單元中所述。

每個節點包含:

可代管一或多個階段作業資料庫的一組 HADB 節點。 每個階段作業資料庫與不同的應用程式伺服器叢集相關聯。刪除叢集也會刪除相關聯的階段作業資料庫。

如需 HADB 硬體需求的資訊,請參閱「Sun Java System Application Server 9.1 版本說明」中的「硬體和軟體需求」

節點與節點程序

HADB 節點有兩種類型:

每個節點皆有一個父程序和數個子程序。父程序又稱為節點監督員 (NSUP),由管理代理程式啟動。父程序負責建立子程序並將其保持在執行狀態。

子程序包含:

資料備援單元

如前所述,每個 HADB 實例包含一對 DRU。每個 DRU 與配對中另一個 DRU 有相同數目的使用中節點及備用節點。DRU 中的每個使用中節點在另一個 DRU 中有 鏡像節點。由於鏡像的原因,每個 DRU 會包含完整的資料庫複本。

下圖顯示內含六個節點的 HADB 架構範例:四個使用中節點與兩個備用節點。節點 0 與 1、2 與 3 是鏡像組。在此範例中,每個主機有一個節點。一般來說,若主機有足夠的系統資源,便可有多個節點 (請參閱系統需求)。


備註 –

您必須增加代管成對 HADB 節點的機器,每個 DRU 中有一部機器。


HADB 透過複製資料與服務可達成高可用性。鏡像節點上的資料複本會指定為主要複本緊急待命複本。主要複本會執行插入、刪除、更新與讀取等作業。緊急待命複本會接收主要複本作業的記錄,並在作業事件存留時間內加以重做。僅有主要節點可執行讀取作業,因此不會記錄。每個節點皆包含主要複本與緊急待命複本,並扮演這兩個角色。資料庫會分段並分散至 DRU 中的使用中節點。鏡像組中的各節點包含相同的一組資料片段。複製鏡像節點中的資料稱為複製。複製可讓 HADB 提供高可用性:當節點故障時,鏡像節點幾乎會立即接管 (幾秒內)。複製可確保可用性並使人無法察覺節點故障或 DRU 故障,而不致失去資料或無法提供服務。

當鏡像節點接管故障節點的功能時,必須執行雙份工作:也就是自己的工作以及故障節點的工作。若鏡像節點的資源不足,超載情況會降低節點的效能並增加節點故障的可能性。當節點故障時,HADB 會嘗試重新啟動節點。若故障的節點無法重新啟動 (例如由於硬體故障),系統會繼續運作但可用性會降低。

HADB 可容許一個節點、整個 DRU 或多個節點故障,但無法容許節點與鏡像節點同時故障的「雙重故障」。如需有關如何降低雙重故障可能性的資訊,請參閱減少雙重故障的機會

備用節點

當節點故障時,其鏡像節點會接管故障的節點。若故障的節點沒有備用節點,則此時故障的節點將無鏡像節點。備用節點會自動取代故障節點的鏡像節點。擁有備用節點可降低系統沒有鏡像節點的運作時間。

備用節點一般不含資料,但會不斷監視 DRU 中使用中節點是否故障。當節點故障且在指定逾時期間未回復時,備用節點會從鏡像節點複製資料並與之同步化。所需的時間視複製的資料量及系統與網路能力而定。進行同步化之後,備用節點會無須手動介入而自動取代鏡像節點,從而解除鏡像節點的超載情況,而平衡鏡像節點的負載。這又稱為故障回復自我修復

修復故障的主機 (透過更換硬體或升級軟體) 並重新啟動時,由於原始備用節點現在變成使用中,因此在此主機上執行的一或多個節點,會加入系統成為備用節點。

備用節點不是必要項目,但這些節點可讓系統即使在機器故障時,也可維持其服務整體水準。備用節點亦可簡化在代管使用中節點的機器上,執行規劃維護的作業。為每個 DRU 配置一部機器作為備用機器,如此一來,若其中一部機器故障,HADB 系統便可繼續,而不會對效能與可用性造成不良影響。


備註 –

一般來說,請以具有足夠應用程式伺服器實例與 HADB 節點的備用機器,取代無法使用的任何機器。


備用節點配置範例

下列範例說明如何在 HADB 部署中使用備用節點。可能的部署拓樸有兩種:並置,在此拓樸中,HADB 與 Application Server 位於相同的主機上;以及個別層級,在此拓樸中,HADB 與 Application Server 位於不同的主機上。如需有關部署拓樸的更多資訊,請參閱第 3 章, 選取拓樸

範例:並置配置

在此備用節點配置範例中,假設您有一個內含四部 Sun FireTM V480 伺服器的並置拓樸,其中每部伺服器有一個應用程式伺服器實例與兩個 HADB 資料節點。

請為備用節點額外配置兩部伺服器 (每個 DRU 一部機器)。每個備用機器執行一個應用程式伺服器實例以及兩個備用 HADB 節點。

範例:個別層級配置

假設您有一個個別層級的拓樸,其中 HADB 層有兩部 Sun FireTM 280R 伺服器,每部伺服器執行兩個 HADB 資料節點。若要在即使一部機器無法使用的情況下,維持此系統的完整能力,請為應用程式伺服器實例層與 HADB 層各配置一部備用機器。

應用程式伺服器實例層的備用機器,必須和應用程式伺服器實例層中其他機器有相同數目的實例。同理,HADB 層的備用機器,必須和 HADB 層中其他機器有相同數目的 HADB 節點。