VMレプリケーションの理解

Oracle Cloud Migrationsのレプリケーション・プラグインは、ソース環境からOracle Cloud Infrastructureへのソース・アセット・スナップショットのレプリケーションを管理します。

レプリケーション・プラグインは、ソースVMのボリュームからスナップショットを取得し、レプリケーション・バケットにコピーします。

レプリケーション・バケットについて

レプリケーション・バケットは、ターゲットOCIテナンシへのVMwareスナップショットの転送を容易にするために一時的に使用されます。スナップショット・データがブロック・ボリュームに書き込まれると、レプリケーション・バケットから削除されます。

レプリケーション・コンパートメントにプライベート・バケットを作成します。これは、レプリケーション・ロケーションの移行時に指定します。システム生成のバケット名ではなく、ユーザーが指定したバケット名を指定できます。ユーザー指定のバケット名には、文字(大文字または小文字)、数字、ハイフン、アンダースコアおよびピリオドを使用できます。スナップショット操作のバケットの管理の詳細は、オブジェクト・ストレージ・バケットを参照してください。

次に例を示します。

移行先のターゲット・リージョンにコンパートメントのバケットを作成します。

VMware移行の場合、バケットに関連する次のポリシーを使用します。

Allow dynamic-group HydrationAgentDynamicGroup to read objects in compartment <migration_compartment_name>
Allow dynamic-group HydrationAgentDynamicGroup to {OCM_HYDRATION_AGENT_TASK_INSPECT, OCM_HYDRATION_AGENT_TASK_UPDATE, OCM_HYDRATION_AGENT_REPORT_STATUS} in compartment <migration_compartment_name>

AWSの移行には、バケットに関連する次のポリシーを使用します。

Allow dynamic-group HydrationAgentDynamicGroup to manage objects in compartment <migration_compartment_name>
Allow dynamic-group HydrationAgentDynamicGroup to {OCM_HYDRATION_AGENT_TASK_INSPECT, OCM_HYDRATION_AGENT_TASK_UPDATE, OCM_HYDRATION_AGENT_REPORT_STATUS} in compartment <migration_compartment_name>

Oracle Cloud Migrationsポリシーの詳細は、「Oracle Cloud Migrationsサービス・ポリシー」を参照してください。

水和剤について

ハイドレーション・エージェントは、移行プロジェクトの作成時に指定したレプリケーションの場所から始まるコンピュート・インスタンスです。

ハイドレーション・エージェントは、レプリケーション・プラグインによって取得されたアセットのスナップショット(EC2アセットの場合はEBSボリュームから直接コピーされる)を、Oracle Cloud Infrastructureで生成されたブロック・ボリュームにブロック・コピーすることを目的としています。ハイドレーション・エージェント・インスタンスは、オブジェクト・プール・ロジックに基づいてレプリケーション・プロセスのロード・バランシングを自動的に開始します。ハイドレーション・エージェント・インスタンスは、承認されたシェイプおよびイメージのアルゴリズムに基づいて作成されます。各ハイドレーション・エージェント・インスタンスは、1つのVCN、1つのサブネットおよび関連付けられたリソース(VCNルート表)を作成します。VCN、サブネットおよび関連リソースに設定された最大数については、サービス制限のネットワーキング制限を参照してください。コンソール内からサービス制限の拡大のリクエストを送信できます。サービス制限を引き上げるには、サービス制限の引上げのリクエストを参照してください。

承認されたシェイプ・アルゴリズムは、可用性ドメインおよびコンパートメントで使用可能なシェイプの1つを選択します。このアルゴリズムでは、最小CPU数と最小コストでシェイプが優先されます。標準シリーズのVMシェイプの詳細は、仮想マシン(VM)シェイプを参照してください。

承認済イメージのアルゴリズムは、使用可能なOracle-Linux-7.9 OSなどの承認済イメージのいずれかを使用してハイドレーション・エージェント・インスタンスを起動します。新しいイメージ・デプロイメントでは、アルゴリズムが更新されます。

AWSの場合、テナンシでOCI移行によって起動されたハイドレーション・エージェントは、EBS Direct APIを使用して、フル・スナップショットのデータ・ブロックをコピーするか、2つのスナップショット間で変更されたブロックのみをコピーし、それをOCIブロック・ボリュームに直接書き込みます。

ハイドレーション・エージェントの制限

ハイドレーション・エージェント・インスタンスに対して十分な制限を予約していることを確認します。ハイドレーション・エージェントの制限を増やすことができるのは管理者のみです。

VM.Standard.E4のターゲット・リージョンに十分な制限があることを確認します。フレックス(標準-e4-core-count、標準-e4-memory-count)シェイプ。ハイドレーション・エージェントに使用可能な容量のCPUおよび160 GBメモリーを10個予約することをお薦めします。また、移行するVMのシェイプ制限要件も考慮してください。

Standard.E4シェイプが使用できない場合は、承認済のシェイプに適切なリソースを予約することをお薦めします。

増分異動について

増分転送では、VMware VMレベルで変更済ブロック・トラッキング(CBT)を有効にする必要があります。

VMwareでの増分転送

共通VMスナップショットが機能し、存在し、VMのCBTを有効にすると、レプリケーション・プラグインによって増分更新が自動的に実行されます。CBTを有効にするには、仮想マシン上の変更済ブロック・トラッキング(CBT)の記事を検索します。

必要な仮想マシン構成

アセットを移行する前に設定する必要があるVMware仮想マシン(VM)パラメータ値:

パラメータ 設定ステップ
disk.EnableUUID True

デフォルトでは、disk.EnableUUIDパラメータは有効です。

そうでない場合は、指定のステップに従ってパラメータを有効にします。

  1. VMを停止します。
  2. VMを右クリックし、設定の編集をクリックします。
  3. 「オプション」タブを選択します。
  4. 「詳細」セクションで「一般」を選択します。
  5. 右側のメニューで「構成パラメータ」を選択します。
  6. パラメータdisk.EnableUUIDが存在し、値がTRUEに設定されていることを確認します。そうでない場合は、値をTrueに設定します。

    パラメータが存在しない場合は、「行の追加」を選択して追加します。

  7. VMを起動します。
ctkEnabled True

デフォルトでは、変更済ブロック・トラッキング(CBT)はVMware仮想マシンでは有効になっていません。CBTを有効にするには、「仮想マシン上のCBT」を参照してください。

AWSでの増分転送

AWS EC2移行の場合、その機能を提供する関連するAWS APIエンドポイントを介してボリューム・スナップショット間で変更されたブロックのみをレプリケートすることによって、増分転送が自動的に行われます。AWS移行用に構成するものはありません。

暗号化されたEBSボリュームの操作

Oracle Cloud Infrastructure Block Volumeサービスの機能の1つは、ボリュームが保存常に暗号化されることです。対照的に、Amazon Elastic Block Store (Amazon EBS)には、暗号化および非暗号化ボリュームを使用できます。EBSボリュームがデフォルトで暗号化されている場合、そのボリュームから作成されるスナップショットは、同じAWS KMSキーを使用して同様に暗号化されます。Oracle Cloud Migrationsは、暗号化されたEBSボリュームと非暗号化EBSボリュームの両方のレプリケーションをシームレスにサポートしますが、暗号化されたボリュームに使用されるAWS KMSキーへのアクセスが必要です。移行プロジェクト・レプリケーションに、暗号化されたEBSボリュームがアタッチされているEC2インスタンスが含まれているが、レプリケーションに指定されたユーザーが適切なAWS KMSキーにアクセスできない場合、EBSの読取りエラーが発生し、レプリケーション・ジョブが失敗します。適切なAWS KMSキー・アクセスは、読取りおよび転送プロセス中に暗号化されたスナップショットを復号化する通常のEBSプロセスに従います。

AWS KMSキーへのアクセスの提供

暗号化されたEBSボリュームを正常にレプリケーションするには、AWSアセット・ソースに構成されているレプリケーション資格証明に、ボリュームの暗号化に使用されるAWS KMSキーを使用するためのアクセス権が必要です。AWS KMSには、ユーザーがすべての暗号化操作にKMSキーを使用できるようにするデフォルトのキー・ポリシーが含まれています。スナップショットからEBSボリュームをレプリケートするプロセス中にOCMで使用される暗号化操作は、「復号化」のみです。アセット・ソースで指定されたレプリケーション・ユーザーは、キー・ユーザーとしてAWS KMSサービスのキーに直接追加できます。

移行用のブート・ボリュームの変更

仮想マシンをOracle Cloud Infrastructure (OCI) Computeに移行するには、移行されたインスタンスがOCI Computeハイパーバイザで正常に起動するように、OSレベル(ブート・ボリューム)の一部の変更が必要です。

Oracle Cloud Migrationsサービスは、Linux仮想マシンのブート・ボリュームに必要な構成変更を自動的に適用します。これらの変更には、virtioカーネル・モジュールが存在しない場合のインストール、ストレージ・アタッチメントの更新、シリアル・コンソール・アクセス用のカーネル・パラメータが含まれます。Windows仮想マシンに対して自動的に構成変更は行われません。

Linuxのブート・ボリュームの変更

次の表に、サポートされているすべてのオペレーティング・システムでOracle Cloud Migrationsによって自動的に変更されるブート・ボリューム構成を示します。サポートされていないLinux OSを使用している場合は、ブート・ボリュームをOCIにレプリケートする前に、必要な構成変更を手動で適用するステップが表に示されています。

ノート

サポートされているLinux OSの詳細は、サポートされているソースVMゲスト・オペレーティング・システムを参照してください。

Linuxの自動変更

構成の変更 内容 構成を手動で適用するステップ
シリアルコンソールの有効化 Oracle Cloudコンソールを使用して、移行後にVMインスタンスをトラブルシューティングするためにシリアル・コンソールを有効にすることをお薦めします。 次の構成変更をブート構成に適用します。
  1. /etc/securettyに、パスが存在する場合はttyS0を追加します。
  2. Linux VMのGRUB構成で次のオプションを変更します。
    • console=tty1
    • console=ttyS0,115200
  3. Linux VMのGRUB構成で次のオプションを削除します。
    • rhgb
    • quiet

詳細は、「インポートされたLinuxイメージでのシリアル・コンソール・アクセスの有効化」を参照してください。

virtioドライバのインストール

現在サポートされているのは、Linuxベースのオペレーティング・システムの準仮想化モードのみです。

カーネル・バージョン3.4以降のLinuxベースのオペレーティング・システムでは、準仮想化ドライバがサポートされています。

virtioカーネル・ドライバがカーネルに存在することを確認します。 必要に応じて、次の構成変更を適用します:
  1. virtioカーネル・ドライバがカーネルに含まれているかどうかを確認するには、次のコマンドを実行します。

    lsinitrd | grep "/virtio_net

  2. virtioカーネル・ドライバが存在しない場合は、次のコマンドを実行します。

    dracut -f -add qemu INITRAM_FS_FILE KERNEL_VERSION

/etc/fstabの更新 /etc/fstabのUUIDまたはLogical Volume Manager (LVM)名を使用してデバイスを参照することをお薦めします。

ファイル名を使用してデバイスを参照する場合、移行後にこれらのデバイスにアクセスできず、インスタンスのブートに失敗します。

次の構成変更を適用します:

デバイスファイルを参照するすべてのマウントポイントを nofailとしてマークします。

マークするには、/etc/fstabファイルを次のように編集します。

/dev/sdb1 /data01 ext4 defaults,nofail 0 0

Linuxの追加変更

移行プロセス中に、次の変更を実行する必要がある場合もあります。

タスク Description
udevルールの削除 MACアドレスに基づいてudevルールを削除します。
VMへのSSHアクセスの有効化 SSHを有効にし、再起動時にSSHDサービスが自動的に開始されるように設定します。

ファイアウォールによる受信SSH接続リクエストをブロックしないようにしてください。

ネットワークの構成 DHCPに基づいてIPアドレスを受信するようにネットワークインタフェースを更新します。

VMでハードコードされたMACアドレス、静的IPアドレスおよびDNS設定を使用しないでください。

Oracle Cloud Agentのインストール Oracle Cloud Agentをインストールおよび有効化します。Oracle Cloud Agentを参照してください。
OS管理のインストール

OS Managementをインストールして有効にします。Oracle Cloud Agentを参照してください。

他のクラウド・エージェントの削除 他のクラウド管理エージェントを無効化または削除することをお薦めします。
NTPサービスの構成 VMインスタンスをOCIに移行した後、OCI NTPサービス構成を更新することをお薦めします。インスタンスに対するOracle Cloud Infrastructure NTPサービスの構成を参照してください。

Windowsでのブート・ボリュームの変更

Oracle Cloud Migrationsは、準仮想化起動オプションによる移行されたWindowsインスタンスの起動のみをサポートします。移行されたWindowsインスタンスを起動する前に、Windows用のOracleバーティオ・ドライバをインストールする必要があります。ドライバがインストールされていない場合、オペレーティングシステムはブートデバイスを検出できません。Windows用のOracle virtIOドライバをインストールする方法の詳細は、カスタムWindowsイメージのインポートを参照してください。

ノート

サポートされているWindowsオペレーティング・システムの詳細は、サポートされているソースVMゲスト・オペレーティング・システムを参照してください。

Windowsの追加変更

移行プロセス中に、次の変更を実行する必要がある場合もあります。

タスク 内容
SANポリシーをOnline Allとして構成します。

SANを構成するには、MicrosoftドキュメントのStorage Area Network (SAN) windowsコマンドを参照してください。

リモート・デスクトップ(RDP)接続の有効化 RDPを有効にするには、Microsoftドキュメントのリモートデスクトップクライアントを参照してください。

Windowsファイアウォール・インバウンド・ポート・ルールを変更して、プライベートとパブリックの両方のネットワークの場所タイプにRDPアクセスを許可するには、Microsoftドキュメントのインバウンド・ポート・ルールの作成を参照してください。

ネットワークの構成 DHCPに基づいてIPアドレスを受信するようにネットワークインタフェースを更新します。

VMでハードコードされたMACアドレス、静的IPアドレスおよびDNS設定を使用しないでください。

シリアルコンソールの有効化 ウィンドウのシリアル・コンソールを有効にするには、インスタンス・コンソール接続を使用したインスタンスのトラブルシューティングを参照してください。
VMwareツールの削除 VMwareツールの削除の詳細は、VMwareツールのアンインストールを検索してください。
OCI NTPサービスの構成 OCI NTPサービス構成を構成するには、インスタンスに対するOracle Cloud Infrastructure NTPサービスの構成を参照してください。