6.11.4. アフィニティーグループの例
以下の例では、本章で説明しているアフィニティーグループのさまざまな機能を使用して、さまざまなシナリオでアフィニティールールを適用する方法を説明します。
例6.1 高可用性
Dalia は、スタートアップ企業の DevOps エンジニアです。高可用性を確保するために、特定のシステムの 2 つの仮想マシンをクラスター内の任意の異なるホスト上で実行する必要があります。
Dalia は、high availability という名前のアフィニティーグループを作成し、以下を行います。
- 2 つの仮想マシン VM01 および VM02 をアフィニティーグループに追加します。
- VM Affinity を Negative に設定して、仮想マシンが別のホストで実行されるようにします。
- Enforcing の選択を解除 (無効) したままにし、障害発生時に利用可能なホストが 1 つしかない場合に、両方の仮想マシンが実行を継続できるようにします。
- Hosts 一覧を空のままにし、仮想マシンがクラスター内の任意のホストで実行されるようにします。
例6.2 パフォーマンス
Sohni は、2 つの仮想マシンを使用して、毎日ソフトウェアを何回もビルドしてテストするソフトウェア開発者です。これら 2 つの仮想マシン間には、大量のネットワークトラフィックが発生します。同じホストでマシンを実行すると、ビルドおよびテストプロセスでのネットワークトラフィックとネットワークレイテンシーの影響の両方が減ります。ハイスペックのホスト (高速の CPU、SSD、大量のメモリー) を使用すると、このプロセスがさらに加速します。
Sohni は、build and test という名前のアフィニティーグループを作成し、以下を行います。
- VM01 および VM02(ビルドおよびテスト用仮想マシン) をアフィニティーグループに追加します。
- ハイスペックのホスト、host03、host04、および host05 をアフィニティーグループに追加します。
- 仮想マシンを同じホストで実行してネットワークトラフィックとレイテンシーの影響を削減するように、VM affinityを Positive に設定します。
- Host affinity を Positive に設定して、仮想マシンがハイスペックのホストで実行されプロセスを加速できるようにします。
- 両方のルールで Enforcing の選択を解除 (無効) したままにし、高性能なホストが利用できない場合に仮想マシンを実行できるようにします。
例6.3 ライセンス
ソフトウェアアセットマネージャーである Bandile は、会社が 3D イメージングソフトウェアベンダーに対する厳しいライセンス要件に準拠するのを支援します。これらの要件では、ライセンスサーバー用の仮想マシン (VM-LS) と、イメージングワークステーション (VM-WS#) を、同じホストで実行する必要があります。さらに、物理 CPU ベースのライセンスモデルでは、ワークステーションを GPU 搭載の 2 つのホストhost-gpu-primary または host-gpu-backup のいずれかで実行する必要があります。
これらの要件を満たすために、Bandile は 3D seismic imaging というアフィニティーグループを作成し、以下を行います。
- 前述の仮想マシンおよびホストをアフィニティーグループに追加します。
- VM affinity を Positive に設定し、Enforcing を選択して、ライセンスサーバーとワークステーションが、複数のホストではなく必ずどちらかのホストで共に実行されるようにします。
- Host affinity を Positive に設定し、Enforcing を選択して、仮想マシンがクラスター内の他のホストではなく必ず GPU 搭載のいずれかのホストで実行されるようにします。