8.4. pacemaker_remote 服務

pacemaker_remote 服務能允許未執行 corosync 的節點整合入叢集,並讓叢集管理其資源,如同真實的叢集節點一般。這代表 Pacemaker 叢集現在已能不在虛擬環境中執行 pacemakercorosync 的情況下,管理虛擬環境(KVM/LXC)以及在這些虛擬環境中的資源。
下列為描述 pacemaker_remote 服務的各項名詞。
  • 叢集節點 - 一個執行 High Availability 服務(pacemakercorosync)的節點。
  • 遠端節點 — 一個執行 pacemaker_remote 的節點,以在不需要 corosync 叢集成員身份的情況下遠端整合入叢集中。
  • 容器 — 一項包含了額外資源的 Pacemaker 資源。例如一項包含了網站伺服器資源的 KVM 虛擬機器資源。
  • 容器遠端節點 — 一個執行 pacemaker_remote 服務的虛擬客座端遠端節點。它詳述了特定的遠端節點使用案例,在此情況下叢集所管理的虛擬客座資源會由叢集所啟用,並作為遠端節點整合入叢集之中。
  • pacemaker_remote — 一項能夠在 Pacemaker 叢集環境中與獨立(非叢集)環境中的客座節點(KVM 和 LXC)內執行遠端應用程式管理的服務 daemon。這項服務乃 Pacemaker 本機資源管理 daemon(LRMD)的增強版本,它能在遠端客座上管理和監控 LSB、OCF、upstart 以及 systemd 資源。它亦能允許 pcs 在遠端節點上運作。
  • LXC — 一個由 libvirt-lxc Linux 容器驅動程式所定義的 Linux Container。
一個執行 pacemaker_remote 服務的 Pacemaker 叢集會擁有下列特性。
  • 執行 pacemaker_remote 服務的虛擬遠端節點(在虛擬機器端僅需要進行非常少量的配置)。
  • 執行於叢集節點上的叢集堆疊(pacemakercorosync)會啟動虛擬機器並即刻連上 pacemaker_remote 服務,允許虛擬機器整合入叢集中。
虛擬機器遠端節點與叢集節點之間的關鍵差異在於遠端節點不會執行叢集堆疊。這代表遠端節點不會被仲裁。這也意味著遠端節點不會被綁定至與叢集堆疊相聯的伸縮性限制。就資源管理而言,除了仲裁限制之外,遠端節點的行為會與叢集節點相同。叢集擁有完整的能力以管理和監控各個遠端節點上的資源。您可根據遠端節點建立限制式,使其處於待命模式,或進行任何其它您在叢集節點上所進行的動作。遠端節點會如同叢集節點一般地出現在叢集狀態輸出中。

8.4.1. 容器遠端節點資源選項

當配置虛擬機器或是 LXC 資源使其作為遠端節點運作時,您可建立一項用來管理虛擬機器的 VirtualDomain 資源。請使用下列指令來查看您能為 VirtualDomain 資源設置的選項。
# pcs resource describe VirtualDomain
除了 VirtualDomain 資源選項以外,您可配置 metadata 選項來啟用資源作為遠端節點和定義連線參數。表格 8.3, “用來將 KVM/LXC 資源配置為遠端節點的 Metadata 選項” 詳述了這些 metadata 選項。

表格 8.3. 用來將 KVM/LXC 資源配置為遠端節點的 Metadata 選項

欄位預設詳述
remote-node
<none>
這項資源定義的遠端節點名稱。這會啟用資源來作為遠端節點和定義使用來辨識遠端節點的獨特名稱。若未設置其它參數,這個值也會被視為連接埠 3121 上,將被連至的主機名稱。警告:這個值不可與任何資源或節點 ID 重疊。
remote-port
3121
配置一個自訂連接埠,以讓客座連上 pacemaker_remote
remote-addr
用來作為主機名稱的 remote-node
若遠端名稱非客座主機名稱,需連至的 IP 位址或主機名稱
remote-connect-timeout
60s
等待處理的客座連線逾時前所需等待的時間
下列指令會建立一項 VirtualDomain 名為 vm-guest1 的資源,它是個能透過使用 remote-node meta 屬性來執行資源的遠端節點。
# pcs resource create vm-guest1 VirtualDomain hypervisor="qemu:///system" config="vm-guest1.xml" meta remote-node=guest1