Sun Java System Application Server Enterprise Edition 8.1 2005Q2 高可用性管理指南

第 2 章 安裝和設定高可用性資料庫

本小節包含以下主題:

高可用性資料庫簡介

本小節說明高可用性資料庫 (HADB) 並說明如何設定和配置 HADB 以與應用程式伺服器配合使用。

本小節包含下列主題:

HADB 和 Application Server

HADB 是具有水平可延伸性的資料庫,可獨立於應用程式伺服器階層之外執行和管理。它旨在使用負載平衡、容錯移轉和狀態回復功能,支援高達 99.999% 的服務和資料可用性。

Application Server 使用 HADB 儲存 HTTP 和有狀態階段作業 Bean (SFSB) 階段作業資料。如果不具有階段作業持續性機制,則在 Web 或 EJB 容器執行容錯移轉時,會遺失 HTTP 或 SFSB 階段作業狀態資料。

應用程式伺服器不負責狀態管理工作,這種作法的優點非常重要。應用程式伺服器實例在其生命週期內充當可延伸且高效能的 Java™ 2 Platform, Enterprise Edition (J2EE™ 平台) 容器,並將狀態複製功能委託給外部高可用性狀態服務。由於採用此鬆耦合架構,因此可以輕鬆將應用程式伺服器實例增加至叢集或從叢集中移除應用程式伺服器實例。您可以獨立地縮放 HADB 狀態複製服務的比例,以獲得最佳化可用性和效能。

HADB 伺服器架構

高可用性是指無論發生由於升級而引起的預期故障,還是發生由於硬體或軟體故障所導致的未預期故障,系統仍然具有可用性。HADB 基於簡單資料模型和具有可延伸性的備援高效能技術。在高效能企業應用程式伺服器環境中,HADB 為傳送各種類型的階段作業狀態持續性提供了理想的平台。

下圖顯示了具有四個使用中節點和兩個備用節點的資料庫架構。節點 0 和 1 為鏡像節點對,節點 2 和 3 亦如此。

圖 2–1 HADB 架構

HADB 架構

HADB 透過對資料進行分段和複製來實現資料的高可用性。資料庫中的所有表格均進行了分割,以建立大小大致相同的子集 (稱為片段)。分段程序基於在資料庫節點中平均分散資料的雜湊功能。每個片段儲存兩次,一次在資料庫中,一次在鏡像節點中。這可確保資料具有容錯和快速回復功能。此外,如果節點發生故障或關閉,備用節點會接管執行,直至該節點可重新使用時為止。

HADB 節點被組織為兩個資料備援單元 (DRU),這兩個單元互相鏡像。每個 DRU 均由半數使用中節點和半數備用節點組成,並包含該資料的一份完整副本。為確保具有容錯功能,支援某個 DRU 的電腦自身必須完全提供電源 (建議使用不間斷的電源供應)、處理單元以及儲存裝置。如果在一個 DRU 中發生斷電,則另一個 DRU 中的節點可以繼續處理請求,直至供電恢復正常。

如果不具有階段作業持續性機制,則在 Web 或 EJB 容器容錯移轉至另一個 Web 或 EJB 容器時,會遺失 HTTP 或 SFSB 階段作業狀態 (包括鈍化的階段作業狀態)。將 HADB 用於階段作業持續性可避免發生此情況。HADB 可在獨立但整合良好的持續性儲存階層中儲存和擷取狀態資訊。

刪除階段作業資料後,HADB 會收回空間。HADB 將階段作業資料記錄置於固定大小的區段中。刪除所有區段記錄後,會釋放該區段。可以隨機刪除區段記錄,這會在區段中建立。將新記錄插入至區段並需要連續空間時,會移除孔,並因此而壓縮該區段。

以上為架構的簡要概述。如需更多資訊,請參閱「Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Deployment Planning Guide」

HADB 節點

資料庫節點由一組程序、共用記憶體的專屬區域以及一個或多個輔助儲存裝置組成。資料庫可儲存、更新並擷取階段作業資料。每個節點均有一個鏡像節點,因此節點成對出現。此外,為最大化可用性,還包含兩個或更多備用節點 (每個 DRU 中包含一個),這樣,如果節點發生故障,備用節點便可在修復該節點時接管執行。

如需節點拓樸替代的說明,請參閱「Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Deployment Planning Guide」中的第 3 章「Selecting a Topology」

新功能和改進的功能

與 Sun Java System Application Server Enterprise Edition 8.1 一起提供的 HADB 版本擁有許多新功能和改進的功能。

透過變更管理系統的基礎元件,改進了 HADB 管理。舊的 hadbm 介面功能略做修改後被保留下來。這些變更還移除了對 SSH/RSH 的相依性。

管理代理程式伺服器程序 (ma) 構成網域,並將資料庫配置儲存在儲存庫中。該儲存庫資訊會在所有代理程式之間分散。

以下主題提供更多詳細資訊︰

一般改進

對此 HADB 版本進行了以下一般改進︰

特定變更

與舊版本相比,此 HADB 版本包含以下變更。

使用 HADB 的用戶支援

在就 HADB 問題致電用戶支援之前,請儘可能多地收集以下資訊︰

準備 HADB 設定

本小節論述以下主題︰

先決條件

設定和配置 HADB 之前,請確保您的環境符合以下需求︰

配置網路備援

配置備援網路後,即使單一網路發生故障,HADB 也仍然可用。您可以使用以下兩種方式配置備援網路︰

設定網路多重路徑

設定網路多重路徑之前,請參閱「IP Network Multipathing Administration Guide」中的「Administering Network Multipathing」一節。

Procedure若要配置已使用 IP 多重路徑的 HADB 主機電腦,請執行以下步驟︰

  1. 設定網路介面故障偵測時間。

    為了讓 HADB 能夠正確支援多重路徑容錯移轉,網路介面故障偵測時間不得超過1 秒 (1000 毫秒),此時間由 /etc/default/mpathd 中的 FAILURE_DETECTION_TIME 參數指定。如果此參數的原始值較高,請編輯檔案並將此參數值變更為 1000:


    FAILURE_DETECTION_TIME=1000

    若要使變更生效,請使用以下指令︰


    pkill -HUP in.mpathd
  2. 設定 IP 位址以與 HADB 配合使用。

    如「IP Network Multipathing Administration Guide」中所述,多重路徑必須將實體網路介面分組為多重路徑介面群組。在此群組中的每個實體介面均具有兩個相關的 IP 位址︰

    • 用於傳輸資料的實體介面位址。

    • 僅供 Solaris 內部使用的測試位址。

    使用 hadbm create --hosts 時,請從多重路徑群組中僅指定一個實體介面位址。


範例 2–1 設定多重路徑

假設具有兩個名為 host1 和 host2 的主機電腦。如果它們分別具有兩個實體網路介面,則將這兩個介面設定為多重路徑群組。在每台主機上均執行 ifconfig -a

host1 上的輸出為︰


bge0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4>
mtu 1500 index 5 inet 129.159.115.10 netmask ffffff00 broadcast 129.159.115.255 
groupname mp0

bge0:1: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER>
mtu 1500 index 5 inet 129.159.115.11 netmask ffffff00 broadcast 129.159.115.255

bge1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> 
mtu 1500 index 6 inet 129.159.115.12 netmask ffffff00 broadcast 129.159.115.255 
groupname mp0

bge1:1: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> 
mtu 1500 index 6 inet 129.159.115.13 netmask ff000000 broadcast 129.159.115.255

host2 上的輸出為︰


bge0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> 
mtu 1500 index 3 inet 129.159.115.20 netmask ffffff00 broadcast 129.159.115.255 
groupname mp0

bge0:1: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> 
mtu 1500 index 3 inet 129.159.115.21 netmask ff000000 broadcast 129.159.115.255

bge1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> 
mtu 1500 index 4 inet 129.159.115.22 netmask ffffff00 broadcast 129.159.115.255 
groupname mp0

bge1:1: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> 
mtu 1500 index 4 inet 129.159.115.23 netmask ff000000 broadcast 129.159.115.255

在此範例中,兩台主機上的實體網路介面列示在 bge0bge1 之後。在 bge0:1bge1:1 之後列出的介面是多重路徑測試介面 (在 ifconfig 輸出中標示為 DEPRECATED),如「IP Network Multipathing Administration Guide」中所述。

若要在此環境中設定 HADB,請從每個主機中選取一個實體介面。在此範例中,HADB 在 host1 中使用 IP 位址 129.159.115.10,在 host2 中使用 129.159.115.20。若要在每個主機上使用一個資料庫節點建立資料庫,請使用指令 hadbm create --host。例如:


hadbm create --host 129.159.115.10,129.159.115.20

若要在每個主機上使用兩個資料庫節點建立資料庫,請使用以下指令:


hadbm create --host 129.159.115.10,129.159.115.20,
129.159.115.10,129.159.115.20

在這兩種情況下,您必須在 host1 和 host2 上使用獨立參數配置代理程式,以指定代理程式應使用機器上的哪個介面。因此,在 host1 上使用︰


ma.server.mainternal.interfaces=129.159.115.10

在 host2 上使用︰


ma.server.mainternal.interfaces=129.159.115.20

如需有關 ma.server.mainternal.interfaces 變數的資訊,請參閱配置檔案


配置雙網路

若要啟用 HADB 以容許單一網路故障,請使用 IP 多重路徑 (如果受諸如 Solaris 之類的作業系統支援)。請勿在 Windows Server 2003 上配置具有雙網路的 HADB—作業系統在雙網路狀態下無法正常工作。

如果未將作業系統配置為使用 IP 多重路徑,且 HADB 主機配備兩個 NIC,則您可以將 HADB 配置為使用雙網路。對於每台主機,每個網路介面卡 (NIC) 的 IP 位址均必須位於獨立的 IP 子網路上。

在資料庫中,所有節點均必須連線至單一網路,或所有節點均必須連線至兩個網路。


備註 –

必須將子網路之間的路由器配置為可在子網路之間轉寄 UDP 多重播送訊息。


建立 HADB 資料庫時,請使用 –hosts 選項為每個節點指定兩個 IP 位址或主機名稱︰每個 NIC IP 位址對應一個 IP 位址或主機名稱。對於每個節點,第一個 IP 位址位於 net-0 上,第二個 IP 位址位於 net-1 上。語法如下所示,其中同一節點的主機名稱以加號 (+) 分隔︰

--hosts=node0net0name+node0net1name
,node1net0name+node1net1name
,node2net0name+node2net1name
, ...

例如,以下引數可建立兩個節點,每個節點均具有兩個網路介面。以下主機選項用於建立這些節點︰

--hosts 10.10.116.61+10.10.124.61,10.10.116.62+10.10.124.62

因此,node0 的網路位址為

請注意,10.10.116.6110.10.116.62 位於同一子網路上,而 10.10.124.6110.10.124.62 位於同一子網路上。

在此範例中,管理代理程式必須使用同一子網路。因此,舉例來說,必須將配置變數 ma.server.mainternal.interfaces 設定為 10.10.116.0/24。此設定可同時用於此範例中的兩個代理程式。

配置共用記憶體和信號

在安裝 HADB 之前,必須先配置共用記憶體和信號。該程序視您的作業系統而定。

Procedure在 Solaris 上配置共用記憶體和信號

  1. 以超級使用者身份登入。

  2. 配置共用記憶體。

    shmmax 的值設定為 HADB 主機電腦上實體記憶體的大小。共用記憶體區段的最大大小必須大於 HADB 資料庫緩衝區池的大小。例如,對於具有 2 GB (0x8000000 十六進制) 主記憶體的機器,將以下內容增加至 /etc/system 檔案︰


    set shmsys:shminfo_shmmax=0x80000000
     set shmsys:shminfo_shmseg=20

    在 Solaris 9 以及更高版本中,shmsys:shminfo_shmseg 已停用。

    shminfo_shmmax 設定為系統的記憶體總容量 (以十六進制表示法顯示的 0x80000000 值,表示 2 GB 的記憶體)。


    備註 –

    使用記憶體大小的十六進制值指定 shmsys:shminfo_shmmax 的值。若要確定主機的記憶體,請使用以下指令︰


    prtconf | grep Memory

  3. 配置信號。

    檢查 /etc/system 檔案,以查找信號配置項目。此檔案可能已包含 semmnisemmnssemmnu 項目。例如︰


    set semsys:seminfo_semmni=10
    set semsys:seminfo_semmns=60
    set semsys:seminfo_semmnu=30

    如果這些項目已存在,請將這些值分別增加 16、128 和 1000。這樣,上述範例中的項目將變更為︰


    set semsys:seminfo_semmni=26
    set semsys:seminfo_semmns=188
    set semsys:seminfo_semmnu=1030

    如果 /etc/system 檔案不包含這些項目,請將它們增加至檔案的結尾處︰


    set semsys:seminfo_semmni=16
    set semsys:seminfo_semmns=128
    set semsys:seminfo_semmnu=1000

    此作業足可使電腦上執行多達 16 個 HADB 節點。如需設定多於 16 個節點的資訊,請參閱「Sun Java System Application Server Enterprise Edition 8.1 2005Q1 Performance Tuning Guide」中的 HADB 章節。

  4. 重新開機。

Procedure在 Linux 上配置共用記憶體

  1. 以超級使用者身份登入。

  2. 編輯檔案 /etc/sysctl.conf

  3. 設定 kernel.shmaxkernel.shmall 參數。

    kernel.shmax 參數定義共用記憶體區段的最大大小 (以位元組為單位)。kernel.shmall 參數可設定在系統上一次使用的共用記憶體總大小 (以頁為單位)。將這些參數的值設定為機器上實體記憶體的大小。將值指定為十進位位元組數。例如,對於一台具有 512 MB 實體記憶體的機器:


    kernel.shmmax=536870912
     kernel.shmall=536870912
  4. 重新開機。使用以下指令︰

    sync; sync; reboot

用於 Windows 的程序

Windows 不需要任何特殊的系統設定。但是,如果您要使用現有的 J2SE 安裝,請將 JAVA_HOME 環境變數設定至安裝 J2SE 的位置。

同步化系統時鐘

您必須在 HADB 主機上同步化時鐘,因為 HADB 使用基於系統時鐘的時間戳記。HADB 使用系統時鐘來管理逾時和為記錄至歷史檔案中的事件標註時間戳記。對於疑難排解,由於 HADB 是分散式系統,所以必須同時分析所有歷史檔案。因此,同步化所有主機的時鐘非常重要。

請勿在正在執行的 HADB 系統上調整系統時鐘。否則會導致作業系統或其他軟體元件中出現問題,進而導致諸如 HADB 節點掛機或重新啟動之類的問題。向後調整時鐘會導致某些 HADB 伺服器程序掛機 (由於時鐘已被調整)。

若要同步化時鐘,請執行以下作業︰

如果 HADB 偵測到時鐘調整大於一秒,則會將其記錄至節點歷史檔案,例如︰

NSUP INF 2003-08-26 17:46:47.975 Clock adjusted.
 Leap is +195.075046 seconds.

檔案系統支援

本小節說明 HADB 對某些檔案系統的限制。

Red Hat Enterprise Linux

HADB 支援 Red Hat Enterprise Linux 3.0 上的 ext2 和 ext3 檔案系統。對於 Red Hat Enterprise Linux 2.1,HADB 支援 ext2 檔案系統。

Veritas 檔案系統

在 Solaris 上使用 Veritas 檔案系統時,HADB 會將訊息 WRN: Direct disk I/O mapping failed 寫入至歷史檔案。此訊息表示 HADB 無法開啟資料和記錄裝置的直接輸入/輸出 (I/O)。直接 I/O 可降低寫入磁碟頁面的 CPU 消耗。它也會減少管理作業系統中「已使用過的」資料頁面的經常性耗用時間。

若要同時使用直接 I/O 與 Veritas 檔案系統,請執行以下操作之一:


備註 –

這些配置尚未在 Sun Java System Application Server 中進行測試。


安裝

一般而言,您可以在與 Application Server 相同的系統上安裝 HADB (同位拓樸),也可在獨立主機上安裝 HADB (獨立階層拓樸)。如需有關這兩個選項的更多資訊,請參閱「Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Deployment Planning Guide」中的第 3 章「Selecting a Topology」。但是,您必須安裝 HADB 管理用戶端,才能使用 asadmin ha-config-cluster 指令設定高可用性。當使用 Java Enterprise System 安裝程式時,即使節點要安裝在獨立階層上,您也必須安裝整個 HADB 實例才能安裝管理用戶端。

HADB 安裝

在單一 CPU 或雙 CPU 系統上,如果系統擁有至少 2 GB 的記憶體,則您可以同時安裝 HADB 和 Application Server。否則,請在獨立系統上安裝 HADB,或使用其他硬體。若要使用 asadmin ha-configure-cluster command,必須同時安裝 HADB 和 Application Server。

每個 HADB 節點需要 512 MB 的記憶體,因此機器需要 1 GB 的記憶體來執行兩個 HADB 節點。如果機器的記憶體不足,請將每個節點設定在不同機器上。例如,您可以在以下系統上安裝兩個節點︰

預設安裝目錄

在本手冊中,HADB_install_dir 表示安裝 HADB 的目錄。預設安裝目錄取決於您是否將 HADB 做為 Java Enterprise System 的一部分進行安裝。對於 Java Enterprise System,預設安裝目錄為 /opt/SUNWhadb/4。對於獨立的應用程式伺服器安裝程式,預設安裝目錄為 /opt/SUNWappserver/hadb/4

節點管理員程序權限

節點管理員程序 (NSUP) 透過彼此交換「I’m alive」訊息來確保 HADB 的可用性。NSUP 可執行檔必須具有超級使用者權限才能儘快回應。clu_nsup_srv 程序不會消耗大量的 CPU 資源,而且其佔用空間較小,因此,使用即時優先權執行該程序不會影響效能。


備註 –

Java Enterprise System 安裝程式可自動正確設定 NSUP 權限,因此您無需採取進一步動作。但是,如果您使用獨立 Application Server (非超級使用者) 安裝程式,則必須在建立資料庫之前手動設定該權限。


權限不足的徵兆

如果 NSUP 可執行檔不具有適當的權限,您可能會注意到資源不足的徵兆,例如︰

限制

如果 NSUP 無法設定即時優先權,則 errno 在 Solaris 和 Linux 上被設定為 EPERM。在 Windows 上,會發出警告「無法設定即時優先權」。該錯誤會寫入 ma.log 檔案,並且程序會在沒有即時優先權的情況下繼續執行。

在以下情況中無法設定即時優先權︰

Procedure授予節點管理員程序超級使用者權限

  1. 以超級使用者身份登入。

  2. 將工作目錄變更為 HADB_install_dir/lib/server

    NSUP 可執行檔為 clu_nsup_srv

  3. 使用以下指令設定檔案的 suid 位元︰

    chown root clu_nsup_srv

  4. 使用以下指令將檔案的所有權設定為超級使用者︰

    chmod u+s clu_nsup_srv

    該指令會以超級使用者的身份啟動 clu_nsup_srv 程序,並可讓程序為其自身提供即時優先權。

    若要避免對安全性產生任何影響,應在程序啟動後立即設定即時優先權,這樣,一旦優先權變更,程序會返回至有效的 UID。其他 HADB 程序使用一般優先權執行。

設定高可用性

本小節說明建立具有高可用性的叢集以及測試 HTTP 階段作業持續性的步驟。

本小節論述以下主題︰

先決條件

配置 HADB 之前,請執行以下作業︰

Procedure準備系統以使其具有高可用性

  1. 安裝應用程式伺服器實例和負載平衡外掛程式。

    如需更多資訊,請參閱 Java Enterprise System 安裝指南 (如果您使用 Java ES) 或「Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Installation Guide」(如果您使用獨立的 Application Server 安裝程式)。

  2. 建立 Application Server 網域和叢集。

    如需更多資訊,請參閱「Sun Java System Application Server Enterprise Edition 8.1 2005Q2 管理指南」

  3. 安裝並配置 Web 伺服器軟體。

    如需更多資訊,請參閱配置 Web 伺服器以用於負載平衡

  4. 設定並配置負載平衡。

    如需更多資訊,請參閱設定 HTTP 負載平衡

啟動 HADB 管理代理程式

管理代理程式 ma 在 HADB 主機上執行管理指令,並透過在 HADB 節點管理員程序失敗時將其重新啟動,來確保其可用性。

對於生產部署,將管理代理程式做為服務啟動以確保其可用性。本小節提供了有關使用預設配置將管理代理程式做為服務啟動的簡短說明。

如需更多詳細資訊 (包括有關在主控台模式中啟動管理代理程式以進行測試或評估的說明,以及有關自訂其配置的資訊),請參閱使用 HADB 管理代理程式

本小節說明在使用 Java Enterprise System 時,如何使用預設配置將管理代理程式做為服務啟動。

Procedure在 Solaris 或 Linux 上使用 Java Enterprise System 啟動管理代理程式

  1. 建立與檔案 /etc/init.d/ma-initd 的以下符號連結︰


    /etc/rc0.d/K20ma-initd
    /etc/rc1.d/K20ma-initd
    /etc/rc2.d/K20ma-initd
    /etc/rc3.d/S99ma-initd
    /etc/rc5.d/S99ma-initd
    /etc/rcS.d/K20ma-initd
  2. 重新開機。

    若要關閉自動啟動和停止代理程式,請移除這些連結或將連結名稱中的字母 K 和 S 變更為小寫。

Procedure在 Windows 上使用 Java Enterprise System 啟動管理代理程式

  1. 開啟指令視窗。

  2. 輸入指令︰HADB_install_dir\bin\ma -i

    此指令可使用預設配置安裝並啟動管理代理程式。

接下來的步驟

若要停止管理代理程式並做為服務移除 (取消註冊),請使用以下指令:HADB_install_dir\bin\ma -r

Procedure在安裝了獨立應用程式伺服器的 Solaris 或 Linux 上啟動管理代理程式

  1. 在 shell 中,將目前目錄變更至 HADB_install_dir/bin

  2. 編輯 shell 程序檔 ma-initd

    替代程序檔中 HADB_ROOT 和 HADB_MA_CFG 的預設值以反映安裝︰

    • HADB_ROOT 為 HADB 安裝目錄 HADB_install_dir

    • HADB_MA_CFG 為管理代理程式配置檔案的位置。如需更多資訊,請參閱自訂管理代理程式配置

  3. ma-initd 複製至目錄 /etc/init.d

  4. 建立與檔案 /etc/init.d/ma-initd 的以下符號連結︰


    /etc/rc0.d/K20ma-initd
    /etc/rc1.d/K20ma-initd
    /etc/rc2.d/K20ma-initd
    /etc/rc3.d/S99ma-initd
    /etc/rc5.d/S99ma-initd
    /etc/rcS.d/K20ma-initd

Procedure在安裝了獨立應用程式伺服器的 Windows 上使用啟動管理代理程式

  1. 開啟指令視窗。

  2. 輸入指令︰HADB_install_dir\bin\ma -i ma.cfg

    現在,如果程序失敗或機器重新啟動,則管理代理程式將自動重新啟動。

接下來的步驟

若要停止管理代理程式並做為服務移除 (取消註冊),請使用以下指令:HADB_install_dir\bin\ma -r ma.cfg

配置叢集以使其具有高可用性

開始本小節之前,您必須已建立一個或多個 Application Server 叢集。如需有關如何建立叢集的資訊,請參閱建立叢集

從執行網域管理伺服器的機器上,使用以下指令將叢集配置為使用 HADB:

asadmin configure-ha-cluster --user admin --hosts hadb_hostname ,hadb_hostname --devicesize 256 clusterName

使用執行 HADB 的機器之主機名稱替代 hadb_hostname,並使用叢集名稱替代 clusterName。如果僅使用一台機器,則必須提供兩次主機名稱。

該簡化範例在同一機器上執行兩個 HADB 節點。在生產設定中,建議使用多台機器。

配置應用程式以使其具有高可用性

在管理主控台中,在 [應用程式] > [企業應用程式] 下選取應用程式。設定 [已啟用的可用性],然後按一下 [儲存]。

重新啟動叢集

若要在管理主控台中重新啟動叢集,請選擇 [叢集] > [cluster-name]。按一下 [停止實例]。實例停止後,按一下 [啟動實例]。

或者,使用以下 asadmin 指令︰

asadmin stop-cluster --user admin cluster-name
asadmin start-cluster --user admin cluster-name

如需有關這些指令的更多資訊,請參閱 stop-cluster(1)start-cluster(1)

重新啟動 Web 伺服器

若要重新啟動 Web 伺服器,請鍵入以下 Web 伺服器指令︰

web_server_root/https-hostname/reconfig

使用 Web 伺服器根目錄替代 web_server_root,並使用主機電腦名稱替代 hostname

Procedure清除做為負載平衡器執行的 Web 伺服器實例

  1. 刪除負載平衡器配置︰

    asadmin delete-http-lb-ref --user admin --config MyLbConfig FirstCluster

    asadmin delete-http-lb-config --user admin MyLbConfig

  2. 如果已建立新的 Web 伺服器實例,則可以透過執行以下作業刪除該實例︰

    1. 登入 Web 伺服器的管理主控台。

    2. 停止實例。

      刪除實例。

升級 HADB

HADB 旨在提供不會因升級軟體而中斷的「Always On」服務。本小節說明如何在不使資料庫處於離線狀態或不損失任何可用性的情況下,升級至新的 HADB 版本。

以下小節說明如何升級 HADB 安裝︰

Procedure將 HADB 升級至較新的版本

  1. 安裝新的 HADB 版本。

  2. 取消註冊現有 HADB 安裝,如取消註冊 HADB 套裝軟體中所述。

  3. 註冊新的 HADB 版本,如註冊 HADB 套裝軟體中所述。

    在 HADB 管理網域中註冊 HADB 套裝軟體可輕鬆升級或變更 HADB 套裝軟體。管理代理程式可追蹤套裝軟體的位置,以及網域中主機的版本資訊。預設套裝軟體名稱為以 V 開頭並包含 hadbm 程式之版本編號的字串。

  4. 變更資料庫使用的套裝軟體。

    請輸入以下指令︰


    hadbm set PackageName=package
    

    其中 package 為新 HADB 套裝軟體的版本編號。

  5. 如有必要,替代管理代理程式啟動程序檔。

    如需更多資訊,請參閱替代管理代理程式啟動程序檔

註冊 HADB 套裝軟體

使用 hadbm registerpackage 指令註冊在管理網域中的主機上安裝的 HADB 套裝軟體。也可在使用 hadbm create 建立資料庫時,註冊 HADB 套裝軟體。

使用 hadm registerpackage 指令之前,請確保:所有管理代理程式均已配置,並在主機清單中的所有主機上執行;該管理代理程式的儲存庫可用於更新;未使用相同的套裝軟體名稱註冊任何套裝軟體。

指令語法為:

hadbm registerpackage --packagepath=path [-- hosts=hostlist] [-- adminpassword=password | -- adminpasswordfile=file] [-- agent=maurl] [[package-name ]]

package-name 運算元為套裝軟體的名稱。

下表說明了特殊的 hadbm registerpackage 指令選項。請參閱安全性選項一般選項,以取得有關其他指令選項的說明。

表 2–1 hadbm registerpackage 選項

選項 

說明 

--hosts=hostlist

-H 

主機清單,以逗號分隔或置於雙引號中並以空格分隔。 

--packagepath=path

-L 

HADB 軟體套裝軟體的路徑。 

例如,以下指令在主機 host1、host2 和 host3 上註冊套裝軟體 v4︰

hadbm registerpackage 
--packagepath=hadb_install_dir/SUNWHadb/4.4 
--hosts=host1,host2,host3 v4

回應為:

Package successfully registered.

如果您省略 --hosts 選項,則該指令會在網域中所有已啟用的主機上註冊套裝軟體。

取消註冊 HADB 套裝軟體

使用 hadbm unregisterpackage 指令移除在管理網域中註冊的 HADB 套裝軟體。

使用 hadbm unregisterpackage 指令之前,請確保:所有管理代理程式均已配置且在主機清單中的所有主機上執行;管理代理程式的儲存庫可用於更新;已在管理網域中註冊套裝軟體;未將任何現有資料庫配置為在要取消註冊的套裝軟體上執行。

指令語法為:

hadbm unregisterpackage  
--hosts=hostlist  
[--adminpassword=password | --adminpasswordfile= file]  
[--agent= maurl]  
[package-name ]

package-name 運算元為套裝軟體的名稱。

請參閱上述註冊 HADB 套裝軟體,以取得有關 --hosts 選項的說明。如果您省略 --hosts 選項,則主機清單會將在其中註冊套裝軟體的已啟用主機做為預設主機。請參閱安全性選項一般選項,以取得有關其他指令選項的說明。


範例 2–2 取消註冊 HADB 的範例

若要從網域中特定主機上取消註冊套裝軟體 v4,請執行以下指令︰

hadbm unregisterpackage --hosts=host1,host2,host3 v4

回應為:

Package successfully unregistered.


替代管理代理程式啟動程序檔

安裝新的 HADB 版本時,可能需要替代 /etc/init.d/ma-initd 中的管理代理程式啟動程序檔。檢查檔案 HADB_install_dir/lib/ma-initd 的內容。如果其內容與舊的 ma-initd 檔案不同,請使用新檔案替代舊檔案。