OCIイメージ移行ユーティリティ

oci-image-migrateユーティリティを使用して、オンプレミスのOracle LinuxイメージをOracle Cloud Infrastructureに移行できます。

ノート

oci-image-migrateユーティリティは、事前インストールされたOCIユーティリティの一部ではありませんが、addonsリポジトリから使用できます。オンプレミス・イメージにoci-image-migrateユーティリティを手動でインストールする必要があります。

互換性

このユーティリティを使用して、仮想マシンと物理ホストの両方をOracle Cloud Infrastructureに移行できます。移行するには、互換性のあるディスクイメージを作成し、それをOracle Linuxホストがアクセスできる共有の場所に保存する必要があります。移行ユーティリティは、デフォルトのOracle VM VirtualBoxディスク・イメージ形式(VMDK)、またはOracle Linux KVMで一般的に使用されるQEMU copy-on-writeディスク・イメージ形式(QCOW2)で動作します。

ユーティリティによるイメージの変更方法

ユーティリティは、仮想マシンのオペレーティング・システムがサポートされていることを確認し、それがOracle Cloud Infrastructureでコンピュート・インスタンスとして正しく実行されるように必要な変更を実行します。これらのユーティリティで自動化される変更についてさらに学習するには、デバイスの持込み(BYOI)を参照してください。

oci-image-migrateを使用したイメージの移行

oci-image-migrateユーティリティのインストール、物理インストールの仮想ディスク・イメージへの変換、および仮想ディスク・イメージのOracle Cloud Infrastructureへの移行を行います。

移行ユーティリティのインストール

移行する前に、ホスト・システムにユーティリティをインストールします。

Oracle Linux 9

  1. Oracle Linux 9のol9_addons yumリポジトリを有効にします:

    sudo dnf config-manager --enable ol9_addons
  2. dnf updateコマンドを使用してシステムを更新し、必要なパッケージをインストールします:

    sudo dnf update -y
    sudo dnf install -y python36-oci-sdk python36-oci-cli oci-utils-migrate
  3. 物理インストールを移行する場合は、qemu-imgパッケージをインストールします:

    sudo dnf install -y qemu-img

Oracle Linux 8

  1. Oracle Linux 8のol8_addons yumリポジトリを有効にします:

    sudo dnf config-manager --enable ol8_addons
  2. dnf updateコマンドを使用してシステムを更新し、必要なパッケージをインストールします:

    sudo dnf update -y
    sudo dnf install -y python36-oci-sdk python36-oci-cli oci-utils-migrate
  3. 物理インストールを移行する場合は、qemu-imgパッケージをインストールします:

    sudo dnf install -y qemu-img

Oracle Linux 7 (拡張サポート)

  1. Oracle Linux 7のol7_addonsおよびol7_kvm_utilsリポジトリを有効にします:

    sudo yum-config-manager --enable ol7_addons ol7_kvm_utils
  2. yum updateコマンドを使用してシステムを更新し、必要なパッケージをインストールします:

    sudo yum update -y
    sudo yum install -y python36-oci-sdk python36-oci-cli oci-utils-migrate
  3. 物理インストールを移行する場合は、qemu-imgパッケージをインストールします:

    sudo yum install -y qemu-img

物理インストールの仮想ディスク・イメージへの変換

物理インストールを移行するには、RAWディスク・イメージを作成し、それを仮想ハード・ディスク形式(VMDKまたはQCOW2)に変換します。その後、仮想ディスク・イメージの移行の手順に従うことができます。

RAWディスク・イメージの作成

  1. 物理マシンを停止してイメージを作成する前に、すべてのデバイス・ドライバを初期ラム・ディスク(initramfs)に一時的に含めます:

    sudo dracut --force --no-hostonly
  2. 物理マシンの電源を切断した後、リカバリ・システムを使用して外部の場所にディスク・イメージを作成します:

    sudo dd if=device_or_volume of=path_to_image bs=4M status=progress conv=sync,noerror
  3. ディスク形式のVMDK (Oracle VM Virtualboxと互換性あり)またはQCOW2 (Oracle Linux KVMと互換性あり)を選択し、ディスク・イメージを変換します。

オプション1: 仮想マシン・ディスク形式(VMDK)への変換

  1. RAWディスク・イメージを仮想マシン・ディスク(VMDK)形式に変換します。このファイル形式は、Oracle VM Virtualboxと互換性のある仮想ハード・ディスクに使用されます。

    qemu-img convert -f raw -p -O vmdk raw_disk_image exported_file.vmdk
  2. オプションで、仮想ハード・ディスクをパッケージ化してOracle Cloud Infrastructureにインポートする前にテストします。

    詳細は、Oracle VM VirtualBoxドキュメントのディスク・イメージ・ファイルの項を参照してください。qemu-imgコマンドの詳細は、qemu-img(1)のマニュアル・ページを参照してください。

  3. Oracle Cloud Infrastructureへの仮想ディスク・イメージの移行に進みます。

オプション2: QEMU Copy-on-Write形式(QCOW2)への変換

  1. RAWディスク・イメージをQEMU copy-on-write (QCOW2)に変換します。このストレージ形式は、Oracle Linux KVMと互換性のある仮想ハード・ディスクに使用されます。

    qemu-img convert -f raw -p -c -O qcow2 raw_disk_image exported_file.qcow2
  2. オプションで、仮想ハード・ディスクをパッケージ化してOracle Cloud Infrastructureにインポートする前にテストします。

    詳細は、Oracle Linux KVMユーザーズ・ガイドのKVMゲストのストレージの作業の章を参照してください。

  3. Oracle Cloud Infrastructureへの仮想ディスク・イメージの移行に進みます。

Oracle Cloud Infrastructureへの仮想ディスク・イメージの移行

oci-image-migrateユーティリティを使用して、仮想ディスク・イメージをOracle Cloud Infrastructureインスタンスに移行します。

前提条件

移行する前に、次を確認してください:

Oracle Cloud Infrastructureを初めて使用する場合は、Oracle Cloud Infrastructureドキュメントの開始の項を参照してください。

ユーティリティを使用したイメージの移行

  1. 前提条件を完了します。
  2. VMDKまたはQCOW2形式の仮想ハード・ディスクを検証および前処理します:
    sudo oci-image-migrate -y -i unprocessed_virtual_hard_disk
  3. 前処理した仮想ハード・ディスクをカスタム・イメージとしてOracle Cloud Infrastructureバケットにアップロードします:
    oci-image-migrate-upload -y -i processed_virtual_hard_disk -b bucket_name -o image_name
  4. Oracle Cloud Infrastructureバケットのオブジェクト・ストレージからカスタム・イメージ・リポジトリにイメージ・ファイルをインポートします:
    oci-image-migrate-import -y -i image_name -b bucket_name -c compartment_name
  5. 物理ホストから移行した場合は、インポートしたカスタム・イメージを使用して、新しいインスタンスごとにinitramfsを再生成します:
    sudo dracut --force

移行ユーティリティ・リファレンス

説明、オプションおよび使用例を含む各ユーティリティの詳細についてさらに学習します。

oci-image-migrate

説明

Oracle Cloud Infrastructureにインポートするためのオンプレミス・イメージを準備します。このコマンドはrootとして実行する必要があります。

oci-image-migrateユーティリティは、qcow2およびvmdk形式のイメージ・ファイルの移行をサポートします。

このユーティリティは、移行のためのイメージを準備するために次を実行します:

  • イメージをインポートするための前提条件を確認します。
  • DHCPクライアントとして設定されているプライマリ・ネットワーク・インタフェース以外のネットワーク・インタフェースを無効にします。
  • cloud-initパッケージなどの推奨パッケージをインストールします。インストールされているパッケージのリストは、/etc/oci-utils/oci-migrate-conf.yamlファイルに表示されます。
  • 処理中のイメージのソフトウェア・リポジトリをホストしているリモート・サーバーへのアクセスを試みます。ドメイン・ネーム・サーバー(DNS)のネーム・サーバーとプロキシ設定は、ソフトウェア・リポジトリにアクセスできる必要があります。
  • デフォルトのクラウド・ユーザーをopcに設定します。

使用状況

oci-image-migrate [-i unprocessed_virtual_hard_disk | --input-image unprocessed_virtual_hard_disk] [-y | --yes] [-v | --verbose] [-h | --help}

オプション

-i unprocessed_virtual_hard_disk | --input-image unprocessed_virtual_hard_disk
未処理の仮想ハード・ディスクのフルパスを指定します。このオプションは必須です。
-y | --yes
プロンプトに"yes"と回答します。
-v | --verbose
ターミナルでのイメージの処理中に詳細情報を表示します。この情報は、エラーのトラブルシューティングやステータスのモニタリングに使用できます。このデバッグ情報は、/var/tmpにも書き込まれます。
-h | --help
コマンドライン・オプションのサマリーを表示します。

$ sudo oci-image-migrate /omv/data/images/ol79.vmdk -v
2021-03-30 20:38:38,177 - oci-utils.migrate-tools - DEBUG(migrate_tools:223) - __ Get config data: helpers_list
2021-03-30 20:38:38,205 - oci-utils.migrate-tools - DEBUG(migrate_tools:223) - __ Get config data: lc_all
...

oci-image-migrate-upload

説明

オンプレミスのイメージ・ファイルをOracle Cloud Infrastructureのオブジェクト・ストレージ・バケットにアップロードします。Oracle Cloud Infrastructureのオブジェクト・ストレージ・バケットにアクセス可能で、ログ・ファイルおよび結果ファイルが書き込まれるディレクトリへの書込み権限(/var/tmp/)を持っている場合、このコマンドにroot権限は必要ありません。

使用状況

oci-image-migrate-upload [-i processed_virtual_hard_disk | --input-image processed_virtual_hard_disk] [-b bucket_name | --bucket-name bucket_name] [-o output_name | --output-name output_name] [-y | --yes] [-v | --verbose] [-h | --help}

オプション

-i processed_virtual_hard_disk | --input-image processed_virtual_hard_disk
処理済の仮想ハード・ディスクのフルパスを指定します。このオプションは必須です。
-b bucket_name | --bucket-name bucket_name
イメージ・ファイルを格納するOracle Cloud Infrastructureのオブジェクト・ストレージ・バケットの名前を指定します。このオプションは必須です。
-o output_name | --output-name output_name
オブジェクト・ストレージで使用するイメージ・ファイルの名前を指定します。指定しない場合、処理済の仮想ハード・ディスクの名前がイメージ名として使用されます。
-y | --yes
プロンプトに"yes"と回答します。
-v | --verbose
ターミナルでのイメージ・アップロードの処理中に詳細情報を表示します。この情報は、エラーのトラブルシューティングやステータスのモニタリングに使用します。このデバッグ情報は、/var/tmpにも書き込まれます。
-h | --help
コマンドライン・オプションのサマリーを表示します。

$ oci-image-migrate-upload -v -i /omv/data/images/ol79.vmdk -b test_bucket_001 -o ol79_demo.qcow2

  Uploading ol79.vmdk -b test_bucket_001 -o ol79_demo.qcow2 at Thu Mar 25 20:44:16 2021
  Uploading /omv/data/images/ol79.vmdk to object storage test_bucket_001 in the Oracle Cloud Infrastructure as ol79_demo.qcow2
  Object storage test_bucket_001 present.
  Agree to proceed uploading /omv/data/images/ol79.vmdk to test_bucket_001 as ol79_demo.qcow2? (y/N) y


  Uploading /omv/data/images/ol79.vmdk, this may take a while....
  00:03:12 [          uploading ol79_demo.qcow2

oci-image-migrate-import

説明

オブジェクト・ストレージからOracle Cloud Infrastructureのカスタム・イメージ・リポジトリにイメージをインポートします。Oracle Cloud Infrastructureのオブジェクト・ストレージ・バケットにアクセス可能で、ログ・ファイルおよび結果ファイルが書き込まれるディレクトリへの書込み権限(/var/tmp/)を持っている場合、このコマンドにroot権限は必要ありません。

使用状況

oci-image-migrate-import[-i image_name | --input-image image_name] [-b bucket_name | --bucket-name bucket_name] [-c compartment_name | --compartment_name compartment_name] [-d display_name | display-name display_name] [-l launch_mode | launch-mode launch_mode] [-y | --yes] [-v | --verbose] [-h | --help}

オプション

-i image_name | --input-image image_name
カスタム・イメージとしてインポートするイメージの名前を指定します。このオプションは必須です。
-b bucket_name| --bucket-name bucket_name
イメージ・ファイルが格納されているOracle Cloud Infrastructureのオブジェクト・ストレージ・バケットの名前を指定します。このオプションは必須です。
-c compartment_name | --compartment-name compartment_name
宛先コンパートメントの名前を指定します。このオプションは必須です。
-d display_name | --display-name display_name
Oracle Cloud Infrastructureのカスタム・イメージ・リポジトリでカスタム・イメージに表示する名前を指定します。このパラメータを指定しない場合、イメージ名が表示名として使用されます。
-l launch_mode | --launch-mode launch_mode
カスタム・イメージが起動時に使用する起動モードを指定します。指定可能な値は、PARAVIRTUALIZEDEMULATEDおよびNATIVEです。モードを指定しない場合、デフォルトはPARAVIRTUALIZEDです。
-v | --verbose
ターミナルでのイメージ・インポートの処理中に詳細情報を表示します。この情報は、エラーのトラブルシューティングや進行状況のモニタリングに使用します。このデバッグ情報は、/var/tmpにも書き込まれます。
-y | --yes
プロンプトに"yes"と回答します。
-h | --help
コマンドライン・オプションのサマリーを表示します。

$ oci-image-migrate-import -v -y -i ol79_demo.qcow2 -b test_bucket_001 -c OLimages -d ol79_demo

  Importing ol79_demo.qcow2 from test_bucket_001 into test_bucket_001 as ol79_demo and setting launch mode as PARAVIRTUALIZED
  Object storage namespace: IMAGETEST
  Compartment: OLimages
  Object storage test_bucket_001 present.
  Import ol79_demo.qcow2 to OLimages as ol79_demo y
  00:00:05 [               importing ol79_demo

移行の追加情報