仮想マシンの移行
ライブ マイグレーションとは、実行中に仮想マシンをある物理ホストから別の物理ホストに移動するプロセスを指します。 RHVM は、仮想マシンのメモリ、ストレージ、およびネットワーク接続を元のホスト マシンから宛先に移動します。ライブ マイグレーションは、実行中の仮想マシンを中断することなく、ホストのメンテナンス タスクをサポートするのに役立ちます。
ライブ マイグレーションは、エンド ユーザーに対して透過的です。仮想マシンはパワーオン状態のままで、仮想マシンが新しい物理ホストに移行されている間もユーザー アプリケーションは実行され続けます。仮想マシンと通信するクライアントは、転送の完了時に数ミリ秒のネットワークの一時停止に気付くだけです。
ライブ マイグレーションが正しく機能するには、新しいホストに元のホストと同じアーキテクチャと機能を持つ CPU が必要です。 Red Hat Virtualization は、ホストをクラスターに編成することで、これを管理するのに役立ちます。仮想マシンは、そのクラスターのメンバーであるハイパーバイザー ホストにのみ移行できます。これにより、異なるプロセッサ機能セットをサポートするマシン間で仮想マシンが移行されないようにすることができます。
管理者は、ライブ マイグレーションを使用する前に、Red Hat Virtualization 環境がライブ マイグレーションをサポートするように正しく設定されていることを確認する必要があります。仮想マシンのライブ マイグレーションには、次の構成の前提条件が必要です:
- 仮想マシンは、仮想マシンが実行されているホストと同じクラスタ内のホストに移行する必要があります。両方のホストのステータスが Up である必要があります。
- 両方のホストが同じ仮想ネットワーク、VLAN、およびデータ ストレージ ドメインにアクセスできる必要があります。
- 宛先ホストには、仮想マシンの要件をサポートするのに十分な CPU 容量と RAM が必要です。
- 仮想マシンに cache!=none カスタム プロパティを設定しないでください。 cache パラメータは、仮想マシンのさまざまなキャッシュ モードを構成します。ライブ マイグレーションでは、一貫性のある仮想マシンの移行を確保するために、仮想マシン キャッシュを無効にする必要があります。
ライブ マイグレーションは、マイグレーション ネットワークを使用して実行されます。デフォルト設定では ovirtmgmt を使用します ネットワークを管理ネットワークと移行ネットワークの両方として使用します。各ライブ マイグレーションは最大転送速度に制限されており、同時に実行できるマイグレーションの最大数もありますが、同時ライブ マイグレーションは、管理およびマイグレーション トラフィックによって共有されるネットワークを飽和状態にする可能性があります。最高のパフォーマンスを得るには、ネットワークの飽和を避けるために、ストレージ、移行、および管理ネットワークを分割する必要があります。
仮想マシンの手動移行
Red Hat Virtualization は、同じクラスターに関連付けられたホスト間での仮想マシンの手動移行をサポートしています。移行は、RHVM 管理ポータルを使用してトリガーできます。仮想マシンは、特定のホスト、または RHV によって自動的に選択されたホストに移行できます。
管理者スーパーユーザーとして、管理ポータルを使用して仮想マシンを手動で移行するには:
1. [システム] セクションで、[仮想マシン] タブに移動します。移行する仮想マシンを選択します。仮想マシンの [ホスト] フィールドで、仮想マシンを実行しているホストを特定します。
2. 移行する仮想マシンを選択した状態で、トップ バーの [移行] をクリックします。 [仮想マシンの移行] というタイトルのウィンドウが表示されます。
3. 仮想マシンの移行先ホストを制御するには、[Select Destination Host] チェックボックスをオンにします。メニューで、宛先ホストを選択します。 [OK] をクリックして仮想マシンを移行します。
4. [仮想マシン] タブで、仮想マシンの [ステータス] フィールドを確認します。移行が完了すると、このステータスは移行中からアップに移行します。
5. 仮想マシンのホスト フィールドに、予想される宛先ホストが含まれていることを確認します。
自動移行と移行ポリシー
Red Hat Virtualization 環境の日常的な操作では、アップグレードやメンテナンスのためにホストをオフラインに移動したり、ホストの負荷をクラスター全体でより均等に分散したりすることが必要になる場合があります。クラスターの移行ポリシーは、特定の状況下で、ホストで実行されている仮想マシンを他のホストに自動的に移行できます。
たとえば、移行ポリシーでは、元のホストがメンテナンス モードに移行した場合に、ホストで実行されている仮想マシンをクラスター内の他のホストに自動的に移行するように指定できます。移行ポリシーは、ホストでリソース使用量が特定のしきい値に達したときに仮想マシンの自動移行をサポートするスケジュール ポリシーを構成するためにも使用される場合があります。
移行ポリシーの構成
仮想マシンの移行は、ネットワークを集中的に使用する操作です。 RHVM は、仮想マシンのメモリ状態をネットワーク経由で新しいホストにコピーします。ホストが 10 台以上の仮想マシンを実行している状況では、それらすべてを移行するのは、時間とリソースを消費するプロセスになる可能性があります。したがって、管理者は自分の設定に最も適したポリシー アクションを選択する必要があります。
注: ライブ マイグレーションを機能させるために、RHVM は仮想マシンの状態を新しいホストにリアルタイムでコピーします。移行が完了すると、移行の実行中に変更された状態を再送信する必要がある場合があります。最終的には移行が収束し、RHVM が仮想マシンをほんの一瞬一時停止し、最後のいくつかの変更を新しいホストに送信できるようにするという考え方です。その時点で、新しいホストで仮想マシンの一時停止が解除されます。場合によっては、非常にビジーなシステムが収束するまでに長い時間がかかることがあります。移行ポリシーは、Red Hat Virtualization がこの状況を処理する方法も決定します。
Red Hat Virtualization Manager は、ホストがメンテナンス モードに移行すると、ホストで実行されているすべての仮想マシンのライブ マイグレーションを自動的に開始します。各仮想マシンの移行先ホストは、仮想マシンの移行時に決定され、クラスタ全体に負荷が分散されます。
また、RHVM は仮想マシンのライブ マイグレーションを自動的に開始し、現在のポリシーに従って負荷分散または省電力レベルを維持します。 RHVM を使用すると、管理者は仮想マシンの自動移行を無効にすることができます。仮想マシンを特定のホストでのみ実行するように設定することで、仮想マシンの手動移行を無効にすることができます。移行ポリシーの構成には、ホストに障害が発生した場合の仮想マシンの移行ポリシーを決定する回復力ポリシーの構成が含まれます。
管理ポータルを使用してクラスターの移行ポリシーを構成するには:
1. [システム] セクションで、[クラスター] タブに移動します。クラスターを選択し、[編集] をクリックします。 [クラスターの編集] というタイトルのウィンドウが表示されます。 [移行ポリシー] セクションに移動して、クラスターの現在の移行構成を確認してください。
2. [移行ポリシー] セクションで、[移行ポリシー] メニューに適用する移行ポリシーを選択します。
デフォルトの移行ポリシーは、最小限のダウンタイム ポリシーです。最小限のダウンタイムの移行ポリシーは、移行中の仮想マシンの一時停止を最短にするように最適化しますが、収束に時間がかかりすぎる場合は移行を中止することがあります。その他の利用可能なポリシーは、Postcopy 移行、必要に応じてワークロードを一時停止、レガシー:
– コピー後の移行ポリシーも、可能であれば一時停止が最短になるように最適化します。このポリシーでは、マイグレーションが長期間収束しない場合、ポスト コピーに切り替えられます。 Postcopy は、できるだけ早くターゲット ホストで仮想マシンを起動します。これを実現するために、仮想マシン メモリのサブセットのみが宛先ホストに移動します。仮想マシンが宛先ホストにないメモリ ページにアクセスしようとすると、ページ フォールトが発行され、ソース ホストはそのページを転送します。
– 必要に応じてワークロードを一時停止する移行ポリシーは、ほとんどの負荷条件下での移行をサポートしますが、負荷が高い場合、仮想マシンの一時停止が長くなる可能性があります。
– 最後に、レガシー移行ポリシーは、Red Hat Enterprise Virtualization 3.6 で使用される移行ポリシーをサポートします。
3. [帯域幅] セクションに含まれる帯域幅は、送信と受信の両方で、ホストあたりの最大帯域幅を Mbps で制限します。自動、ハイパーバイザーのデフォルト、カスタムの 3 つのオプションが利用可能です。
– 自動モードでは、データセンター ホスト ネットワーク QoS のレート制限設定が使用されます。レート制限設定が定義されていない場合、ソース ホストとターゲット ホストの NIC の最小速度が取得されます。
– ハイパーバイザーのデフォルト モードでは、ソース ホストの VDSM 設定が使用されます。
– カスタム モードユーザーが Mbps で定義した帯域幅を使用します。
4. レジリエンス ポリシーは、ホストに障害が発生した場合の仮想マシンの移行ポリシーを設定します。 RHVM は、予期せずシャットダウンしたり、メンテナンス モードに移行したりするホスト上で実行されている仮想マシンを、クラスター内の他のホストに移行します。
RHV は、Migrate Virtual Machines ポリシーを使用したすべての仮想マシンの移行、Migrate only High Available Virtual Machines ポリシーを使用した高可用性仮想マシンのみの移行、または Do Not Migrate Virtual Machines オプションを使用した仮想マシンの移行の無効化をサポートしています。
スケジューリング ポリシーの構成
RHV は、ホスト間で仮想マシンを分散するスケジューリング ポリシーの構成をサポートしています。これらのポリシーは、フィルターと重みの組み合わせを使用して、RHVM が仮想マシンを配置するホストを決定します。
RHV はデフォルトで 5 つのスケジューリング ポリシーをサポートしています:Evenly_Distributed 、InClusterUpgrade 、なし 、省電力 、および VM_Evenly_Distributed .各ポリシーには、その動作をカスタマイズするための一連のプロパティが関連付けられています。
クラスターのスケジューリング ポリシーを構成するには:
1. [システム] セクションで、[クラスター] タブに移動します。クラスターを選択し、[編集] をクリックします。
2. [クラスターの編集] というタイトルのウィンドウが表示されます。 Scheduling Policy セクションには、現在のスケジューリング ポリシーが含まれています。 RHVM はデフォルトで None スケジューリングポリシーを設定します。デフォルトの構成では、過負荷のホストに仮想マシンをデプロイすることはできません。 CPU 負荷が 2 分以上 80% を超えると、ホストは過負荷になります。
3. [ポリシーの選択] セクションで、クラスターのポリシーを選択します。
4. 各スケジューリング ポリシーには、構成可能なプロパティの異なるセットがあります。たとえば、vm_evenly_distributed ポリシーには次のようなプロパティが関連付けられています。
- HighVmCount プロパティは、ホストごとの仮想マシンの最大数を構成します。過負荷のホストは、この最大数を超えて実行されます。デフォルト値は 10 です。
- MigrationThreshold プロパティは、仮想マシンがホストから移行する前にバッファを構成します。デフォルト値は 5 です。
- SpmVmGrace プロパティは、SPM ホスト上であまり実行されない仮想マシンの数を定義します。デフォルト値は 5 です。
完了したら、[OK] をクリックしてポリシーを適用します。