7.2. 客座端叢集

這代表在各種虛擬化平台上的虛擬客座端中執行的 RHEL Cluster/HA。在使用案例中,RHEL Clustering/HA 主要被用來確保執行於客座端中的應用程式的高可用性。此使用案例類似 RHEL Clustering/HA 如何使用於傳統的空機主機中。不同的地方就是 Clustering 會執行於客座端中。
以下為一列虛擬化平台,以及目前使用 RHEL Cluster/HA 的客座叢集,所擁有的支援等級。在以下清單中,RHEL 6 客座端將圍繞著 High Availability(核心叢集)以及 Resilient Storage 外掛程式(GFS2、clvmd 和 cmirror)。
  • RHEL 5.3+ 的 Xen 主機能完全支援執行客座叢集,而客座端作業系統也必須要是 RHEL 5.3 或更新版本:
    • Xen 客座叢集可使用 fence_xvm 或是 fence_scsi 來進行客座端隔離。
    • 若要使用 fence_xvm/fence_xvmd,必須要有一個運作中的主機叢集,以支援 fence_xvmd,並且 fence_xvm 必須被使用來在所有叢集客座端上作為客座端隔離代理程式。
    • 共享儲存裝置能以受到主機區塊儲存裝置,或是檔案型儲存裝置(原生映像檔)支援的 iSCSI 或是 Xen 共享區塊裝置提供。
  • RHEL 5.5+ 的 KVM 主機不支援執行客座叢集。
  • RHEL 6.1+ 的 KVM 主機支援執行客座叢集,而客座端作業系統必須要是 RHEL 6.1+ 或是 RHEL 5.6+。不支援 RHEL 4 客座端。
    • 允許混合使用空機叢集節點和虛擬化的叢集節點。
    • RHEL 5.6+ 的客座叢集可使用 fence_xvm 或 fence_scsi 來進行客座端隔離。
    • RHEL 6.1+ 的客座叢集可使用 fence_xvm (在 fence-virt 套件中)或是 fence_scsi 來進行客座端隔離。
    • 若客座端使用了 fence_virt 或是 fence_xvm 來作為隔離代理程式的話,RHEL 6.1+ KVM Host 便必須使用 fence_virtd。若客座叢集使用了 fence_scsi 的話,則主機上的 fence_virtd 便是非必要的。
    • fence_virtd 可以三種模式運作:
      • 獨立模式,主機至客座端的映對乃硬式編碼,並且不允許即時遷移客座端
      • 使用 Openais Checkpoint 服務來追蹤叢集客座端的即時遷移。若要如此,必須有個運作中的主機叢集。
      • 使用 libvirt-qpid 套件所提供的 Qpid Management Framework(QMF)。這將能在沒有完整主機叢集的情況下,使用 QMF 來追蹤客座端的遷移。
    • 共享儲存裝置能以受到主機區塊儲存裝置,或是檔案型儲存裝置(原生映像檔)支援的 iSCSI 或是 KVM 共享區塊裝置提供。
  • Red Hat Enterprise Virtualization Management(RHEV-M)版本 2.2+ 和 3.0 目前支援 RHEL 5.6+ 和 RHEL 6.1+ 叢集客座端。
    • 客座叢集必須是同質的(所有的 RHEL 5.6+ 客座端或是所有的 RHEL 6.1+ 客座端)。
    • 允許混合使用空機叢集節點和虛擬化的叢集節點。
    • 在 RHEV-M 2.2+ 中,隔離是由 fence_scsi 所提供,而在 RHEV-M 3.0 中則是由 fence_scsi 和 fence_rhevm 所提供的。隔離乃透過使用 fence_scsi 來支援的,詳述如下:
      • 搭配 iSCSI 儲存裝置使用 fence_scsi,僅限於在支援 SCSI 3 持續保留與 preempt 和 abort 指令的 iSCSI 伺服器上。並非所有 iSCSI 伺服器皆支援這項功能。請與您的儲存裝置廠商確認,以確保您的伺服器與 SCSI 3 持續保留支援相容。請注意,RHEL 所包含的 iSCSI 伺服器目前並不支援 SCSI 3 持續保留,因此它不適合與 fence_scsi 搭配使用。
  • VMware vSphere 4.1、VMware vCenter 4.1、VMware ESX 和 ESXi 4.1 支援執行客座叢集,而客座端作業系統必須是 RHEL 5.7+ 或是 RHEL 6.2+。版本 5.0 的 VMware vSphere、vCenter、ESX 和 ESXi 亦受到支援;然而,因為 Vmware vSphere 5.0 的初始版本中包含了非完整的 WDSL 結構描述,因此 fence_vmware_soap 工具程式在預設安裝下無法運作。欲取得更新程序以修正此問題,請參閱 Red Hat 知識庫 https://access.redhat.com/knowledge/
    • 客座叢集必須是同質的(所有的 RHEL 5.7+ 客座端或是所有的 RHEL 6.1+ 客座端)。
    • 允許混合使用空機叢集節點和虛擬化的叢集節點。
    • fence_vmware_soap 代理程式需要協力廠商的 VMware perl API。此軟體套件必須由 VMware 的網站下載,並安裝在 RHEL 叢集客座端上。
    • 此外,fence_scsi 可如以下部分中所詳述地被使用來提供隔離機制。
    • 共享儲存裝置可由 iSCSI 或是 VMware 原生共享區塊裝置來提供。
    • 您可透過 fence_vmware_so_ap 或是 fence_scsi 來支援使用 VMware ESX 客座叢集。
  • 目前不支援使用 Hyper-V 客座叢集。

7.2.1. 使用 fence_scsi 和 iSCSI 共享儲存裝置

  • 在以上的所有虛擬環境中,fence_scsi 和 iSCSI 儲存裝置可被使用來取代原生共享儲存裝置和原生隔離裝置。
  • 若 iSCSI 目標可正確支援 SCSI 3 持續保留(persistent reservation)和 preempt 與 abort 指令的話,fence_scsi 便可被使用來為透過 iSCSI 操作的共享儲存裝置,提供 I/O 隔離。請與您的儲存裝置廠商進行確認,以判定您的 iSCSI 解決方案是否支援以上功能。
  • RHEL 所包含的 iSCSI 伺服器軟體不支援 SCSI 3 持續保留,因此它無法與 fence_scsi 搭配使用。然而,它適合被使用來與其它像是 fence_vmware 或是 fence_rhevm 之類的隔離裝置結合,作為共享儲存裝置解決方案。
  • 若在所有客座端上使用了 fence_scsi,主機叢集便是非必要的(在 RHEL 5 Xen/KVM 和 RHEL 6 KVM Host 的使用案例中)
  • 若使用了 fence_scsi 作為隔離代理程式,所有共享儲存裝置皆必須透過 iSCSI 操作。您不允許混合使用 iSCSI 和原生共享儲存裝置。