エクスポート

すべてのワークロード・データ(ストレージ、イメージ、ファイル)を外部ホストにエクスポートし、ユーティリティ・ホストを設定し、ブート・ディスクを変換します。

エクスポートブートディスク

ソース環境から、PCAへのアップロード用にイメージを準備するために使用されるユーティリティーサーバーにブートディスクをコピーします。

使用する方法は、ソース・ハイパーバイザおよび管理プラットフォームによって異なります。たとえば、Oracle VMまたはPCA 2.4では、ブート・ディスクの.imgファイルを、VMのvm.cfgファイルに示されている記憶域リポジトリからコピーして取得します。計算ノードまたはOracle VM Server (OVS)でコマンドを実行します。たとえば次のようにします。

cd /OVS/Repositories/0004fb00000300007b2cd14ca0d48e8b/VirtualDisks
scp 0004fb0000120000fcd80512881d4979.img
utilityhost:/data/0004fb0000120000fcd80512881d4979.raw

この例では、出力ファイルの名前がファイル拡張子.rawに変更されます。これは、Oracle VM .imgファイルで'raw disk'イメージ形式が使用されることを示すオプションの変更です。

プライベート・クラウド・アプライアンス2.xストレージ・リポジトリのエクスポート

Private Cloud Appliance 2.xデプロイメントからストレージ・リポジトリをエクスポートするためのオプションがいくつかあります。

Private Cloud Appliance 2.4では、ストレージ・リポジトリがコンピュート・ノードにマウントされます。デフォルトでは、PCAのプライベート・ネットワーク上にあり、データ・センターへの事前構成されたネットワーク接続はありません。その場合は:

  • .imgファイルは、2つの管理ノードのいずれかに対してscpできます。
  • または、管理ノードへの読取り専用Oracle VMリポジトリ・エクスポートを作成してから、外部ホストへのscpを作成します。

次のステップは、Oracle Private Cloud Applianceバックアップ・ガイドから抜粋したものです。このプロセスを使用すると、Oracle VMストレージ・リポジトリ内のすべてのVMを一括エクスポートできます。

  1. Oracle VM Managerで、「Servers and VMs」タブをクリックします。「サーバー・プール」で、サーバー・プール名を開いてサーバー名を表示し、いずれかのサーバーを選択します。管理パネルの「パースペクティブ」ドロップダウンから、「リポジトリ・エクスポート」を選択します。
  2. 「+」アイコンをクリックします。「リポジトリ・エクスポートの作成」ダイアログで、エクスポートするリポジトリを選択します。NFS共有をマウントするホストのIPアドレスまたはホスト名(どちらかの管理ノードのアドレス)を入力します。「オプション」フィールドにオプションro、no_root_squashを入力して、すべてのリポジトリ・ファイルが表示されるようにする読取り専用マウントを確認します。
  3. 「OK」をクリックし、リポジトリ・エクスポートのリストでエクスポートを検索します。
  4. 「リポジトリ・パス」列の値をコピーし、選択した計算ノードをNFSサーバーとして使用してマウント・コマンドを発行します。管理ノードには記憶域リポジトリの読取り専用ビューがあり、最初に計算ノードからディスク・イメージをscpしなくても、リポジトリのVirtualDisksディレクトリから直接ディスク・イメージをコピーできます。次に例を示します。
    # mount 192.168.4.5:/OVS/Repositories/0004fb0000030000cc1d0d9dfba208d0/ /mnt
    # ls -la /mnt
    total 2077 
    drwxr-xr-x   8 root root  3896 Aug 10  2019 .
    dr-xr-xr-x. 22 root root  4096 Jan  5 20:10 ..
    drwx------   9 root root  3896 Jan 24 14:10 Assemblies
    drwx------   2 root root  3896 Dec  9 14:23 ISOs
    drwxr-xr-x   2 root root  3896 Aug  8  2019 lost+found
    -rw-------   1 root root 15014 Mar  9 11:48 .ovsmeta
    -rw-------   1 root root   151 Sep 10  2020 .ovsrepo
    drwx------  11 root root  3896 Nov 25 16:12 Templates
    drwx------   2 root root  8192 Mar  9 11:48 VirtualDisks
    drwx------  53 root root  3896 Mar  9 11:48 VirtualMachines

    マウント・オプションは最適化できます。たとえば次のようにします。

    mount -o ro,bg,hard,rsize=524288,wsize=524288,nfsvers=3,tcp 192.168.4.5:/OVS/Repositories/0004fb0000030000cc1d0d9dfba208d0 /mnt

VM VirtualBoxディスク・イメージの検索およびエクスポート

Oracle VM VirtualBoxは通常、ディスク・イメージをディレクトリVirtualBox VMs内のVMと同じ名前のサブディレクトリに格納します。

  1. ユーザー・インタフェースからのVM情報は、次の完全なパスを提供します。
    $ vboxmanage showvminfo "Solaris 11.4"|more
    Name: Solaris 11.4
    Groups: /
    Guest OS: Oracle Solaris 11 (64-bit)
    UUID: 3a4ce795-d6b1-44f8-a16b-8b7fb0fbb4a8
    Config file: /Users/jeff/VirtualBox VMs/Solaris 11.4/Solaris 11.4.vbox
    Snapshot folder: /Users/jeff/VirtualBox VMs/Solaris 11.4/Snapshots
    Log folder: /Users/jeff/VirtualBox VMs/Solaris 11.4/Logs
  2. そのフォルダ内で、VMのブート・ディスクの.vdiまたは.vmdkディスク・イメージ、およびユーティリティ・ホストに対するscpを探します。

KVMディスク・イメージの検索およびエクスポート

仮想マシンのディスクイメージは、次に示すコマンドを発行することによって見つけることができます。

  1. ディスクイメージを一覧表示します。
    $ virsh vol-list default
    Name Path
    ------------------------------------------------------------------------------
    guest-ol8-minimal-serial.qcow2 /home/admin/.local/share/libvirt/images/guest-ol8-minimalserial.qcow2
    guest-ol8-minimal.qcow2 /home/admin/.local/share/libvirt/images/guest-ol8-minimal.qcow2
    guest-ol8.qcow2 /home/admin/.local/share/libvirt/images/guest-ol8.qcow2
    guest-ovsx54-ol7.qcow2 /home/admin/.local/share/libvirt/images/guest-ovsx54-ol7.qcow2 
    juniper-kvm-ol7.qcow2 /home/admin/.local/share/libvirt/images/juniper-kvm-ol7.qcow2
  2. プライベート・クラウド・アプライアンスにエクスポートするVMのディスク・イメージ、およびユーティリティ・ホストにエクスポートするscpを見つけます。

VMwareディスク・イメージの検索およびエクスポート

VMwareイメージは、実際にはディスク・イメージを含むtarファイルである仮想アプライアンスにエクスポートできます。

仮想アプライアンスを取得するには同様の手順を使用し、tarコマンドを使用して.ovaファイルから.vmdkファイルを抽出し、ユーティリティ・ホストにコピーします。

ディスク・イメージ・ファイルの圧縮によるエクスポートの高速化

ディスク・イメージ・ファイルが大きいため、他のホストにコピーするには時間がかかる場合があります。圧縮を使用する場合、特にスパース・ディスク・イメージの場合、この方がはるかに高速になることがあります。

オプションで、gziplzopなどのコマンドを使用してディスク・イメージ・ファイルを圧縮し、ユーティリティ・ホストにコピーする時間を短縮できます。たとえば、lzopを使用し、出力をscpにパイプします。

lzop -1 < 0004fb0000120000fcd80512881d4979.img | ssh utilityhost 'lzop -d > /data/0004fb0000120000fcd80512881d4979.raw' 

この場合、高速ネットワークが利用できるため、圧縮速度は圧縮率よりも重要であるため、圧縮にはlzopを使用します。ネットワークが遅い場合は、gzipまたはbzip2を使用するなど、別の方法を選択できます。

gzip 0004fb00001200008190ce0329fdacdf.img
scp 0004fb00001200008190ce0329fdacdf.img.gz utilityhost:/data/

これらのすべての方法、またはまったく圧縮を使用しない方法は、同様に有効であり、ユーザーの好みによって異なります。

ユーティリティーホストを設定する

Oracle Linuxを実行するユーティリティ・ホストを作成します。これは、仮想マシンまたはベア・メタル・インスタンスです。

OCI CLIをインストールしてユーティリティ・ホストを準備します。手順については、Oracle Private Cloud Applianceユーザー・ガイドのセクション1.2を参照してください。

次のコマンドを使用して、qemu-imgおよびvirt-sparsifyをインストールします。この例では、Oracle Linux 7ホストを想定しています。

$ sudo yum upgrade 
$ sudo yum-config-manager --enable ol7_kvm_utils 
$ sudo yum install qemu-img libguestfs-tools

変換ブートディスク

ブート・ディスクを、PCAハイパーバイザで使用されるオープン標準のqcow2形式に変換する必要がある場合があります。

ノート:

vmdkまたはqcow2形式ですでにディスク・イメージを変換し、.ociファイルにパッケージ化することをお薦めしますが、厳密には必要ありません。.ociファイルには、qcow2形式のディスク・イメージとイメージ・メタデータが含まれます。これにより、イメージの正しいメタデータがディスクの内容とともに提供されます。
  1. OCI CLI、qemu-imgコマンドおよびその他のオプション・ユーティリティにアクセスできるユーティリティ・ホスト上のブート・ディスクを変換します。
  2. PCAの準備をしているブート・ディスク上のブート・ディスクを処理します。これは、ExalogicまたはPCA 2.x上のOracle VMからのディスク・イメージに必要なステップです。

    ノート:

    このステップは、.vmdk形式(VMwareまたはOracle VirtualBox)のディスク・イメージではオプションです。KVMのqcow2形式のファイルを変換する必要はありません。
  3. ユーティリティーノードで、次のようなコマンドを入力し、ディスクイメージファイルの実際のファイル名に置き換えます。
    $ qemu-img convert -f raw -O qcow2 0004fb0000120000fcd80512881d4979.raw output.QCOW2
    $ qemu-img convert -f vdi -O qcow2 ol8.vdi output.QCOW
    $ qemu-img convert -f vmdk -O qcow2 myVMwareVM.vmdk output.QCOW2
    • Oracle VMおよびPCA 2.xの仮想ディスクに-f rawを使用
    • Oracle VM VirtualBoxの.vdiファイルに-f vdiを使用
    • VMwareからの.vmdkイメージには-f vmdkを使用します

    ノート:

    1. 出力ファイルにoutput.QCOW2という名前を付ける必要があります。
    2. qemu-imgコマンドの実行には、イメージ・ファイルのサイズおよびシステム速度に応じてかなりの時間がかかる場合があります。フラグ"-p"を使用して、(nn.nn/100%の形式で進捗状況をパーセントで表示できます。

    Private Cloud Applianceではそのファイル・タイプを使用できるため、.vmdkイメージを変換することをお薦めしますが、変換する必要はありません。このソリューションの後半の「移行」セクションを参照してください。

  4. virt-sparsifyツールを使用して、ディスク・イメージのサイズを小さくできる場合があります。このツールは、ext2/3/4. xfs、btrfs、NTFS、LVMなどの多くのファイル・システムで機能し、ファイルによって所有されていないディスク・ブロックを排除することで、疎ディスク・イメージのサイズを削減します。削減量は、エクスポート前のディスクイメージの内容によって異なります。ユーティリティ環境によっては、コマンドを実行する前にexport LIBGUESTFS_BACKEND=directを発行する必要もあります。
    $ virt-sparsify --in-place output.QCOW2 

OCIファイル・タイプのインポートの準備

プライベート・クラウド・アプライアンスのX9-2イメージおよびOCIイメージでは、ファイル・タイプ.ociが使用されます。このファイル・タイプには2つのコンポーネントがあります:

  • JSON形式のイメージと、作成したoutput.QCOW2という名前の実際のディスク・イメージを記述するimage_metadata.jsonファイル。
  • image_metadata.jsonファイルには、イメージの設定(BIOSとUEFI、仮想デバイスの実装方法)、および実行されているオペレーティング・システムが記述されています。

ソースに基づいてBIOSまたはUEFIバージョンを選択し、オペレーティングシステムの説明を変更します。

Oracle ExalogicイメージはBIOSモードになります。

$ tar zcf MyImage.oci image_metadata.json output.QCOW2

image_metadata.jsonファイル

このサンプルimage_metadata.jsonファイルは、アップロード用に.ociバンドルに含まれています。

次のBIOSおよびUEFIメタデータファイルのバージョンを確認し、関連するいずれかを使用します。インポートされたイメージに基づいて、operatingSystemおよびoperatingSystemVersionのソース環境値によって決定されるBIOSまたはUEFIバージョンを設定します。

BIOSイメージ


{
   "version": 2,
   "externalLaunchOptions": {
       "firmware": "BIOS",
       "networkType": "PARAVIRTUALIZED",
       "bootVolumeType": "PARAVIRTUALIZED",
       "remoteDataVolumeType": "PARAVIRTUALIZED",
       "localDataVolumeType": "PARAVIRTUALIZED",
       "launchOptionsSource": "CUSTOM",
       "pvAttachmentVersion": 1,
       "pvEncryptionInTransitEnabled": false,
       "consistentVolumeNamingEnabled": false
    },
    "imageCapabilityData": null,
    "imageCapsFormatVersion": null,
    "operatingSystem": "Oracle Linux",
    "operatingSystemVersion": "8.5"
}

UEFIイメージ


{
    "version": 2,
    "externalLaunchOptions": {
        "firmware": "UEFI_64",
        "networkType": "PARAVIRTUALIZED",
        "bootVolumeType": "PARAVIRTUALIZED",
        "remoteDataVolumeType": "PARAVIRTUALIZED",
        "localDataVolumeType": "PARAVIRTUALIZED",
        "launchOptionsSource": "CUSTOM",
        "pvAttachmentVersion": 1,
        "pvEncryptionInTransitEnabled": false,
        "consistentVolumeNamingEnabled": false
     },
     "imageCapabilityData": null,
     "imageCapsFormatVersion": null,
     "operatingSystem": "Oracle Linux",
     "operatingSystemVersion": "7.9"
}