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

安裝與配置 Sun Cluster HA for Sun Java System HADB

本章說明安裝與配置 Sun Cluster HA for Sun Java System HADB 的程序。

本章包含以下程序。

Sun Cluster HA for Sun Java System HADB 概述

本節說明 Sun Cluster HA for Sun Java System HADB 如何使 Sun Java System HADB 具有高度可用性。

Sun Cluster HA for Sun Java System HADB 是具有相應延伸屬性的資料服務,可以配置同時在多個節點上受控的資料庫。

將 Sun Cluster HA for Sun Java System HADB 配置為由多個節點控制的資料服務,以使 Sun Java System HADB 具有高度可用性。 請參閱Sun Cluster Data Services Planning and Administration Guide for Solaris OS中的「Planning for Sun Cluster Data Services」,以取得有關資料服務的一般資訊。

Sun Java System HADB 軟體與 Sun Java System Application Server 企業版安裝封裝在一起。 但是,您可以在獨立的叢集上分別執行 Sun Java System HADB 與 Sun Java System Application Server (如果適用)。 本文件說明如何安裝並配置資料服務,以使您可以在叢集中使用 Sun Java System HADB。 首先,在叢集中啟動 Sun Java System HADB,以提供工作時段與 Enterprise Java Bean (EJB) 持續性。 請參閱 Sun Java System Application Server 文件,以取得有關 Sun Java System HADB 的資訊。 Sun Cluster HA for Sun Java System HADB 的實現假設您架構所依賴的應用程式並不存在。 然而,您的架構所依賴的那些應用程式 (例如用於列出清單的資料庫) 和 Web 伺服器應該配置為具有高度可用性,但可以執行於不同的叢集。

工作表: 安裝與配置 Sun Cluster HA for Sun Java System HADB

表 1–1 工作表: 安裝與配置 Sun Cluster HA for Sun Java System HADB

作業 

相關章節  

規劃 Sun Java System HADB 安裝與配置 

規劃 Sun Java System HADB 安裝與配置

安裝與配置 Sun Java System HADB 

安裝與配置 Sun Java System HADB

建立 Sun Java System HADB 資料庫 

如何建立 Sun Java System HADB 資料庫

規劃 Sun Cluster HA for Sun Java System HADB 安裝與配置 

規劃 Sun Cluster HA for Sun Java System HADB 安裝與配置

安裝 Sun Cluster HA for Sun Java System HADB 套裝軟體 

安裝 Sun Cluster HA for Sun Java System HADB 套裝軟體

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

如何註冊並配置 Sun Cluster HA for Sun Java System HADB

配置資源延伸屬性 

配置 Sun Cluster HA for Sun Java System HADB 的延伸屬性

檢驗 Sun Cluster HA for Sun Java System HADB 安裝與配置 

檢驗 Sun Cluster HA for Sun Java System HADB 安裝與配置

維護 HADB 資料庫  

維護 HADB 資料庫

檢視故障監視器資訊 

Sun Cluster HA for Sun Java System HADB 故障監視器的作業


註解 –

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


規劃 Sun Java System HADB 安裝與配置

在您開始安裝與配置 Sun Java System HADB 之前,請將本節與Sun Cluster Data Services Planning and Administration Guide for Solaris OS之「Configuration Worksheets」中的工作表一同使用。

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

安裝與配置 Sun Java System HADB

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

有關使用這些公用程式的說明包含在Sun Java System Application Server 7 Administrator's Guidehadbm 線上說明手冊以及 asadmin 指令工作時段持續性線上說明手冊中。 Sun Java System HADB 隨附於 Sun Java System Application Server 版本 7 企業版及更高版本。 如需有關隨 Sun Java System Application Server 安裝與配置 HADB 之資訊,請參閱Sun Java System Application Server 7 Administrator's Guide。 如需有關配置用於 Sun Java System Application Server 的 Sun Cluster HA 之資訊,請參閱用於 Sun Java System Application Server 的 Sun Cluster 資料服務指南 (適用於 Solaris 作業系統)

建立 Sun Java System HADB 資料庫

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

如何建立 Sun Java System 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 7 Administrator's Guide


    註解 –

    您必須使用 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 7 Administrator's Guide

規劃 Sun Cluster HA for Sun Java System HADB 安裝與配置

本節包含規劃 Sun Cluster HA for Sun Java System HADB 安裝與配置所需的資訊。

配置簡介

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

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

對於執行 Sun Java System HADB 與 Sun Java System Application Server 的叢集,建議最小需求為四個作用中資料節點加上兩個備用節點。 請參閱建立 Sun Java System HADB 資料庫,以取得如何透過使用 hadbm 指令行公用程式建立具有四個作用中節點和兩個備用節點的 Sun Java System HADB 的範例。 為了取得高度可用性,請將 HADB 資料冗餘單元 (DRU) 配置為使用 Sun Cluster 互連 。 請參閱Sun Java System Application Server 7 Update 1 Collection (Solaris Edition)中的Sun Java System Application Server 7 Administrator's Guide,以取得有關 DRU 的詳細資訊。 用戶端應用程式中的 HADB JDBC 驅動程式可處理對資料庫的高度可用的存取。

下圖說明 Sun Java System HADB 與 Sun Java System Application Server 的建議最小配置。

圖 1–1 建議最小配置

此圖說明建議最小配置。

配置規劃問題

請使用本節中的問題規劃 Sun Cluster HA for Sun Java System HADB 的安裝與配置。 請參閱Sun Cluster Data Services Planning and Administration Guide for Solaris OS中的「Considerations」,以取得可能適用於這些問題的資訊。 如果您選擇將 HADB 資料服務與其他具有高度可用性的應用程式一同使用,則可能存在資源附屬。 請參閱Sun Cluster Data Services Planning and Administration Guide for Solaris OS中的「Standard Properties」,以取得 Resource_dependencies 屬性的描述。

安裝 Sun Cluster HA for Sun Java System HADB 套裝軟體

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

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

如何使用 Sun Java Enterprise System Common Installer 程式來安裝Sun Cluster HA for Sun Java System 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 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 目錄。

    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 HADB)。

  8. 當系統提示時,請選取安裝類型。

    • 如果您只要安裝作業執行最小配置,請選取 [自訂]。 系統將提示您輸入所需的配置資訊。

    • 如果您僅要安裝資料服務套裝軟體,而不進行配置,請選取 [最小]。

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

  10. 依螢幕上的指示,在節點上安裝Sun Cluster HA for Sun Java System HADB 套裝軟體。

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

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

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


    # pkginfo -l SUNWschtt
    
  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 HADB

此程序說明如何使用 scrgadm 指令將 Sun Cluster HA for Sun Java System 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 HADB

請執行以下步驟以完成您的配置。 如需延伸屬性的說明,請參閱表 1–2

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

  2. 註冊 Sun Java System HADB 的資源類型。


    # scrgadm -a -t SUNW.hadb
    
  3. 建立 Sun Java System HADB 的資源群組。


    # scrgadm -a -g 資源群組 \ 
    -y Maximum_primaries=資源群組中的節點 \
    -y Desired_primaries=資源群組中的節點 \
    -h 節點清單
    
    -a

    指定將要建立資源群組。

    -g 資源群組

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

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

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

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

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

    -h 節點清單

    指定執行 Sun Java System HADB 的叢集節點的子集 (以逗號分隔)。 如果省略此選項,所有叢集節點將執行 Sun Java System HADB。 可使用 scconf -p | less 指令來尋找節點清單名稱。

  4. 建立具有或不具有自動恢復功能的 Sun Java System HADB 資源。

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


      # scrgadm -a -j 資源 -g 資源群組  -t SUNW.hadb \ 
      -x Confdir_list=配置目錄清單 \
      -x HADB_ROOT=安裝目錄 \
      -x DB_name=資料庫名稱
      
      -a

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

      -j 資源

      指定您要建立的資源名為資源

      -g 資源群組

      指定資源將被加入名為資源群組的資源群組。

      -t SUNW.hadb

      指定預先定義的資源類型名稱。

      -x Confdir_list=配置目錄清單

      指定配置目錄的路徑。

      -x HADB_ROOT=安裝目錄

      指定安裝目錄。

      -x DB_name=資料庫名稱

      指定 HADB 資料庫的名稱。

    • 如果您要使用自動恢復功能,請執行以下指令。


      # scrgadm -a -j 資源 -g 資源群組  -t SUNW.hadb \ 
      -x Confdir_list=配置目錄清單 \
      -x HADB_ROOT=安裝目錄 \
      -x DB_name=資料庫名稱 \
      -x Auto_recovery=true \
      -x Auto_recovery_command=指令 \
      -x DB_password_file=密碼檔案
      
      -x Auto_recovery=true

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

      -x Auto_recovery_command=指令

      指定在資料庫恢復後要執行的指令。 此延伸屬性是選擇性的,不管 Auto_recovery 屬性值為何。

      -x DB_password_file=密碼檔案

      指定 HADB 將從其中讀取資料庫密碼的檔案。 請參閱Sun Java System Application Server 7 Administrator's Guide,以取得有關密碼檔案的格式和內容的資訊。


      註解 –

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


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


    # scswitch -Z -g 資源群組
    
    -Z

    啟動資源及其監視器

    -g 資源群組

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

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


    # scstat -g
    # ps -ef
    
  7. 若要檢驗您是否已正確安裝並配置了用於 HADB 的 Sun Cluster HA,請執行以下指令。


    # hadbm status 資料庫名稱 --nodes
    

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

以下範例說明建立具有自動恢復功能的 SUNW.hadb 資源。


範例 1–1 建立具有自動恢復功能的 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 HADB 的延伸屬性

本節說明如何配置 Sun Cluster HA for Sun Java System HADB 的延伸屬性。 通常,在建立 Sun Java System HADB 資源時,您可使用指令行 scrgadm -x 參數=來配置延伸屬性。 您還可以使用Sun Cluster Data Services Planning and Administration Guide for Solaris OS之「Administering Data Service Resources」中說明的程序配置 Sun Cluster HA for Sun Java System HADB 的延伸屬性。

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

表 1–2 說明了您可以為 Sun Java System HADB 配置的延伸屬性。 建立 Sun Java System HADB 資源所需的唯一延伸屬性是 Confdir_list 屬性。 Confdir_list 屬性可指定儲存 Sun Java System HADB 配置檔案的目錄。 某些延伸屬性可以動態更新。 其他延伸屬性只能在建立資源時進行更新。 其中「可調」項目表示您可以更新每個屬性的時機。

表 1–2 Sun Cluster HA for Sun Java System HADB 延伸屬性

名稱/資料類型  

說明 

Confdir_list (字串陣列)

指向配置目錄的路徑名稱。 Sun Cluster HA for Sun Java System HADB 需要該延伸屬性,並且該屬性必須包含一個項目。  

 

預設值: None

範圍:

調整時機:建立時

Auto_recovery (布林)

資料庫無法啟動時嘗試恢復。 

預設值: FALSE

調整時機:任何時候

HADB_ROOT (字串)

安裝目錄位置。 Sun Cluster HA for Sun Java System HADB 需要此延伸屬性。 

預設值:

調整時機:建立時

Auto_recovery_command (字串)

恢復資料庫之後要執行的指令。 此延伸屬性是選擇性的,不管 Auto_recovery 屬性值為何。

預設值: ""

調整時機:任何時候

DB_password_file (字串)

HADB 從其中讀取密碼的檔案。 

預設值: ""

調整時機:任何時候

DB_name (字串)

HADB 資料庫的名稱。 Sun Cluster HA for Sun Java System HADB 需要此延伸屬性。  

預設值:

調整時機:停用時

檢驗 Sun Cluster HA for Sun Java System HADB 安裝與配置

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

如何檢驗 Sun Cluster HA for Sun Java System HADB 安裝與配置

請使用此程序檢驗您是否已正確安裝並配置 Sun Cluster HA for Sun Java System HADB。

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


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


    # scstat -g
    # ps -ef
    
  3. 檢驗您是否正確安裝並配置了用於 HADB 的 Sun Cluster HA。


    # hadbm status 資料庫名稱 --nodes
    

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

維護 HADB 資料庫

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

如何維護 HADB 資料庫

如果您要執行 HADB 維護指令 (該指令將啟動 HADB 節點的滾動重新啟動),必須在執行維護指令前停用故障監視器中的 HADB 資源探測,並在完成指令和滾動重新啟動後立即啟動該探測。

  1. 停用故障監視器。


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

    可能導致滾動重新啟動的 hadbm 子指令包括: setrestartaddnodes

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


    scswitch -e -M -j 資源
    

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

Sun Cluster HA for Sun Java System HADB 故障監視器的作業

本節說明 Sun Cluster HA for Sun Java System HADB 故障監視器的作業。

HADB 資源的啟動方法可啟動配置為在本機 Sun Cluster 節點上執行的 HADB 節點 (如果它們不在執行中)。 然後,該方法嘗試啟動 HADB 資料庫,如果失敗,稍後將在探測中啟動該資料庫。

Sun Cluster HA for Sun Java System HADB 故障監視器探測定期檢查 HADB 資料庫與 HADB 節點的狀態。 如果在啟動方法執行期間,HADB 資源沒有準備好啟動 HADB 資料庫,該探測將重新啟動出現故障的 HADB 節點並啟動 HADB 資料庫。 每次循環執行此程序時,該探測都將執行以下步驟:

  1. 首先,探測將休息一段時間 (時間長度為在 Thorough_Probe_Interval 中設定的秒數)。

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

  3. 如果資料庫未執行,則探測將檢查在本機 Sun Cluster 節點上與該資料庫對應的 HADB stopstate 檔案。 hadbm start 指令在啟動資料庫時參考 stopstate 檔案以指定節點的角色。

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

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

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

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

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

  7. 如果 HADB 資源群組中的所有 Sun Cluster 節點均使 HADB 資源在 Online Degraded 狀態下執行的時間超過 Stop_timeout 秒,則 HADB 資源會認為無法啟動資料庫。

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

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

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

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

    • 如果這兩個步驟均成功,則探測將資源的狀態設定為線上。

  10. 繼續從第一步開始循環。


註解 –

Thorough_Probe_IntervalStop_timeout 參數可由 scrgadm 指令調整。 如需詳細資訊,請參閱Sun Cluster Data Services Planning and Administration Guide for Solaris OS中的「Standard Properties」