
提供されている仮想マシンがVirtualBoxなんだけど、自宅のサーバ環境がESXi(VMware)だから、できればESXi上でその仮想マシンを動かしたい
そういった疑問に答えます。
VirtualBoxの仮想マシンイメージをESXiで動かす方法
先日とある本を読んでいたところ、検証環境構築用にVirtualBoxの仮想マシンイメージとデータセットの両方を提供してくれてました。
タクゾーの場合だと、普段ブログ用に使用しているデスクトップがWindowsです。
これにVirtualBoxをインストールしても良いのですが、メインのPCにはなるべく余計なアプリケーションをインストールしたくないのと、何かのテスト際には基本的にはVMware社のESXiを使用しているので、「何か良い方法はないのかな?」と考えていました。
なぜなら、VirtualBoxはホストOS上にインストールして、その上で仮想マシンを動かすという仮想化のアプリケーションです。
つまり、今回入手したVirtualBoxの仮想マシンイメージをそのままESXi上の仮想マシンで利用しようとすると、ESXi上にホスト用の仮想マシン(Windows)を構築し、その上でVirtualBoxインストールし、またその上に仮想マシンをインストールすることになり、仮想レイヤーが多く動作が重くなってしまいます。
VirtualBoxの仮想マシンをESXi上で直接動かすことで、無駄な仮想レイヤーがなく軽快に動いてくれます。
なお、本手順を試したのが少し前なので、各アプリケーションなどのバージョンが古いですが手順は変わりません。
今回ご紹介する手順は、基本的にはすべてのアプリケーションが無料入手・実行できます。
ただし、データの変換を行うためのVMware vCenter Converter Standalone ClientのダウンロードにはVMware社のMy VMwareのアカウントが必要です。(yahoo!やGmailなどのアカウントでも登録ができます。)
VirtualBoxとは?
そもそも「VirtualBoxってなに?」という方もいるかもしれませんので、VirtualBoxについて簡単に解説します。
VirtualBoxはOracle社が提供する仮想化のアプリケーションです。
VirtualBoxを利用することで、既存のオペレーティングシステム(ホストOS)上に追加のオペレーティングシステム(ゲストOS)を実行することができます。
つまり、例えばホストOSがMicrosoft Windowsの場合、VirtualBoxを利用することでそのWindowsホスト上でWindowsやLinuxなどをゲストの仮想マシンとして動作させることができます。

勿論、ホストマシンに十分なCPUやメモリーが搭載されていれば、複数台の仮想マシンを同時に起動させることもできます。
同様のアプリケーションとしては、VMware社のWorkstation Playerが有名です。
細かい差はあるものの、基本的には同様の機能を提供するものと考えて構いません。
仮想化ソフトを使うことで、ちょっとした試験やトライ&エラーのテストを行いたい場合に、ある瞬間の手戻りポイント(snapshot)を事前に取得しておくことで、簡単にその時点に戻ることができます。
テスト環境の詳細
今回テストした環境は以下の通りです。
- ESXi 6.5
- VirtualBox 5.2.40
- (VirtualBoxのイメージとして用意された)仮想マシン Ubuntu 17.10
- VMware Workstation 15 Player 15.5.2
- VMware vCenter Converter Standalone 6.2.0
事前準備として、VitualBoxをインストールした端末にVitualBox用の仮想マシンをインポートし、正常に稼働できるかを確認しておきましょう。
また、VMware Converter を実行するホストからからESXiのWebコンソールに接続できるようにしておきましょう。
まだESXiをお持ちではない方は、こちらの記事を参考にしてください。
移行手順
移行手順は以下の流れとなります。
5:VMware WorkStation Playerでの作業
6~10:VMware Converterでの作業
なりますが、1~4がVirtual Box、5がVMware WorkStation Player、6~がVMware Converter での作業になります。
1.仮想アプライアンスのエキスポートを選択
VirtualBoxをインストールしたホストにVirtalBoxの仮想マシンをインポートが完了したら、その仮想マシンが起動しておきましょう。
次に仮想マシンのエクスポートを行います。

2.エクスポートする仮想マシンを選択します。
3.ストレージの設定のファイルの右のアイコンを選択し、ファイルフォーマットをovf形式を選択して保存します。

4.フォーマットはVirtualization Format 1.0 を選択し、エクスポートを実行します。

5.出来上がった仮想マシンをVMware Workstation 15 Playerでインポートを実施します。エラーが出る場合がありますが、気にせず実行します。
6.インポートが完了したら、続いてVMware vCenter Converter Standaloneを起動しConvert machineを選択します。
7.Seletct souce type でPowered Off、VMware Workstation or other VMware virtual machine を選択し、Virtual machine file には先ほどVMware Workstation 15 Playerでインポートしたディレクトリのvmxファイルを指定します。

8.Select Infrastructure virtual machineを選択し、VMware Infrastructure server details にESXiの情報を追加します。

9.するとVMware ConverterがESXiに接続され、インポートする際のストレージなどの設定が出てきますので適宜設定し、変換(Convert)を開始します。
10.完了するとESXiのWebコンソールに仮想マシンが登録されているので、起動してみましょう。
以上でVirtualBoxの仮想マシンイメージの変換とESXiへの取り込み、起動は完了です。
Tips
ESXiに無事登録して起動が出来ることが確認できたら、次回以降の接続はVMRC(VMware Remote Console)を使用して接続するととても便利です。
VMRCを利用するとESXiにログインしなくてリモートデスクトップでその仮想マシンに直接アクセスが可能です。
なお、VMRCはとても優秀で仮想マシンがLinuxでもサウンドもしっかり転送してくます。
では、早速VMware Remote ConsoleをダウンロードしホストOS(今回はWindows)にインストールします。
ダウンロードはESXiからダウンロード可能です。

ダウンロードができない場合には、vmware customer connect から入手します。
次に、仮想マシンの仮想マシンID(この場合104)を確認します。

次のフォーマットでブラウザに入力してエンターを押すと、VMRCが起動し仮想マシンの画面転送がされ直接その仮想マシンにログインができます。
vmrc://root@ESXiのIPアドレス/?moid=104(仮想マシンID)
簡単にアクセスできるようにショートカットを作成しておくと、次回以降の仮想マシンの起動がとても便利です。

VMRC(VMware Remote Console)の画面サイズの変更
VMRCはそのまま使うと画面サイズが小さいので、4Kのモニターを利用している場合などにはもう少し画面を拡げたい場合があります。
その場合には、『VMRC』、『環境設定』と進み『ウィンドウのカ仮想マシンを拡張する』を選び『OK』で保存すると、画面サイズをマウスで簡単にサイズ変更ができるようになります。


まとめ
今回は、VitrualBoxの仮想マシンをESXi環境に移行する方法を纏めてみました。
ITエンジニアにも様々なジャンルがありますが、今回はインフラエンジニアで知っておきたいテクニックとして仮想マシンの変換(Convert)と移行ににいてご紹介しました。
インフラ関連の技術は多くのジャンルがありますが、仮想化技術は多くの企業でも利用されていますので覚えていて損はありませんので、是非お試しください。
仮想化技術による時間や環境の効率化は、間違いなくITエンジニアとしての年収アップの近道にもなりますよ。