kazuitoitokazu’s diary

仕事で絡んだ技術的なメモ

VirtualBox 5.2 Beta1: export Oracle Public Cloud

VirtualBox 5.2 Beta1 がリリースされました

注目した機能が "VM export to Oracle Public Cloud" です。
VirtualBoxVMOracle Public Cloud 形式で Export できる機能で、Beta1 ですがどういうものか確認してみたいと思います。
 
まず、この Oracle Public Cloud の IaaS ですが、VMware ESXi などで動いている VM を移行したい場合の手順についてざっくりとご説明すると、
  1. VM の OS が Linux なら Xen Driver をインストール、Windows なら Oracle VM PV Driver をインストール
  2. OVA 形式で VM を Export または、VMDK をデータストアから抽出
  3. VMDK を raw ファイル形式に変換
  4. 変換した raw ファイルを tar.gz にする(複数Diskを持つVMの場合、Disk 単位で tar.gz を作成)
  5. アップロード
となります。
 
想像するに、このVirtualBox 上の VM を 2, 3, 4 を実施してアップロードしやすくしてくれるものだと思われます。
 
それでは確認していきます。
 

VM の Export

VirtualBox5.2 Beta1 をインストールし、OracleLinux6.9 のVMを作成しインストールしました。

 
 
ファイル→仮想アプライアンスのエクスポートを選択します。

 
続いて、エクスポートする仮想マシンを選択します。

 
 
ここで例の Oracle Public Cloud Format 1.0 を選択します。
やはりファイル名が tar.gz になっています。

 
最後にエクスポートをクリックします。

 
 
これでファイルが生成されるので、完了まで待ちます。

 
この間のリソース使用率を見てみると、CPU はそんなに使っていません。

 
ディスクも 4.8MB/s 程度です。

 
詳しくは調べておりませんが、tar.gz 圧縮はシングルスレッドで動いているようです。
今回は 12GB の仮想ディスクに Oracle Linux 6.9 の Basic Server をインストールしただけなので、実使用量は2GB程度です。
なので、ディスク容量、実使用量が大きい場合、この処理にはかなり時間がかかることになります。
 
作成されたファイルがこちらです。

 

Oracle Public Cloud へアップロードとインスタンスの作成

続いてこれをOracle Public Cloud にアップロードしていきます。

 
先ほどの作成されたファイルを選択して Upload をクリックします。

 
 
 
アップロードが完了したら、Associate Image をクリックし、アップロードしたファイルに Name と Discription を記入します。

 
すると、以下のように登録されるので、これからインスタンスを作成していきます。
インスタンス作成の細かな設定については省略します。

 
イメージの右恥のバーガーアイコンをクリックし、Create Instance を選びます。

 
画面がインスタンス作成のウィザードになります。先ほどのイメージがリストされるので、選択します。

 
Shape(CPU, Memory) を選択します。

 
 
VM の名前を設定しますが、とりあえずデフォルトの値をそのまま使います。

 
 
VMのネットワーク周りの設定を行います。
Shared Network(インターネット側) のみに接続させます。
またSecurity Lists (インターネット側からの接続ルール)も設定します。

 
Storage の設定を行いますが、今回はデフォルトのままで進みます。

 
最後に、構成の確認をして Create をクリックします。

 
 
しばらくすると Instances タブに作成したインスタンスが表示されます。

 
インスタンスをクリックして、Screen Captures タブで画面出力のスクリーンショットを取得してインスタンスが起動しているか確認してみます。
ol69 login: と表示され、VirtualBox で作成した VM が無事 Oracle Public Cloud で動いたことが確認できました。

 

おまけ

 
Export した tar.gz の中身はこのようになってます。
$ tar tvf OL69.tar.gz
-rw-r----- vboxopc10/vbox_v5.2.VBOX_VERSION_PATCHr11 12884901888 2017-08-05 23:51 OL69-disk001.img
 
2つの仮想ディスクを持っているVM を Export すると tar.gz は仮想ディスクごとに作成されます。
-rwxrwxrwx 1 root root 443876265 Aug  6 22:33 OracleLinux69.tar.gz
-rwxrwxrwx 1 root root 641665357 Aug  6 22:35 OracleLinux69-disk002.tar.gz
 

まとめ

  • VirtualBox で作成した VMOracle Public Cloud のインスタンスとして無事に動かすことができました
  • このBeta1で追加された機能は想定通り、VM を tar.gz 形式で Export するという機能でした
  • Export ではなく、イメージの Upload もしてくれると良いですね。
  • 仮想ディスクのサイズ(実使用量)が大きい場合は、出力に時間がかかります。
  • その場合は、手数は必要ですが手動でイメージ変換と tarコマンド + pigz などを使ったほうが処理時間を短くできると思います。