用於 Sun Java System Application Server EE (HADB) 的 Sun Cluster 資料服務指南 (適用於 Solaris 作業系統)

第 2 章 SPARC: Sun Cluster HA for Sun Java System Application Server EE (HADB 4.4 版以前的版本)

本文件描述安裝與配置名為 Sun Cluster HA for Sun Java System Application Server EE (HADB) 的資料服務的程序。

本文件包含兩個章節。

本章節包含以下小節。

Sun Cluster HA for Sun Java System Application Server EE (HADB) 簡介

本章節描述 Sun Cluster HA for Sun Java System Application Server EE (HADB) 資料服務如何使 Sun Java System Application Server EE (HADB) 軟體具有高度可用性。

Sun Cluster HA for Sun Java System Application Server EE (HADB) 是一種具有適當延伸特性的資料服務,可以配置能夠同時在多個節點上受控的資料庫。

請參閱「Sun Cluster Data Services Planning and Administration Guide for Solaris OS」中的第 1 章「Planning for Sun Cluster Data Services」,以取得有關資料服務的一般資訊。

Sun Java System Application Server EE (HADB) 軟體與 Sun Java System Application Server Enterprise Edition 安裝封裝在一起。但是,如果適用,則您可以在不同的叢集上執行 Sun Java System Application Server EE (HADB) 和 Sun Java System Application Server。本文件描述如何安裝與配置能夠讓您在叢集中使用 Sun Java System Application Server EE (HADB) 的資料服務。首先,在叢集中啟用 Sun Java System Application Server EE (HADB),以提供階段作業與 Enterprise Java Bean (EJB) 持續性。請參閱 Sun Java System Application Server 文件,以取得有關 Sun Java System Application Server EE (HADB) 軟體的資訊。

Sun Cluster HA for Sun Java System Application Server EE (HADB) 實作假定不存在架構依賴的應用程式 (例如資料庫和 Web 伺服器)。但是,可將這類應用程式配置為具有高度可用性,並可以在其他叢集上執行。

Sun Cluster HA for Sun Java System Application Server EE (HADB) 安裝與配置過程簡介

下表總結了 Sun Cluster HA for Sun Java System Application Server EE (HADB) 安裝與配置作業,並提供了執行這些作業之詳細說明的交叉參照。請依照此表中列出的順序執行這些作業。

表 2–1 Sun Cluster HA for Sun Java System Application Server EE (HADB) 安裝與配置作業

作業 

相關說明 

規劃 Sun Cluster HA for Sun Java System Application Server EE (HADB) 的安裝與配置 

規劃 Sun Cluster HA for Sun Java System Application Server EE (HADB) 的安裝與配置

安裝與配置 Sun Java System Application Server EE (HADB) 軟體 

安裝與配置 Sun Java System Application Server EE (HADB) 軟體

建立 Sun Java System Application Server EE (HADB) 資料庫 

如何建立 Sun Java System Application Server EE (HADB) 資料庫

安裝 Sun Cluster HA for Sun Java System Application Server EE (HADB) 套裝軟體 

安裝 Sun Cluster HA for Sun Java System Application Server EE (HADB) 套裝軟體

將 Sun Cluster HA for Sun Java System Application Server EE (HADB) 註冊並配置為可同時在多個節點上受控的資料服務 

如何註冊與配置 Sun Cluster HA for Sun Java System Application Server EE (HADB)

驗證 Sun Cluster HA for Sun Java System Application Server EE (HADB) 的安裝與配置 

驗證 Sun Cluster HA for Sun Java System Application Server EE (HADB) 的安裝與配置

維護 HADB 資料庫 

維護 HADB 資料庫

調校 Sun Cluster HA for Sun Java System Application Server EE (HADB) 故障監視器 

調校 Sun Cluster HA for Sun Java System Application Server EE (HADB) 的故障監視器


備註 –

如果在 Sun Cluster 配置中執行多個資料服務,您可以按任何順序設定資料服務,但下列情況除外。如果 Sun Cluster HA for Sun Java System Application Server EE (HADB) 資料服務依賴於 用於 DNS 的 Sun Cluster HA 資料服務,則必須先設定 DNS。如需詳細資訊,請參閱「Sun Cluster Data Service for DNS Guide for Solaris OS」。DNS 軟體包括在 Solaris 軟體中。如果叢集要從其他伺服器獲得 DNS 服務,則先將叢集配置為 DNS 用戶端。


規劃 Sun Cluster HA for Sun Java System Application Server EE (HADB) 的安裝與配置

本小節包含安裝與配置 Sun Cluster HA for Sun Java System Application Server EE (HADB) 所需的資訊。

將靜態檔案和資料儲存在每個叢集節點的本機檔案系統上。Sun Java System Application Server EE (HADB) 軟體隨 Sun Java System Application Server Enterprise Edition 軟體一同安裝。請參閱「用於 Sun Java System Application Server 的 Sun Cluster 資料服務指南 (適用於 Solaris 作業系統)」文件,以取得相關說明。建立資料庫時,依預設會在每個叢集節點的本機檔案系統上建立配置檔與資料檔。如需詳細資訊,請參閱 Sun Java System Application Server 文件。

配置簡介

使用本小節中的多重控制配置以規劃 Sun Cluster HA for Sun Java System Application Server EE (HADB) 資料服務的安裝與配置。此資料服務可能支援其他配置。但是,您必須與您的企業服務代表聯絡,以取得有關其他配置的資訊。

HADB 配置由資料節點或程序集合定義。每個節點均是主記憶體的專屬區域,具有一個或多個輔助儲存裝置。這些儲存裝置並不是共用儲存裝置。每個 HADB 資料節點必須擁有對主記憶體的區域和磁碟空間的某些區域之專用存取權限。HADB 資料節點可以處於使用中或備用狀態。

對執行 Sun Java System Application Server EE (HADB) 和 Sun Java System Application Server 之叢集的建議最低要求為四個使用中的資料節點外加兩個備用節點。請參閱建立 Sun Java System Application Server EE (HADB) 資料庫,以取得如何使用 hadbm 指令行公用程式建立具有四個使用中的節點和兩個備用節點的 Sun Java System Application Server EE (HADB) 的範例。為了取得高度可用性,請將 HADB 資料冗餘單元 (DRU) 配置為使用 Sun Cluster 互連。請參閱 Sun Java System Application Server 文件,以取得有關 DRU 的詳細資訊。用戶端應用程式中的 HADB JDBC 驅動程式處理具有高度可用性的資料庫存取權。

下圖說明了 Sun Java System Application Server EE (HADB) 和 Sun Java System Application Server 的建議最低配置。

圖 2–1 建議最小配置

此圖說明建議最小配置。

配置規劃問題

參照本節中的問題以規劃 Sun Cluster HA for Sun Java System Application Server EE (HADB) 資料服務的安裝與配置。請參閱「Sun Cluster Data Services Planning and Administration Guide for Solaris OS」中的「Considerations for Installing and Configuring a Data Service」,以取得可能適用於這些問題的資訊。另請參閱「Sun Cluster Data Services Planning and Administration Guide for Solaris OS」中的附錄 C「Data Service Configuration Worksheets and Examples」中的工作表。

如果您選擇將 HADB 資料服務與另一高度可用的應用程式一同使用,則可能會存在資源相依性。請參閱「Sun Cluster Data Services Planning and Administration Guide for Solaris OS」中的附錄 A「Standard Properties」,以取得有關 Resource_dependencies 特性的描述。

安裝與配置 Sun Java System Application Server EE (HADB) 軟體

Sun Java System Application Server EE (HADB) 軟體是與 Java 2 Enterprise Edition (J2EE™) 1.3 相容的關係資料庫。Sun Cluster HA for Sun Java System Application Server EE (HADB) 資料服務是為滿足企業客戶的需要而設計的,可在 Sun Cluster 軟體的控制下執行。Sun Java System Application Server 提供一個高度可用和高度可延伸的異動工作時段狀態持續性基礎架構。Application Server 使用 HADB 儲存工作時段資訊。HADB 管理用戶端是用於 HADB 的指令行介面。有一組完整的公用程式可用於執行 HADB 配置、運行時間管理與監視。

Sun Java System Application Server 文件、hadbm 線上手冊,以及 asadmin 指令階段作業持續性線上手冊中包含使用這些公用程式的說明。Sun Java System Application Server EE (HADB) 軟體與 Sun Java System Application Server Enterprise Edition 封裝在一起。如需有關安裝與配置 HADB 以便與 Sun Java System Application Server 一起使用的資訊,請參閱 Sun Java System Application Server 文件。如需關於配置 Sun Cluster HA for Sun Java System Application Server 的資訊,請參閱「用於 Sun Java System Application Server 的 Sun Cluster 資料服務指南 (適用於 Solaris 作業系統)」

建立 Sun Java System Application Server EE (HADB) 資料庫

本節包含在 Sun Cluster 環境中配置與建立初始 HADB 資料庫的程序。在建立資料庫之前,請考量以下限制。

Procedure如何建立 Sun Java System Application Server EE (HADB) 資料庫

以下程序舉例說明如何建立、啟動和檢驗資料庫。

步驟
  1. 建立資料庫。此指令將自動啟動資料庫。


    # hadbm create \
    -H clusternode1-priv,clusternode2-priv,clusternode3-priv, \
    clusternode4-priv,clusternode5-priv,clusternode6-priv \
    --devicesize=2048 \
    -a 4 --set ManagementProtocol=rsh --dbpassword=secret12 \
    -s 2 hadb
    

    如需詳細資訊,請參閱 Sun Java System Application Server 文件。


    備註 –

    必須使用 Sun Cluster 私有互連主機名稱指定主機。若要找到這些主機名稱,請從 Sun Cluster 主要節點執行 scconf -p | less 指令。



    備註 –

    如果您要使用建議的 SSH 設定,則無需指定 ManagementProtocol 特性。


  2. 檢驗資料庫是否正在執行。


    # hadbm status hadb --nodes
    
  3. 停止資料庫。


    # hadbm stop hadb
    
  4. 建立工作時段儲存區和 JDBC 連線區。

    如需詳細資訊,請參閱 Sun Java System Application Server 文件。

安裝 Sun Cluster HA for Sun Java System Application Server EE (HADB) 套裝軟體

如果未在初始安裝 Sun Cluster 期間安裝 Sun Cluster HA for Sun Java System Application Server EE (HADB) 套裝軟體,請執行此程序以安裝該套裝軟體。請在要安裝 Sun Cluster HA for Sun Java System Application Server EE (HADB) 套裝軟體的每個叢集節點上執行此程序。

如果要同時安裝多個資料服務,請執行「Sun Cluster 軟體安裝指南(適用於 Solaris 作業系統)」中的「安裝軟體」


備註 –

如果使用的是 Solaris 10,請在全域區域中安裝這些套裝軟體。為確保這些套裝軟體不會被傳遞至任何在安裝套裝軟體後建立的本機區域,請用 scinstall 公用程式安裝這些套裝軟體。請使用 Sun Java Enterprise System Common Installer 程式。


Procedure如何使用 Sun Java Enterprise System Common Installer 程式安裝 Sun Cluster HA for Sun Java System Application Server EE (HADB) 套裝軟體

您可以使用指令行介面 (CLI) 或圖形化使用者介面 (GUI) 執行 Sun Java Enterprise System Common Installer 程式。CLI 和 GUI 中指令的內容和序列類似。

若要完成此程序,您需要 Sun Java Enterprise System Common Installer CD-ROM。

步驟
  1. 在要安裝 Sun Cluster HA for Sun Java System Application Server EE (HADB) 套裝軟體的叢集上,請以超級使用者身份登入。

  2. (可選擇) 如果您打算使用 GUI 執行 Sun Java Enterprise System Common Installer 程式,請確定已設定 DISPLAY 環境變數。

  3. 將 Sun Java Enterprise System Common Installer CD-ROM 插入 CD-ROM 光碟機。

    如果容體管理常駐程式 vold(1M) 正在執行並且配置為管理 CD-ROM 裝置,則它會自動將 CD-ROM 掛載在 /cdrom 目錄上。

  4. 轉至 CD-ROM 的 Sun Java Enterprise System Common Installer 目錄。


    # cd /cdrom/Solaris_sparc
    
  5. 啟動 Sun Java Enterprise System Common Installer 程式。


    # ./installer
    
  6. 當系統提示時,請接受軟體許可授權合約和相應的語言支援。

    依預設,提供英語語言支援。

  7. 選取 [可用性服務與 Sun Cluster 3.1 子元件] 下的 [Sun Cluster Agents for Sun Java System],然後繼續。

    本選取包括用於 Sun Java System 應用程式的所有可用的 Sun Cluster 資料服務,包括Sun Cluster HA for Sun Java System Application Server EE (HADB)。

  8. 當提示選擇配置的時間時,請選擇 [以後配置]。

    請指定 [以後配置] 以在安裝完成後執行配置。

  9. (可選擇) 如果您不想註冊產品與接收產品更新,請取消核取 [產品註冊] 方塊。

  10. 請依照螢幕上的指示在節點上安裝 Sun Cluster HA for Sun Java System Application Server EE (HADB) 套裝軟體。

    Sun Java Enterprise System Common Installer 程式將顯示安裝的狀態。安裝結束時,該程式將顯示安裝摘要和安裝日誌。

  11. 結束 Sun Java Enterprise System Common Installer 程式。

    結束安裝程式前,請確定已成功安裝 Sun Cluster HA for Sun Java System Application Server EE (HADB)。透過執行以下指令檢查套裝軟體是否存在:


    # pkginfo -l SUNWschadb
    
  12. 從 CD-ROM 光碟機中取出 Sun Java Enterprise System Common Installer CD-ROM。

    1. 若要確保 CD-ROM 未被佔用,請轉至不是位於 CD-ROM 上的目錄。

    2. 彈出 CD-ROM。


      # eject cdrom
      

註冊與配置 Sun Cluster HA for Sun Java System Application Server EE (HADB)

此程序描述如何使用 scrgadm 指令將 Sun Cluster HA for Sun Java System Application Server EE (HADB) 資料服務註冊與配置為可同時在多個節點上受控的資源。


備註 –

請參閱「Sun Cluster Data Services Planning and Administration Guide for Solaris OS」中的「Tools for Data Service Resource Administration」,以取得有關可讓您註冊和配置資料服務之附加選項的詳細資訊。


若要執行此程序,您需要有關配置的以下資訊。

設定 Sun Cluster HA for Sun Java System Application Server EE (HADB) 的延伸特性

以下小節包含有關註冊與配置 Sun Cluster HA for Sun Java System Application Server EE (HADB) 資源的說明。如需有關延伸特性的資訊,請參閱附錄 BSun Cluster HA for Sun Java System Application Server EE (HADB 4.4 版以前的版本) 的特性。[可調] 項目指示可以更新特性的時間。

請參閱「Sun Cluster Data Services Planning and Administration Guide for Solaris OS」中的附錄 A「Standard Properties」,以取得有關所有 Sun Cluster 特性的詳細資訊。

若要設定資源的延伸特性,請將以下選項包含在建立或修改該資源的 scrgadm(1M) 指令中:


-x property=value 
-x property

識別您要設定的延伸特性

value

指定您要設定的延伸特性的值

您也可以使用「Sun Cluster Data Services Planning and Administration Guide for Solaris OS」中的第 2 章「Administering Data Service Resources」中的程序,在建立資源後配置資源。

Procedure如何註冊與配置 Sun Cluster HA for Sun Java System Application Server EE (HADB)

請執行以下步驟以完成您的配置。

步驟
  1. 成為叢集成員的超級使用者。

  2. 註冊 Sun Java System Application Server EE (HADB) 的資源類型。


    # scrgadm -a -t SUNW.hadb
    
  3. 為 Sun Java System Application Server EE (HADB) 建立資源群組。


    # scrgadm -a -g resource_group \
    -y Maximum_primaries=nodes_in_rg \
    -y Desired_primaries=nodes_in_rg \
    -h nodelist
    
    -a

    指定將要建立資源群組。

    -g 資源群組

    指定將要建立的資源群組的名稱。

    -y Maximum_primaries=資源群組中的節點

    指定可在其上啟動資源之節點的最大數目。您必須指定與 Desired_primaries 特性值相同的數目。

    -y Desired_primaries=nodes_in_rg

    指定可在其上啟動資源之節點的所需數目。您必須指定與 Maximum_primaries 特性值相同的數目。

    -h 節點清單

    指定要執行 Sun Java System Application Server EE (HADB) 之以逗號分隔的叢集節點子集。如果忽略此選項,則所有的叢集節點都會執行 Sun Java System Application Server EE (HADB)。使用 scconf -p | less 指令搜尋節點清單名稱。

  4. 為 Sun Java System Application Server EE (HADB) 建立資源 (具有或不具有自動恢復功能)。

    • 如果不需要自動恢復功能,請執行以下指令。


      # scrgadm -a -j resource -g resource_group  -t SUNW.hadb \
      -x Confdir_list=config_directory_list \
      -x HADB_ROOT=install_directory \
      -x DB_name=database_name
      
      -a

      指定將要建立資料服務資源

      -j 資源

      指定要建立的資源名稱為 resource

      -g 資源群組

      指定該資源將被增加至名為 resource_group 的資源群組

      -t SUNW.hadb

      指定預定的資源類型名稱

      -x Confdir_list=配置目錄清單

      指定配置目錄的路徑

      -x HADB_ROOT=install_directory

      指定安裝目錄

      -x DB_name=database_name

      指定 HADB 資料庫的名稱

    • 如果您確實希望使用自動恢復功能,則請執行以下指令。


      # scrgadm -a -j resource -g resource_group  -t SUNW.hadb \
      -x Confdir_list=config_directory_list \
      -x HADB_ROOT=install_directory \
      -x DB_name=database_name \
      -x Auto_recovery=TRUE \
      -x Auto_recovery_command=command \
      -x DB_password_file=password_file
      
      -x Auto_recovery=TRUE

      指定您要使用自動恢復功能。

      -x Auto_recovery_command=command

      指定在資料庫恢復後要執行的指令。此延伸特性是可選擇的,與 Auto_recovery 特性的值無關。

      -x DB_password_file=password_file

      指定 HADB 從其讀取資料庫密碼的檔案。請參閱 Sun Java System Application Server 文件,以取得密碼檔案的格式和內容。


      備註 –

      自動恢復指令和資料庫密碼檔案必須存在於各節點的本機檔案系統中。


  5. 使資源群組上線運作。


    # scswitch -Z -g resource_group
    
    -Z

    啟動資源及其監視器

    -g 資源群組

    指定要啟動的應用程式資源群組的名稱

  6. 檢驗資源群組與 HADB 資源是否處於線上狀態。


    # scstat -g
    # ps -ef
    
  7. 若要驗證是否已正確安裝與配置了 Sun Cluster HA for Sun Java System Application Server EE (HADB),請執行以下指令。


    # hadbm status database_name --nodes
    

    輸出應指示您指定的資料庫正在執行。


範例 2–1 建立具有自動恢復功能的 SUNW.hadb 資源

此範例顯示了建立具有自動恢復功能之 SUNW.hadb 資源的過程。

此範例中的資源具有以下特徵:


scrgadm -a -j hadb-rs -g hadb-rg -t SUNW.hadb \
-x Confdir_list=/etc/opt/SUNWhadb/dbdef/hadb  \
-x HADB_ROOT=/opt/SUNWappserver7/SUNWhadb/4 \
-x DB_name=hadb \
-x Auto_recovery=true \
-x Auto_recovery_command=/usr/local/etc/create-session-store \
-x DB_password_file=/usr/local/etc/hadb-password-file

驗證 Sun Cluster HA for Sun Java System Application Server EE (HADB) 的安裝與配置

本節包含的程序可檢驗您是否已正確安裝並配置資料服務。

Procedure如何驗證 Sun Cluster HA for Sun Java System Application Server EE (HADB) 的安裝與配置

步驟
  1. 確定在 Sun Cluster 軟體的控制下啟動 HADB。


    # scswitch -Z -g resource_group
    
  2. 檢驗資源群組與 HADB 資源是否處於線上狀態。


    # scstat -g
    # ps -ef
    
  3. 驗證是否已正確安裝並配置 Sun Cluster HA for Sun Java System Application Server EE (HADB)。


    # hadbm status database_name --nodes
    

    輸出應指示您指定的資料庫正在執行。

維護 HADB 資料庫

本節說明如何在Sun Cluster HA for Sun Java System Application Server EE (HADB) 資料服務中維護 HADB 資料庫。

Procedure如何維護 HADB 資料庫

當您要執行會反復重新啟動 HADB 節點的 HADB 維護指令時,必須在執行維護指令前停用故障監視器中的 HADB 資源探測,然後在指令和反復重新啟動完成後再將其啟用。

步驟
  1. 停用故障監視器。


    # scswitch -n -M -j resource
    
  2. 執行可能啟動滾動重新啟動的指令。

    可導致反復重新啟動的 hadbm 子指令含括 setrestartaddnodes

  3. 重新啟動故障監視器。


    # scswitch -e -M -j resource
    
維護資料庫的其他方法

此外,執行維護指令時,停用 HADB 資源並啟動 HADB 可不受 Sun Cluster 控制。

調校 Sun Cluster HA for Sun Java System Application Server EE (HADB) 的故障監視器

Sun Cluster HA for Sun Java System Application Server EE (HADB) 的故障監視器包含在代表 Sun Java System Application Server EE (HADB) 的資源中。您在註冊與配置 Sun Cluster HA for Sun Java System Application Server EE (HADB) 時建立該資源。如需更多資訊,請參閱註冊與配置 Sun Cluster HA for Sun Java System Application Server EE (HADB)

此資源的系統特性和延伸特性可以控制故障監視器的運作方式。這些特性的預設值可以決定故障監視器的預設運作方式。預設運作方式應適用於大多數 Sun Cluster 安裝。因此,您應在需要修改此預設運作方式時調校故障監視器。

如需更多資訊,請參閱以下小節。

故障監視器在探測期間執行的作業

HADB 資源的啟動方法可啟動配置為在本機 Sun Cluster 節點上執行的 HADB 節點 (如果它們不在執行中)。然後,此方法會嘗試啟動 HADB 資料庫。如果發生故障,則會在稍後的探測中啟動資料庫。

故障監視器探測會定期檢查 HADB 資料庫和 HADB 節點的狀態。探測會啟動發生故障的 HADB 節點。如果 HADB 資源在執行啟動方法期間未準備好啟動資料庫,則探測也會啟動 HADB 資料庫。每次循環執行此程序時,該探測都將執行以下步驟:

  1. 該探測透過執行 hadbm statushadbm status --nodes 指令擷取 HADB 資料庫和 HADB 節點目前的狀態。

  2. 如果資料庫未在執行,該探測會檢查本機 Sun Cluster 節點上是否存在與此資料庫相對應的 HADB stopstate 檔案。啟動資料庫時,hadbm start 指令會參照 stopstate 檔案,以進行節點角色指定。

  3. 如果 stopstate 檔案存在,HADB 資源將對其進行檢查以決定是否可以啟動資料庫。

    • 如果可以啟動資料庫,則測試將啟動該資料庫並將資源狀態設定為 Online

    • 如果無法啟動資料庫,則探測將資源狀態設定為 Online Degraded

  4. 如果資料庫正在執行,則探測將啟動配置為在本機 Sun Cluster 節點上執行的 HADB 節點。

  5. 如果資料庫和本機 HADB 節點正在執行,則探測會將資源狀態設定為 Online (如果它是 Online Degraded)。

  6. 如果 HADB 資源群組中的所有 Sun Cluster 節點在 Online Degraded 狀態下執行 HADB 資源的時間均超過了 Stop_timeout 秒,則 HADB 資源將認定無法啟動該資料庫。如需有關 Stop_timeout 特性的描述,請參閱「Sun Cluster Data Services Planning and Administration Guide for Solaris OS」中的附錄 A「Standard Properties」中的 method_timeout 資源特性。

  7. 如果將 Auto_recovery 延伸特性設定為 TRUE,則 HADB 資源會嘗試恢復資料庫。

  8. 如果嘗試恢復資料庫,則探測將執行以下步驟:

    • 在資源群組節點清單中的一個 Sun Cluster 節點上,發出 hadbm clear --fast 指令。該指令將清除資料庫內容,並重新初始化和重新啟動資料庫。

    • 如果 hadbm clear 指令成功,將於發出 hadbm clear 指令的同一 Sun Cluster 節點上發出在 Auto_recovery_command 中指定的指令。該指令通常為包含 asadmin create-session-store 指令的程序檔。該指令還可以採取其他動作。例如,該指令可能會傳送郵件給 Application Server 管理員。

    • 如果兩個步驟均執行成功,則探測會將資源狀態設定為 Online