9 管理遠端主機上的服務 #
在過去幾年中,監控和管理遠端主機上的服務已變得日益重要。SUSE Linux Enterprise High Availability Extension 11 SP3 透過監控外掛程式提供了細緻的監控遠端主機上之服務的功能。最近新增的 pacemaker_remote
服務現在允許 SUSE Linux Enterprise High Availability Extension 15 SP5 全面管理和監控遠端主機上的資源,就如同這些資源是真實的叢集節點一般,並且無需在遠端機器上安裝叢集堆疊。
9.1 使用監控外掛程式監控遠端主機上的服務 #
監控虛擬機器的操作可以借助 VM 代理程式來執行 (該代理程式僅檢查客體作業系統是否出現在 hypervisor 中),也可以透過從 VirtualDomain 或 Xen 代理程式中呼叫的外部程序檔執行。到目前為止,較精細的監控只能透過在虛擬機器中安裝整個 High Availability 堆疊來實現。
透過提供對監控外掛程式 (以前稱為 Nagios 外掛程式) 的支援,High Availability Extension 現在還允許您監控遠端主機上的服務。您可以收集關於客體作業系統的外部狀態,而不必修改客體作業系統影像。例如,VM 客體作業系統可以執行 Web 服務或簡單網路資源,不過這些服務或資源必須位於可以存取的位置。借助 Nagios 資源代理程式,您現在可以監控客體作業系統上的 Web 服務或網路資源。如果這些服務不再可存取,High Availability Extension 將觸發相應客體的重新啟動或移轉。
如果客體依存於某項服務 (例如,客體要使用的 NFS 伺服器) 運作,則該服務可能是由叢集管理的一般資源,也可能是使用 Nagios 資源監控的外部服務。
若要設定 Nagios 資源,必須在主機上安裝下列套件:
monitoring-plugins
monitoring-plugins-metadata
必要時,YaST 或 Zypper 將會解析對其他套件的任何相依性。
將監控外掛程式設定為屬於資源容器 (一般是 VM) 的資源,就是一個典型的使用案例。如果容器的任何資源發生故障,容器會重新啟動。如需組態設定範例,請參閱範例 9.1 「為監控外掛程式設定資源」。或者,若要使用 Nagios 資源代理程式透過網路監控主機或服務,也可以將其設定為一般資源。
primitive vm1 VirtualDomain \ params hypervisor="qemu:///system" config="/etc/libvirt/qemu/vm1.xml" \ op start interval="0" timeout="90" \ op stop interval="0" timeout="90" \ op monitor interval="10" timeout="30" primitive vm1-sshd nagios:check_tcp \ params hostname="vm1" port="22" \ 1 op start interval="0" timeout="120" \ 2 op monitor interval="10" group g-vm1-and-services vm1 vm1-sshd \ meta container="vm1" 3
受支援的參數與監控外掛程式的長選項相同。監控外掛程式使用參數 | |
因為需要一段時間才能使客體作業系統啟動並讓其服務執行,所以監控資源的啟動逾時必須足夠長。 | |
|
上方範例僅包含一個用於 check_tcp
外掛程式的資源,但您可設定多個用於不同外掛程式類型 (例如 check_http
或 check_udp
) 的資源。
如果各服務的主機名稱相同,也可為群組指定 hostname
參數,而不必將它新增至各個基本資源。例如:
group g-vm1-and-services vm1 vm1-sshd vm1-httpd \ meta container="vm1" \ params hostname="vm1"
如果監控外掛程式監控的任何服務在虛擬機器中失敗,叢集會偵測到該情況,並重新啟動容器資源 (虛擬機器)。發生這種情況所需執行的動作可透過指定服務監控操作的 on-fail
屬性來設定。其預設值為 restart-container
.
系統考慮虛擬機器的移轉限定值時,會將服務的失敗計數納入考量。
9.2 使用 pacemaker_remote
管理遠端節點上的服務 #
使用 pacemaker_remote
服務可將高可用性叢集延伸到虛擬節點或遠端裸機。這些虛擬節點或遠端裸機無需執行叢集堆疊就能成為叢集的成員。
High Availability Extension 現在可以啟動虛擬環境 (KVM 和 LXC) 以及這些虛擬環境中存在的資源,而無需虛擬環境執行 Pacemaker 或 Corosync。
對於同時要管理做為叢集資源的虛擬機器以及這些虛擬機器中存在之資源的使用案例,您現在可以使用以下設定:
「正常」(裸機) 叢集節點執行 High Availability Extension。
虛擬機器執行
pacemaker_remote
服務 (幾乎不需要在 VM 端進行任何組態設定)。「正常」叢集節點上的叢集堆疊啟動 VM,並連接至 VM 上執行的
pacemaker_remote
服務,以將 VM 做為遠端節點整合到叢集中。
由於遠端節點上未安裝叢集堆疊,這意味著:
遠端節點不計入仲裁。
遠端節點無法成為 DC。
遠端節點不受延展性限制的約束 (Corosync 存在 32 個節點的成員數量限制)。
remote_pacemaker
中介紹了關於 Pacemaker Remote Quick Start 服務的詳細資訊,包括多個使用案例和詳細的設定說明。