您可在各種不同的服務或應用程式,設定容錯移轉叢集的高可用性。如需最常設定為高可用性的服務或應用程式清單,請參閱設定高可用性的服務或應用程式

本主題包含以下幾節:

可做為泛型應用程式、泛型指令碼或泛型服務執行的服務或應用程式

您可以在容錯移轉叢集中,使用泛型應用程式、泛型指令碼及泛型服務選項,來設定某些非「感知叢集」(原本並非設計在叢集中執行) 之服務與應用程式的高可用性。

泛型應用程式

如果您將應用程式做為泛型應用程式來執行,叢集軟體將會啟動該應用程式,然後定期查詢作業系統,以查看該應用程式是否正在執行。如果是,即假設它已上線,且不會重新啟動或容錯移轉。

請注意,與感知叢集應用程式相比,泛型應用程式可將其精確狀態與叢集軟體通訊的方式較少。如果泛型應用程式進入有問題的狀態,但仍呈現執行中,則叢集軟體無法發現此狀況並採取行動 (例如,重新啟動應用程式,或將之容錯移轉)。

在執行 [高可用性精靈] 以設定泛型應用程式的高可用性之前,請確定您知道該應用程式的路徑及任何應用程式所需之 HKEY_LOCAL _MACHINE 下的登錄機碼名稱。

泛型指令碼

您可以建立在 Windows Script Host 中執行,並會監視及控制應用程式的指令碼。接著,可將該指令碼設定為叢集中的泛型指令碼。此指令碼可以為叢集軟體提供應用程式目前狀態的相關資訊。叢集軟體將視需要重新啟動或容錯移轉該指令碼 (而且透過它,即可將應用程式重新啟動或容錯移轉)。

設定容錯移轉叢集的泛型指令碼時,叢集軟體精確回應應用程式狀態的能力,取決於該指令碼。指令碼提供之應用軟體狀態的資訊越精確,叢集軟體對該資訊所做出的回應就越精確。

在執行 [高可用性精靈] 以設定泛型指令碼的高可用性之前,請確定您知道該指令碼的路徑。

泛型服務

叢集軟體將啟動該服務,然後定期查詢服務控制器 (作業系統的一項功能),以判斷該服務是否正在執行。如果是,即假設它已上線,且不會重新啟動或容錯移轉。

請注意,與感知叢集應用程式相比,泛型服務可將其精確狀態與叢集軟體通訊的方式較少。如果泛型服務進入有問題的狀態,但仍呈現執行中,則叢集軟體無法發現此狀況並採取行動 (例如,重新啟動服務,或將之容錯移轉)。

在執行 [高可用性精靈] 以設定泛型服務的高可用性之前,請確定您知道該服務在 HKEY_LOCAL _MACHINE\System\CurrentControlSet\Services 登錄中出現的名稱。

容錯移轉叢集環境中服務或應用程式的基本需求

為了適用容錯移轉叢集,服務或應用程式必須具備某些特性。最重要的特性包括:

  • 服務或應用程式應該是可設定狀態的。換句話說,服務或應用程式應具備長時間執行的記憶體內部狀態,或是大型且經常更新的日期狀態。資料庫應用程式即為一例。針對無狀態的應用程式 (例如網頁伺服器前端),網路負載平衡可能會比容錯移轉叢集更適合。

  • 服務或應用程式應該使用會在網路暫時中斷後自動重試的用戶端元件。否則,如果應用程式的伺服器元件從一部叢集伺服器容錯移轉至另一部,則無法避免的 (但短暫的) 中斷將導致用戶端停止,而不會只是重試並重新連線而已。

  • 服務或應用程式要能識別所使用的磁碟。這可讓服務或應用程式和叢集存放區的磁碟通訊,且在容錯移轉之後,還可確實地找到正確的磁碟。

  • 服務或應用程式應該使用 IP 為主的通訊協定。範例包括 TCP、UDP、DCOM、具名管道及 RPC over TCP/IP。

其他參考資料


目錄