章 7. 虛擬化與 High Availability

多種虛擬化平台已受到支援,可以與結合了 High Availability 與 Resilient Storage 外掛程式的 RHEL 6 一起運作。虛擬化結合 Red Hat Enterprise Linux High Availability 外掛程式有兩種情況,是受到支援的。
這指的是執行於空機電腦上的 RHEL 叢集/High Availability,這些空機電腦亦為虛擬平台。在這模式下,您可以配置叢集資源管理程式(rgmanager)來管理虛擬機器(客座端),使其成為高度可用的資源。
  • 將虛擬機器作為高度可用的資源/服務
  • 客座端叢集

7.1. 將虛擬機器作為高度可用的資源/服務

RHEL HA 與 RHEV 都有提供 HA 虛擬機器的機制。鑑於兩者在功能上的重疊,請小心選擇正確的產品,以符合您的特定使用情境。以下是要提供高可用性的虛擬機器時,選擇 RHEL HA 或 RHEV 的指引。
對於虛擬機器與實體主機數量:
  • 如果您在大量實體主機上建立大量 HA 虛擬機器,那麼使用 RHEV 可能是更好的解決方案,因為 RHEV 管理虛擬機器的演算法則更為複雜,並納入對主機 CPU、記憶體、負載資訊等考量。
  • 如果您在少量實體主機上建立少量 HA 虛擬機器,那麼使用 RHEV HA 可能是更好的解決方案,因為不需要額外的架構。RHEL HA 虛擬機器的解決方案至少需要兩台實體主機,以建立雙節點的叢集。RHEV 的解決方案至少需要四個節點:兩台為 RHEVM 伺服器提供 HA 功能,另外兩台作為虛擬主機。
  • 並無明文規定多少主機或虛擬機器代表「大量」。不過請記得,單一 RHEL HA 叢集中所允許的最大主機數量為 16,並且任何包含了 8 或更多部主機的叢集,將需要經過 Red Hat 進行架構上的檢測,以判定支援能力。
虛擬機器的使用方法:
  • 若您的 HA 虛擬機器正在提供服務並且提供了共享基礎結構的話,您可使用 RHEL HA 或是 RHEV。
  • 若您需要為虛擬機器中執行的一組重要服務提供 HA,您可使用 RHEL HA 或是 RHEV。
  • 若您計劃提供基礎結構,以允許快速佈建虛擬機器,您應使用 RHEV。
    • RHEV VM HA 應該要是動態式的。新增虛擬機器至 RHEV「叢集」非常容易,並且受到了完整支援。
    • RHEL VM HA 不應該是個高度動態式的環境。應設定擁有固定虛擬機器的叢集,並且在該叢集生命週期的有效期限內,不建議再新增或移除額外的虛擬機器。
  • 基於叢集配置的靜態特性,以及實體節點最大數量限制較低(16 個節點),RHEL HA 不應被使用來提供基礎結構,以建立類似雲端的環境。
RHEL 5 支援兩種虛擬化平台。Xen 從 RHEL 5.0 發行版起便受到支援。RHEL 5.4 則發表了 KVM。
RHEL 6 僅支援 KVM 為虛擬化平台。
RHEL 5 AP 叢集支援使用 KVM 和 Xen 來執行由主機叢集基礎結構管理的虛擬機器。
RHEL 6 HA 支援使用 KVM 來執行由主機叢集基礎結構管理的虛擬機器。
下列清單列出了 Red Hat 目前所支援的建置方案:
  • RHEL 5.0+ 支援 Xen 結合 RHEL AP 叢集
  • RHEL 5.4 開始支援 KVM 虛擬機器作為 RHEL AP Cluster 中受管理的資源,此乃技術預覽。
  • RHEL 5.5+ 將 KVM 虛擬機器的支援等級提升為完整支援。
  • RHEL 6.0+ 支援在 RHEL 6 High Availability 外掛程式中,使用 KVM 虛擬機器來作為高可用性資源。
  • RHEL 6.0+ 不支援 Xen 虛擬機器搭配 RHEL 6 High Availability 外掛程式,因為 RHEL 6 已不再支援 Xen。

注意

欲取得有關於受支援之建置方案上的更新資訊和特殊備註,請參閱以下 Red Hat 知識庫項目:
作為受管理的資源執行的虛擬機器類型並不重要。在 RHEL 中任何 Xen 或 KVM 所支援的客座端,皆可被使用來作為高可用性客座端。這包含了各版本的 RHEL(RHEL3、RHEL4、RHEL5),以及多種版本的微軟 Windows 作業系統。請查看 RHEL 的相關文件,以檢查各個 hypervisor 下,最新支援的客座端作業系統清單。

7.1.1. 一般建議

  • 在 RHEL 5.3 和較舊版本中,rgmanager 使用了原生的 Xen 界面來管理 Xen domU(客座端)。在 RHEL 5.4 中,Xen 與 KVM 這兩個 hypervisor 類型的界面,已藉由使用 libvirt,提供了一致性的界面。除了這項架構變更之外,RHEL 5.4 和 5.4z 還發佈了多項錯誤修正,因此建議您在配置 Xen 所管理的服務之前,至少為您的主機叢集升級最新的 RHEL 5.5 套件。
  • 若要配置 KVM 所管理的服務,您必須升級至 RHEL 5.5,因為這是完整支援這項功能的第一個 RHEL 版本。
  • 在建置叢集前,總是先查看最新的 RHEL 勘誤,以確保您擁有最新的修正檔,以修正已知的問題或錯誤。
  • 不支援混合使用主機和不同類型的 hypervisor。主機叢集必須全部基於 Xen 或是 KVM。
  • 您應將主機硬體佈建成能夠吸收來自於多個失效主機的重定位客座端,並且不造成主機過量使用記憶體或是嚴重過量使用虛擬 CPU。若失效情況過多並造成了記憶體或是虛擬 CPU 過量使用,這可能會導致於嚴重的效能下降,甚至是叢集失效。
  • 不支援或建議直接使用 xm 或 libvirt 工具(virsh、virt-manager)來管理(即時遷移、中止、開始)由 rgmanager 控制的虛擬機器,因為這將會跳過叢集管理堆疊。
  • 在叢集中,各組虛擬機器的名稱皆必須要是獨特的,包括唯本機/非叢集的虛擬機器。Libvirtd 僅會根據各個主機強制其使用獨特的名稱。若您手動複製一個虛擬機器,您必須在副本的配置檔案中,更改其名稱。