7.2. ゲストクラスター

これは、各種の仮想化プラットフォーム上で仮想化されたゲスト内で実行される RHEL Cluster/HA に関連するものです。このユースケースでは、ゲスト内で実行されるアプリケーションの高可用性を維持するために RHEL クラスタリング/HA が主に使用されます。このユースケースは、RHEL クラスタリング/HA がベアメタルホストで常に使用されてきた方法と類似しています。相違点は、クラスタリングがゲスト内で実行される点です。
以下は、仮想化プラットフォームと RHEL Cluster/HA を使用してゲストクラスターを実行するために現在利用できるサポートレベルのリストです。以下のリストでは、RHEL 6 のゲストは、High Availability (コアクラスタリング) と Resilient Storage アドオン (GFS2、clvmd および cmirror) の両方をサポートします。
  • RHEL 5.3+ Xen ホストは、ゲストのオペレーティングシステムも REHL 5.3 以上であるゲストクラスターを完全にサポートします。
    • Xen ゲストクラスターは、ゲストのフェンシングに fence_xvm または fence_scsi のいずれかを使用することができます。
    • fence_xvm/fence_xvmd を使用するには、fence_xvmd をサポートするためにホストクラスターを実行している必要があり、fence_xvm はすべてのクラスター化されたゲストでゲストフェンシングエージェントとして使用される必要があります。
    • 共有ストレージは、ホストブロックストレージまたはファイルレベルのストレージのいずれかでバックアップされる iSCSI または Xen の共有ブロックデバイスのいずれかによって提供されます (RAW イメージ)。
  • 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 のいずれかを使用できます。
    • RHEL 6.1+ KVM ホストは、ゲストクラスターが fence_virt または fence_xvm をフェンスエージェントとして使用している場合に fence_virtd を使用する必要があります。ゲストクラスターが fence_scsi を使用している場合は、ホスト上に fence_virtd は不要です。
    • fence_virtd は、 3 つのモードで稼働できます。
      • ホストとゲストのマッピングがハードコーディングされており、ゲストのライブマイグレーションが許可されないスタンドアロンモード。
      • クラスター化されたゲストのライブマイグレーションを追跡するために Openais チェックポイントサービスを使用する。これには、ホストクラスターが実行中である必要があります。
      • libvirt-qpid パッケージで提供される Qpid Management Framework (QMF) を使用する。QMF を使用することにより、完全なホストクラスターがなくてもゲストの移行を追跡できます。
    • 共有ストレージは、ホストブロックストレージか、またはファイルレベルのストレージのいずれかでバックアップされる iSCSI または KVM の共有ブロックデバイスのいずれかで提供されます (RAW イメージ)。
  • 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 を使用してサポートされます。
      • fence_scsi と iSCSI ストレージの使用は、preempt-and-abort コマンドを使って SCSI 3 永続予約をサポートする iSCSI サーバーに制限されます。すべての iSCSI サーバーがこの機能をサポートする訳ではありません。ストレージベンダーにご確認の上、お使いのサーバーが SCSI 3 永続予約サポートに準拠しているかを確認してください。Red Hat Enterprise Linux と共に出荷される iSCSI サーバーは、SCSI 3 永続予約を現在サポートしていないため、 fence_scsi の使用には適していないことに注意してください。
  • VMware vSphere 4.1、VMware vCenter 4.1、VMware ESX および ESXi 4.1 は、ゲストのオペレーティングシステムが RHEL 5.7+ または RHEL 6.2+ であるゲストクラスターの実行をサポートします。VMware vSphere、vCenter、ESX および ESXi のバージョン 5.0 もサポートされています。ただし、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 の Web サイトからダウンロードしてから RHEL のクラスターゲストにインストールする必要があります。
    • または、後述するように fence_scsi を使用してフェンシング機能を提供することができます。
    • 共有ストレージは、iSCSI または VMware の RAW 共有ブロックデバイスによって提供されます。
    • VMware ESX ゲストクラスターの使用は、fence_vmware_so_ap または fence_scsi のいずれかの使用によりサポートされています。
  • Hyper-V ゲストクラスターの使用は、現時点ではサポートされていません。

7.2.1. fence_scsi および iSCSI 共有ストレージの使用

  • 上記のすべての仮想化環境において、fence_scsi および iSCSI ストレージを、ネイティブの共有ストレージとネイティブのフェンスデバイスの代わりとして使用できます。
  • iSCSI ターゲットが SCSI3 永続予約と preempt and abort コマンドを適切にサポートする場合、iSCSI で提供される共有ストレージ用の I/O フェンシングを提供するために fence_scsi を使用することができます。ストレージベンダーにお問い合わせの上、iSCSI ソリューションが上記の機能をサポートするかどうかをご確認ください。
  • RHEL と共に出荷される iSCSI サーバーソフトウェアは SCSI 3 永続予約をサポートしないため、fence_scsi と共に使用することはできません。ただし、fence_vmware または fence_rhevm などの他のフェンスデバイスと併用して共有ストレージソリューションとして使用するのに適しています。
  • すべてのゲスト上で fence_scsi を使用している場合に、ホストクラスターは不要です (RHEL 5 Xen/KVM および RHEL 6 KVM ホストのユースケースの場合)
  • fence_scsi がフェンスエージェントとして使用される場合、すべての共有ストレージは iSCSI 上にある必要があります。iSCSI とネイティブの共有ストレージを混在させることはできません。