既存の仮想マシンの移行

はじめに

このラボでは、 Migration Toolkit for Virtualization (MTV) を使用して、VMware vSphere から OpenShift に仮想マシンをインポートします。移行ツールキットでは、インポートの「モード」として次の2つをサポートしています。

  • コールドマイグレーションは、マイグレーションを開始する前にソースの仮想マシンを停止します。これがデフォルトのマイグレーションタイプです。

  • ウォームマイグレーションでは、ソースの仮想マシンを稼働させたままデータをコピーします。大部分のデータがマイグレーションされると、VM はシャットダウンされ、最終的なデータがデスティネーションにコピーされます。その後、新しい VM が起動され、VM ホスト型アプリケーションのダウンタイムが大幅に短縮されます。

マイグレーションツールキットは、OperatorHub で利用可能な Operator を使用して、すでにクラスタにデプロイされています。

Operatorのインストールおよび構成方法については、 こちら を参照してください。

ご自身のニーズに合わせて Migration Toolkit for Virtualization を構成する方法についてさらに詳しくお知りになりたい場合は、次のリンク先のドキュメントを参照してください。

目標
  • VMware vSphere 環境を調査する

  • Migration Toolkit for Virtualization (MTV) の構成を確認する

  • マイグレーションプランを作成する

  • VM を OpenShift Virtualization に移行する

移行の前提条件

以下の前提条件は、すべての移行に適用されます。

  • ISO/CD-ROM ディスクはアンマウントされている必要があります。

  • 各 NIC には、IPv4 アドレスが 1 つ以上、および/または IPv6 アドレスが 1 つ以上含まれている必要があります。

  • VMのオペレーティングシステムは、 OpenShift Virtualization のゲストオペレーティングシステムとして使用するための認証およびサポートを受けている必要があります。

  • VM名には、小文字(a-z)、数字(0-9)、またはハイフン(-)のみを含める必要があります。最大文字数は253文字です。先頭と末尾の文字は英数字にする必要があります。大文字、スペース、ピリオド(.)、特殊文字を含めることはできません。

  • VM名は、OpenShift Virtualization環境内の既存のVM名と重複しないようにする必要があります。

Migration Toolkit for Virtualization は、ルールに準拠していない VM に自動的に新しい名前を割り当てます。これにより、問題なく移行を進めることができます。

VMware からの仮想マシンの移行

OpenShift への移行用に、VMware 上に 3 層アプリケーションがデプロイされています。

このアプリケーションは、以下の 4 つの仮想マシンで構成されています。

  • トラフィックを Web サーバーにリダイレクトする HAproxy システム 1 つ。

  • MariaDB データベースを実行する Linux システム 1 つ。

  • IIS をホストする 2 つの Microsoft Windows サーバーで、データベースに接続する PHP アプリケーションを実行。

このラボでは、コールドマイグレーションを使用して、4 つの仮想マシンのうち 3 つをマイグレーションする作業を行います。

HAproxy(ロードバランサー)VMのマイグレーションは必要ありません。OpenShiftは、Service を使用してSDNに接続されたVMのネットワークトラフィックとロードバランシングをネイティブに処理します。

VMware環境の確認

vSphereのリソース(データストアやポートグループなど)をOpenShiftのストレージクラスやネットワークアタッチメント定義にマッピングするプロセスを理解するために、マイグレーションのソース環境を確認することから始めましょう。

  1. VMware vCenter に移動します: vCenter Console

  2. Launch vSphere Client をクリックします。

  3. 次の認証情報でログインします。

    • User: {vcenter_full_user}

    • Password: {vcenter_password}

  4. デフォルトでは、ナビゲーションツリーの一番上に インベントリ ビューが表示され、このオブジェクトを表示する権限がないというメッセージが表示されます。これは現在のユーザーアカウントでは想定通りの動作です。

    00 VMware First Login
  5. Workloads アイコンをクリックし、ナビゲーションツリーを展開して Roadshow という名前のフォルダとその下の4つのVMを表示します。

    01 Workload VM List
ラボ環境の正確なフォルダリストはここに示す画像とは異なる場合がありますが、Roadshowフォルダと対象のVMが見つかれば、ラボを続行できます。
  1. フォルダ内の各仮想マシンの詳細を表示するには、画面上部の VMs アイコンをクリックします。

    02 VM Details
  2. Networks ビューに変更し、ツリーを展開して仮想マシンで使用されているポートグループを表示します。 名前が segment-migrating-to-ocpvirt であることに注意してください。

    03 vSphere Network
  3. 最後に、Datastores ビューに移動して使用中のデータストアを確認します。ツリーを展開して RS00 データセンターにアタッチされているデータストアを確認し、必要に応じて VMs サブタブに移動して各仮想マシンで使用されている容量を表示します。

    04 vSphere Datastore

マイグレーションツールキットへのVMwareプロバイダの確認

VMware vSphereとそこに存在する仮想マシンの確認が完了したので、ウィンドウを閉じてOpenShift Webコンソールに戻ります。

Migration Toolkit for Virtualization (MTV) は公式にはOpenShift Virtualizationとは別のツールであり、Virtualization パースペクティブからはアクセスできません。
  1. 左側のメニューで Virtualization をクリックし、ドロップダウンから Administrator を選択します。

    05 Admin Persona
  2. 左側のメニューで MigrationProviders for virtualization に移動します。

  3. ページの上部にあるプロジェクト mtv-{user} を選択します。

    06 MTV Providers
MTV 2.4 以降はプロジェクト/ネームスペースを認識し、管理者権限を必要としません。VM のインポートをアプリケーションチームや VM ユーザーに委任することで、各自が自分のペースでセルフサービスで移行できるようになります!

デフォルトでは、host というプロバイダーがあり、これは OpenShift Virtualization をターゲットプラットフォームとして表しています。

さらに、このラボでは、vmware という追加のプロバイダーがすでに構成されており、これは先ほど調査したVMware vSphereクラスターのエンドポイントアドレスを持っていることがわかります。

マイグレーションプランの作成

環境の確認を終え、プロバイダーも作成したので、次はマイグレーションプランを作成します。このプランでは、VMware vSphere から Red Hat OpenShift Virtualization へ移行するVMを選択し、移行の実行方法の詳細を指定します。

  1. 左側のメニューで MigrationPlans for virtualization に移動し、Create Plan をクリックします。

    07 Create VMWARE Plan
  2. まず、Plan name を作成するように求められます。フィールドに move-webapp-vmware という値を入力してください。移行用に選択したプロジェクトが mtv-{user} であることを確認し、 VMware タイルをクリックして移行元のソースプロバイダーを選択します。

    08 VMware Source Provider
  3. ページが更新され、ユーザー アカウント{user}がアクセスできる環境内の仮想マシンのリストが表示されます。

    09 VM List
  4. Select virtual machines セクションで、移動したい3つのVMを選択します:

    • database-{user}

    • winweb01-{user}

    • winweb02-{user}

  5. Next をクリックします。

    10 VM Select VMWARE Plan
  6. 次の画面では、マイグレーションプランの詳細を入力するよう求められます。いくつかの詳細項目はすでに記入されていますが、VMが正しいネームスペースに配置され、ネットワークとストレージのオプションが正しくマッピングされるように、いくつかの軽微な修正を行う必要があります。

    マイグレーションプランに以下の値を入力してください:

    • Target provider: host

    • Target namespace: vmexamples-{user}

    • Network map: Pod Networking

    • Storage map: ocs-external-storagecluster-ceph-rbd

      ネットワークマップとストレージマップの両方が、ソースプロバイダー上で現在検出された仮想マシンが使用しているネットワークとデータストアを自動的に検出します。OpenShift側でそれぞれの値が正しく設定されていることを確認するだけで済みます。
  7. Create migration plan ボタンをクリックします。

    11 Create Migration Plan
  8. 新しい画面に移動し、マイグレーションプランが準備中であることが表示されます。

    12 Migration Plan Unready
  9. しばらくすると、プランが Ready になります。青い Start Migration ボタンをクリックして、移行プロセスを開始します。

    13 Migration Plan Ready
  10. 移行を開始する確認ボックスが表示されますので、Start ボタンをクリックします。

    14 Confirm Migrate Start
  11. プランは Running に切り替わり、ステータスフィールドの下に回転するホイールが表示され、移行の進行状況がパーセンテージ値で更新されます。

    15 VMs Migrating
  12. Virtual Machines タブをクリックすると、移行計画の進行状況に関する詳細を示すページが表示されます。

    16 VMs Migrating Details
  13. 移行中の各VMの名前の横にあるドロップダウン矢印をクリックすると、移行プロセスの段階に関する追加の詳細情報を取得できます。

    17 VM Migration Stages
    仮想マシンの移行には10Gbpsのネットワークを推奨しますが、当社のシミュレートされたラボ環境にはありません。このため、多くの参加者が同じタスクを並行して実行すると、実際の環境よりもこのタスクの実行速度が大幅に低下する可能性があります。このプロセスが完了するまでしばらくお待ちください。移行はバックグラウンドで完了するため、ロードショーの他のセクションに進むことができます。これらのマシンの操作については、後のモジュールで説明します。

これらのマシンの移行には、現在ラボに参加しているユーザーの数に応じて、かなりの時間がかかる場合があります。移行計画の完了を待つ間は、インタラクティブビデオの次のセクション、または次のモジュールに進んでください。移行されたVMについては、後のモジュールで操作します。

高度な機能のインタラクティブなデモ

ラボでのコールドマイグレーションが完了し、仮想マシンを操作できるようになるまでの間、この機会にMigration Toolkit for Virtualizationで実行できる高度な移行オプションをいくつかご紹介したいと思います。 このセクションでは、移行プロセス中の仮想マシンの自動再構成と、移行操作中のダウンタイムを削減するウォームマイグレーションの実行方法について説明します。

ぜひ以下のセクションを確認し、インタラクティブなデモビデオをお楽しみください。

Automated Config Hooks(自動構成フック)

自動構成フックは、Migration Toolkit for Virtualization に組み込まれた非常に優れた強力な機能です。

構成フックは、Migration Toolkit for Virtualization の機能として含まれています。構成フックは、移行プロセスの完了前または完了後に仮想マシンのプロパティを変更するための、事前構成フックまたは事後構成フックとして設定できます。構成フックは、Ansible Automation の機能を活用して、YAML 形式のプレイブックを通じて必要なアクションを実行しますが、 Ansible Automation Platform のサブスクリプションは別途必要ありません。代わりに、構成フックは、移行プロセス中に対象の仮想マシンに対して提供されたプレイブックを実行する、別の ansible-runner ポッド内で実行されます。

これらの自動化されたタスクは、ソースハイパーバイザーで動作していた仮想マシンが OpenShift Virtualization でも期待どおりに動作することを保証する上で非常に役立ちます。

ゲスト上のファイルの編集などの単純なタスクや、ハードウェアデバイスの構成の更新などの複雑なタスクを実行できます。

両方の例の実際の動作を確認するには、以下のインタラクティブデモをご覧ください。

デモの手順は次のとおりです:
  • リモートESXiホスト上の仮想マシンを検出し、コールド移行プランを構成します。

  • 移行前フックを使用して、ネットワークアダプターを VMware ネイティブフォーマットから OpenShift Virtualization の VirtIO フォーマットに再構成し、移行プロセスの開始のタイムスタンプを記録するテキスト ファイルを書き込みます。

  • 移行後のフックを使用してネットワークアダプターの構成をクリーンアップし、移行プロセスの完了のタイムスタンプを記録する別のテキストファイルを書き込みます。

  • 実行中の仮想マシンが正常に移行され、行った変更が起動後も維持されることを確認します。

Warm Migration

Migration Toolkit for Virtualization のデフォルトの移行タイプはコールドマイグレーションであり、移行期間全体を通してソース仮想マシンの電源をオフにする必要がありますが、仮想マシンの移行のために長時間のダウンタイムを許容できない重要なワークロードを抱える組織も数多く存在します。 このようなワークロード向けに、Migration Toolkit for Virtualization はウォームマイグレーションもサポートしています。

ウォームマイグレーションプロセスは、ソースハイパーバイザー上の変更ブロックトラッキング (CBT) テクノロジを利用することで実現されます。このテクノロジは、バックアップや災害復旧処理でよく使用され、処理中にネットワーク経由で転送されるデータ量を削減します。 仮想マシンで CBT を有効にすると、ゲストのスナップショットが定期的に作成され、VM ディスクの変更が記録されます。VM を移行するときには、ゲストの初期コピーが実行中に転送されます。これにより、マシンがまだ動作している間に、ダウンタイムなしで大量のマシンデータを転送できます。停止時間をスケジュールできる場合、Migration Toolkit for Virtualization によってカットオーバーがトリガーされ、ゲストの電源がオフになり、変更された CBT スナップショット データが転送されるため、VM のダウンタイムは大幅に短縮されます。

デモの手順は次のとおりです:
  • ソース ハイパーバイザー上で実行中の Windows および Linux 仮想マシンを調べます。

  • 構成された Migration Toolkit for Virtualization を確認します。

  • カットオーバーフェーズで停止するウォーム移行プランを作成して実行します。

  • ゲストがまだ実行中であることを確認した後、カットオーバー操作を初期化します。

  • 移行計画が完了したら、環境を調査します。

移行のラップアップ

  1. 数分後、移行が正常に完了したことがわかります。

    18 Completed VMWARE Plan
  2. 選択した仮想マシンは OpenShift Virtualization に正常に移行されました。

まとめ

このセクションでは、Migration Toolkit for Virtualization について解説し、これを使用して既存の仮想マシンを VMware vSphere 環境から OpenShift Virtualization に移行する手順を説明しました。また、特定の移行シナリオで活用できる高度な機能を紹介するインタラクティブなビデオもいくつか視聴しました。

仮想化移行ツールキットに加えて、現在利用可能な移行ツールキットが2つあります。これらを組み合わせることで、組織のニーズに応じて、さまざまな種類のワークロードをOpenShiftクラスター内およびクラスター間で移行できます。

これらのその他のMigration Toolkitの詳細については、Red Hat アカウントチームまでお問い合わせください。