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

延伸 HADB

有兩種原因需要延伸原始 HADB 配置:

本小節說明如何不關閉 Application Server 叢集或資料庫延伸 HADB,尤其是:

另請參閱維護 HADB 機器中的相關資訊。

增加現有節點的儲存空間

增加 HADB 儲存空間:

如果節點上存在未使用的磁碟空間或增加磁碟容量時,還可能要增加現有節點的儲存空間。如需有關建議的資料裝置大小之資訊,請參閱指定裝置大小

若要增加節點的儲存空間,請使用 hadbm set 指令增加資料裝置大小。

指令語法為:

hadbm set DataDeviceSize=size

其中,size 為資料裝置大小 (MB)。

請參閱一般選項,以取得指令選項說明。

變更 FaultTolerant 或更高狀態的資料庫資料裝置大小會升級系統,而沒有資料遺失或可用性損失。資料庫在重新配置期間仍在作業。變更非 FaultTolerant 或更好狀態之系統上的裝置大小導致資料遺失。如需有關資料庫狀態的更多資訊,請參閱資料庫狀態


範例 3–12 設定資料裝置大小範例

以下指令為設定資料裝置大小之範例:

hadbm set DataDeviceSize=1024

增加機器

如果 HADB 需要更多處理或儲存容量,您可能要增加機器。若要新增執行 HADB 的機器,請與 Application Server 一同安裝 HADB 套裝軟體或僅安裝套裝軟體,如第 2 章, 安裝和設定高可用性資料庫中所述。如需節點拓樸替代方案的說明,請參閱「Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Deployment Planning Guide」中的第 3 章「Selecting a Topology」

Procedure新增機器至現有 HADB 實例

  1. 在所有新節點上啟動管理代理程式。

  2. 延伸新主機的管理網域。

    如需詳細資訊,請參閱 hadbm extenddomain 指令。

  3. 啟動這些主機上的新節點。

    如需詳細資訊,請參閱增加節點

增加節點

若要增加 HADB 系統的處理和儲存容量,請建立新節點並將其增加至資料庫。

增加節點後,請更新 HADB JDBC 連線池的以下特性:

若要增加節點,請使用 hadbm addnodes 指令。指令語法為:

hadbm addnodes  [--no-refragment]  [--spares=sparecount]  
[--historypath=path]  
[--devicepath=path]  
[--set=attr-name-value-list]  
[--dbpassword=password | --dbpasswordfile=file ]  
[--adminpassword=password | --adminpasswordfile=file]  
--hosts=hostlist  [dbname]

dbname 運算元指定資料庫名稱。預設為 hadb。資料庫必須處於 HAFaultTolerantFaultTolerant 狀態。如需有關資料庫狀態的更多資訊,請參閱取得 HADB 的狀態

如果未指定 --devicepath--historypath 選項,新節點將具有與現有資料庫相同的裝置路徑,並使用相同的歷史檔案。

增加節點執行重新分段並重新分配現有資料作業,以將新節點包括在系統中。線上重新分段需要用於 HADB 節點的磁碟具有足夠空間以同時包含舊資料和新資料,直至重新分段完成,亦即使用者資料大小不得超過使用者資料可用空間的 50%。如需詳細資訊,請參閱取得裝置資訊


備註 –

增加節點的最佳時間為系統負載較輕時。



範例 3–13 增加節點範例

例如︰

hadbm addnodes --dbpassword secret123 -adminpassword=
password --hosts n6,n7,n8,n9

下表說明特殊的 hadbm addnodes 指令選項。請參閱一般選項,以取得其他選項說明。

表 3–13 hadbm addnodes 選項

選項 

說明 

預設 

--no-refragment

-r 

建立節點期間請勿重新分段資料庫。在此情況下,可稍後使用 hadbm refragment 指令重新分段資料庫以使用新節點。如需有關重新分段的詳細資訊,請參閱重新分段資料庫

如果沒有足夠的裝置空間進行重新分段,請重新建立包含更多節點的資料庫。請參閱透過重新建立資料庫增加節點

不適用 

--spares= number

-s 

除現有備援節點之外的新備援節點數。必須等於或小於增加的節點數。 

--devicepath= path

-d 

裝置路徑。裝置為: 

  • DataDevice

  • NiLogDevice (節點內部記錄裝置)

  • RelalgDevice (相關代數查詢裝置)

    此路徑必須已經存在且可寫入。若要為每個節點或每個裝置設定不同的此路徑,請參閱設定異質多工式裝置路徑

Solaris 和 Linux:HADB_install_dir/device

Windows:C:\Sun\AppServer \SUNWhadb\vers,其中 vers 為 HADB 版本編號。

--hosts= hostlist

-H 

以逗號分隔的資料庫新節點的新主機名稱清單。為清單中每個以逗號分隔的項目建立一個節點。節點數必須相等。HADB 主機的 IP 位址必須為 IPv4 位址。 

使用重複主機名稱在同一機器上建立具有不同連接埠號的多個節點。確定同一機器上的節點並非鏡像節點。 

奇數編號的節點在一個 DRU 中,偶數編號的節點在其他 DRU 中。如果使用了 --spares,則新的備援節點為編號最大的節點。

如果使用雙網路介面建立資料庫,必須以相同方式配置新節點 。請參閱配置網路備援

無 

重新分段資料庫

重新分段資料庫以在新建立的節點中儲存資料。重新分段可在所有使用中節點上平均分配資料。

若要重新分段資料庫,請使用 hadbm refragment 指令。指令語法為:

hadbm refragment  [--dbpassword=password | --dbpasswordfile=file]  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
[dbname]

dbname 運算元指定資料庫名稱。預設為 hadb。資料庫必須處於 HAFaultTolerantFaultTolerant 狀態。如需有關資料庫狀態的更多資訊,請參閱取得 HADB 的狀態

請參閱一般選項,以取得指令選項說明。如需更多資訊,請參閱 hadbm-refragment(1)

線上重新分段需要用於 HADB 節點的磁碟具有足夠空間以同時包含舊資料和新資料,直至重新分段完成,亦即使用者資料大小不得超過使用者資料可用空間的 50%。如需詳細資訊,請參閱取得裝置資訊


備註 –

重新分段資料庫的最佳時間為系統負載較輕時。


如果此指令在多次嘗試之後仍然失敗,請參閱透過重新建立資料庫增加節點


範例 3–14 重新分段資料庫範例

例如︰

hadbm refragment --dbpassword secret123

透過重新建立資料庫增加節點

如果線上重新分段在新增節點時始終失敗 (由於資料裝置空間不足或其他原因),請重新建立包含新節點資料庫。這將導致現有使用者資料和模式資料遺失。

Procedure透過重新建立資料庫增加節點

此程序可讓您在整個過程中始終維持 HADB 可用性。

  1. 對於每個 Application Server 實例:

    1. 在負載平衡器中停用 Application Server 實例。

    2. 停用階段作業持續性。

    3. 重新啟動 Application Server 實例。

    4. 在負載平衡器中重新啟用 Application Server 實例。

    如果無需維持可用性,可以在負載平衡器中立即停用並重新啟用所有伺服器實例。這會節省時間,並防止過期階段作業資料容錯移轉。

  2. 停止資料庫中所述停止資料庫。

  3. 移除資料庫中所述刪除資料庫。

  4. 建立資料庫中所述重新建立包含附加節點的資料庫。

  5. 配置 JDBC 連線池中所述重新配置 JDBC 連線池。

  6. 重新載入階段作業持續性存放區。

  7. 對於每個 Application Server 實例:

    1. 在負載平衡器中停用 Application Server 實例。

    2. 啟用階段作業持續性。

    3. 重新啟動 Application Server 實例。

    4. 在負載平衡器中重新啟用 Application Server 實例。

    如果無需維持可用性,可以在負載平衡器中立即停用並重新啟用所有伺服器實例。這會節省時間,並防止過期階段作業資料容錯移轉。