Sun Cluster 可為網域管理伺服器、節點代理程式、Application Server 實例、訊息佇列及 HADB 提供自動化的容錯移轉。如需更多資訊,請參閱「Sun Cluster Data Service for Sun Java System Application Server Guide for Solaris OS」。
使用標準乙太網路互連及部分的 Sun Cluster 產品。Java ES 包含這項功能。
您可以使用各種技術手動回復個別子元件:
失去網域管理伺服器 (DAS) 只會影響到管理作業。即使無法連線至 DAS,Application Server 叢集和應用程式仍會如常地繼續運作。
可用下列任意方法回復 DAS:
定期執行 asadmin 備份指令就能取得定期快照。於發生硬體故障之後,在擁有相同網路識別的新機器上安裝 Application Server 並執行 asadmin,以從先前建立的備份進行復原。如需更多資訊,請參閱重新建立網域管理伺服器。
將網域安裝和配置放在共用且牢固的檔案系統上 (例如 NFS)。若主要 DAS 機器故障,擁有相同 IP 位址的第二部機器就會啟動,並以手動操作或使用者提供的自動化程序接手運作。Sun Cluster 採用類似的方式讓 DAS 有容錯移轉功能。
壓縮 Application Server 安裝及網域根目錄。將壓縮檔復原到新機器上,並為其指定相同的網路識別。如果您是採用檔案型的安裝,這可能是最簡單的做法。
以 DAS 備份進行復原。請參閱 AS8.1 UR2 修補程式 4 指示。
節點代理程式和伺服器實例有兩種回復方式。
保存備份壓縮檔案。目前沒有針對節點代理程式和伺服器實例提供專屬的備份指令。只要建立一個壓縮檔,其中包含節點代理程式目錄的內容即可。發生故障之後,可將儲存的備份解壓縮至擁有相同主機名稱和 IP 位址的新機器上,並且使用相同的安裝目錄位置、作業系統等等。該機器上必須擁有檔案型安裝、套裝軟體型安裝或復原的備份影像。
手動回復。使用的新主機必須擁有相同的 IP 位址。
在該機器上安裝應用程式伺服器節點代理程式位元。
請參閱 AS8.1 UR2 修補程式 4 安裝指示。
重新建立節點代理程式。您不需要建立任何伺服器實例。
同步化處理會從 DAS 複製配置及資料,並做更新。
目前沒有單獨針對 Web 伺服器配置提供專屬備份指令。只要壓縮 Web 伺服器安裝目錄即可。發生故障之後,將儲存的備份解壓縮至擁有相同網路識別的新機器上。若新機器擁有不同的 IP 位址,則更新 DNS 伺服器或路由器。
這裡假設您已經事先重新安裝 Web 伺服器或從影像復原 Web 伺服器。
負載平衡器外掛程式 (plugins 目錄) 及配置位於 Web 伺服器安裝目錄中,此目錄通常是 /opt/SUNWwbsvr。web-install/web-instance/config 目錄包含 loadbalancer.xml 檔案。
訊息佇列 (MQ) 配置和資源儲存於 DAS,並且可和實例同步化。任何其他資料和配置資訊則位於 MQ 目錄中,這些目錄通常位於 /var/imq 下,因此請視需求備份及復原這些目錄。新機器上必須已經有 MQ 安裝。復原機器時,務必依常態啟動 MQ 代理程式。
如果您有兩個使用中 HADB 節點,則可以 (在別的機器上) 配置兩個備用節點,以便在發生故障時能夠接手。這種方式比較簡潔,因為備份及復原 HADB 可能會復原到舊的階段作業。
如需有關建立含有備用節點資料庫的資訊,請參閱建立資料庫。如需有關對資料庫增加備援節點的資訊,請參閱增加節點。如果回復及自我修復都失敗,備用節點即會自動接手。
Sun QA 尚未測試過此程序。
使用 Veritas Netbackup 儲存每部機器的影像。若是 BPIP,則備份含有 Web 伺服器和應用程式伺服器的四部機器。
每部復原的機器都和原來機器使用相同配置,例如相同的主機名稱、IP 位址等等。
若是如應用程式伺服器之類的檔案型產品,只需備份及復原相關目錄。但是如 Web 伺服器影像之類的套裝軟體型安裝,則必須備份及復原整部機器。套裝軟體會安裝至 Solaris 套裝軟體資料庫。因此,若只備份目錄並於稍後復原至新系統,將會造成套裝軟體資料庫中沒有「已部署」Web 伺服器的資料。這會導致未來無法安裝修補程式或進行升級。
請勿手動複製及復原 Solaris 套裝軟體資料庫。別的可行做法是在安裝如 Web 伺服器之類的元件後,備份機器的影像。此影像稱為基準線 tar 檔案。當您變更 Web 伺服器時,只需備份如 /opt/SUNWwbsvr 下的這些目錄。復原時,先復原基準線 tar 檔案,再覆蓋做過修改的 Web 伺服器目錄。您也同樣可以對 MQ (BPIP 的套裝軟體型安裝) 使用這個程序。如果您在原始機器上進行升級或安裝修補程式,務必要建立新的基準線 tar 檔案。
若包含 DAS 的機器發生故障,在機器復原之前將無法使用 DAS。
DAS 是中央儲存庫。當您復原伺服器實例並重新啟動伺服器實例時,伺服器實例只會和 DAS 中的資訊同步化。因此,所有變更都必須透過 asadmin 或 管理主控台 執行。
HADB 的每日備份影像不一定可以用,因為這類影像可能包含舊的應用程式階段作業狀態。
若備份網域管理伺服器 (DAS),則可在主機電腦故障後重新建立該伺服器。若要重新建立 DAS 的有效副本,您必須擁有:
一台包含原始 DAS 的機器 (machine1)。
一台包含叢集的機器 (machine2),該叢集具有執行應用程式並滿足用戶端需要的伺服器實例。該叢集是使用第一台機器上的 DAS 配置的。
一台備份機器 (machine3),當第一台機器當機時,需要在該備份電腦上重新建立 DAS。
必須保留一份第一台機器上的 DAS 的備份。使用 asadmin backup-domain 來備份目前網域。
若要將 DAS 從第一台機器 (machine1) 遷移至第三台機器 (machine3),請遵循下列步驟:
將 Application Server 安裝在第三台機器上,方法與在第一台機器上安裝時相同。
為了可以在第三台機器上正確地復原 DAS 並且不會發生路徑衝突,您必須執行此操作。
將第一台機器上的備份 ZIP 檔案複製到第三台機器上的 domain-root-dir 目錄中。
也可以透過 FTP 方式複製檔案。
執行 asadmin restore-domain 指令,以將 ZIP 檔案復原到第三台機器:
asadmin restore-domain --filename domain-root-dir/sjsas_backup_v00001.zip domain1 |
可以備份任何網域。但是,在重新建立網域時,網域名稱應與原始網域名稱相同。
變更第三台機器上的 domain-root-dir/domain1/generated/tmp 目錄的權限,以與第一台機器上相同目錄的權限相符。
該目錄的預設許可權為:drwx------ (or 700).
例如︰
chmod 700 domain-root-dir/domain1/generated/tmp
以上範例假定您備份的是 domain1。如果備份的是其他名稱的網域,則應使用要備份網域的名稱取代上述的 domain1。
變更第三台機器的 domain.xml 檔案中的主機特性值:
更新第三台機器上的 domain-root-dir/domain1/config/domain.xml。
例如,搜尋 machine1 並將其替代為 machine3。這樣,您就可以將:
<jmx-connector><property name=client-hostname value=machine1/>...
變更為:
<jmx-connector><property name=client-hostname value=machine3/>...
將:
<jms-service... host=machine1.../>
變更為:
<jms-service... host=machine3.../>
在 machine3 上啟動復原的網域:
asadmin start-domain --user admin-user --password admin-password domain1 |
在 machine2 上變更節點代理程式下的 DAS 主機特性值。
在 machine2 上變更 install-dir/nodeagents/nodeagent/agent/config/das.properties 中的 agent.das.host 特性值。
在 machine2 上重新啟動節點代理程式。
使用 asadmin start-instance 指令啟動叢集實例,以使這些實例與復原網域同步。