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
-
Oracle Linux 9の
ol9_addons
yumリポジトリを有効にします:sudo dnf config-manager --enable ol9_addons
-
dnf update
コマンドを使用してシステムを更新し、必要なパッケージをインストールします:sudo dnf update -y sudo dnf install -y python36-oci-sdk python36-oci-cli oci-utils-migrate
-
物理インストールを移行する場合は、qemu-imgパッケージをインストールします:
sudo dnf install -y qemu-img
Oracle Linux 8
-
Oracle Linux 8の
ol8_addons
yumリポジトリを有効にします:sudo dnf config-manager --enable ol8_addons
-
dnf update
コマンドを使用してシステムを更新し、必要なパッケージをインストールします:sudo dnf update -y sudo dnf install -y python36-oci-sdk python36-oci-cli oci-utils-migrate
-
物理インストールを移行する場合は、qemu-imgパッケージをインストールします:
sudo dnf install -y qemu-img
Oracle Linux 7 (拡張サポート)
-
Oracle Linux 7の
ol7_addons
およびol7_kvm_utils
リポジトリを有効にします:sudo yum-config-manager --enable ol7_addons ol7_kvm_utils
-
yum update
コマンドを使用してシステムを更新し、必要なパッケージをインストールします:sudo yum update -y sudo yum install -y python36-oci-sdk python36-oci-cli oci-utils-migrate
-
物理インストールを移行する場合は、
qemu-img
パッケージをインストールします:sudo yum install -y qemu-img
物理インストールの仮想ディスク・イメージへの変換
物理インストールを移行するには、RAWディスク・イメージを作成し、それを仮想ハード・ディスク形式(VMDKまたはQCOW2)に変換します。その後、仮想ディスク・イメージの移行の手順に従うことができます。
RAWディスク・イメージの作成
-
物理マシンを停止してイメージを作成する前に、すべてのデバイス・ドライバを初期ラム・ディスク(
initramfs
)に一時的に含めます:sudo dracut --force --no-hostonly
-
物理マシンの電源を切断した後、リカバリ・システムを使用して外部の場所にディスク・イメージを作成します:
sudo dd if=device_or_volume of=path_to_image bs=4M status=progress conv=sync,noerror
- ディスク形式のVMDK (Oracle VM Virtualboxと互換性あり)またはQCOW2 (Oracle Linux KVMと互換性あり)を選択し、ディスク・イメージを変換します。
オプション1: 仮想マシン・ディスク形式(VMDK)への変換
-
RAWディスク・イメージを仮想マシン・ディスク(VMDK)形式に変換します。このファイル形式は、Oracle VM Virtualboxと互換性のある仮想ハード・ディスクに使用されます。
qemu-img convert -f raw -p -O vmdk raw_disk_image exported_file.vmdk
-
オプションで、仮想ハード・ディスクをパッケージ化してOracle Cloud Infrastructureにインポートする前にテストします。
詳細は、Oracle VM VirtualBoxドキュメントのディスク・イメージ・ファイルの項を参照してください。
qemu-img
コマンドの詳細は、qemu-img(1)
のマニュアル・ページを参照してください。 - Oracle Cloud Infrastructureへの仮想ディスク・イメージの移行に進みます。
オプション2: QEMU Copy-on-Write形式(QCOW2)への変換
-
RAWディスク・イメージをQEMU copy-on-write (QCOW2)に変換します。このストレージ形式は、Oracle Linux KVMと互換性のある仮想ハード・ディスクに使用されます。
qemu-img convert -f raw -p -c -O qcow2 raw_disk_image exported_file.qcow2
-
オプションで、仮想ハード・ディスクをパッケージ化してOracle Cloud Infrastructureにインポートする前にテストします。
詳細は、Oracle Linux KVMユーザーズ・ガイドのKVMゲストのストレージの作業の章を参照してください。
- Oracle Cloud Infrastructureへの仮想ディスク・イメージの移行に進みます。
Oracle Cloud Infrastructureへの仮想ディスク・イメージの移行
oci-image-migrate
ユーティリティを使用して、仮想ディスク・イメージをOracle Cloud Infrastructureインスタンスに移行します。
前提条件
移行する前に、次を確認してください:
- Identity and Access Managementを構成しました。
- Oracle Cloud Infrastructureテナンシにオブジェクト・ストレージのバケットを作成しました。
- APIアクセス用の資格証明を使用してOracle Cloud Infrastructure SDKを構成しました。設定および前提条件を参照してください。
- 物理インストールの仮想ディスク・イメージへの変換を完了しました(物理ホストを移行する場合)。
Oracle Cloud Infrastructureを初めて使用する場合は、Oracle Cloud Infrastructureドキュメントの開始の項を参照してください。
ユーティリティを使用したイメージの移行
- 前提条件を完了します。
- VMDKまたはQCOW2形式の仮想ハード・ディスクを検証および前処理します:
sudo oci-image-migrate -y -i unprocessed_virtual_hard_disk
- 前処理した仮想ハード・ディスクをカスタム・イメージとしてOracle Cloud Infrastructureバケットにアップロードします:
oci-image-migrate-upload -y -i processed_virtual_hard_disk -b bucket_name -o image_name
- Oracle Cloud Infrastructureバケットのオブジェクト・ストレージからカスタム・イメージ・リポジトリにイメージ・ファイルをインポートします:
oci-image-migrate-import -y -i image_name -b bucket_name -c compartment_name
- 物理ホストから移行した場合は、インポートしたカスタム・イメージを使用して、新しいインスタンスごとに
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
- カスタム・イメージが起動時に使用する起動モードを指定します。指定可能な値は、
PARAVIRTUALIZED
、EMULATED
および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
移行の追加情報
- カスタム・イメージを使用して新しいインスタンスを作成および構成する方法を確認するは、Linuxイメージのインポート後のタスクを参照してください。
- オンプレミス・サーバーを専用のベア・メタル・インスタンスに移行するには、独自のイメージの導入(BYOI)を参照してください。
- Oracle VM VirtualBox仮想マシンを移行するには、Oracle Cloud Infrastructureへのアプライアンスのエクスポートを参照してください。