Image Serviceを使って、ESXiで作成した仮想マシンをNutanix CEに移行する

# はじめに
この記事は、[Nutanix Advent Calendar 2015](http://www.adventar.org/calendars/1124) 12月9日の分として作成しました。
本記事の内容はこの日付の情報に基づいています。

# Image Serviceとは
Image ServiceはNutanixが提供する仮想ディスクのイメージ管理のサービスです。
ISOファイルや、仮想マシンを構成する仮想ディスクをイメージとして管理します。
新しく仮想マシンを作成する際に、ISOファイルをマウントしたり、仮想ディスクを新しい仮想マシンにアタッチするなどを行うことができます。
ファイルフォーマットはraw, vhd, vmdk, vdi, iso, qcow2の形式がサポートされています。

ISO形式のOSのインストーラをImage Serviceを仕様して仮想マシンにアタッチするやり方は、@gowatanaさんが、[ブログ](http://blog.ntnx.jp/entry/2015/12/05/225534)にまとめてくださっておりますので、今回はESXi 5.5で作成した仮想マシンをImage Serviceを利用してNutanix Community Editionに移行する手順をご説明します。

# 仮想マシン移行の手順
Image Serviceを仕様したハイパーバイザーをまたがる仮想マシンの移行手順は、ざっくり以下のようになります。

- 移行元のハイパーバイザーにて仮想マシンを作成する
- 移行対象の仮想マシンにVirtIOドライバをインストールする
- PrismからImageを作成する
- 作成したImageから仮想マシンを作成する

ではそれぞれの手順を確認していきましょう。

# 検証環境の概要
今回の検証環境は下図のようになっています。移行元となるESXi5.5についてはNutanixの製品版を使用しています。
![environment.png](https://qiita-image-store.s3.amazonaws.com/0/83432/6c09ffd8-cd20-c5d4-189d-d6a1e6cf96d3.png)


# Step0: 移行元のハイパーバイザーにて仮想マシンを作成する
移行元のハイパーバイザー(今回はESXi 5.5)にて仮想マシンを作成します。今回は仮想マシンを1台新しく作成し、Windows10をクリアインストールしました。
<img width="707" alt="win10_esxi.png" src="https://qiita-image-store.s3.amazonaws.com/0/83432/f5273cf9-ea91-6799-4c70-3435c80f10cc.png">



# Step1: (Option)移行対象の仮想マシンにVirtIOドライバをインストールする
Nutanix CEで使用しているハイパーバイザーはKVMをベースにNutanixが提供しているAcropolis HyperVisor（以降「AHV」)です。
このため、Windowsベースの仮想マシンを作成する際にはVirtIOドライバが必要となります。
NutanixのサポートポータルからVirtIOドライバーをダウンロードすることが可能です。ISO形式とMSIのインストーラー形式で配布されていますので、作成した仮想マシンにインストーラーを保存して、ドライバーをインストールします。
(この手順はゲストの仮想マシンのOSがWindowsの場合のみ必要です。LinuxのゲストVMの場合はスキップしてください)

<img width="498" alt="AMF_installer.png" src="https://qiita-image-store.s3.amazonaws.com/0/83432/92148dc8-b239-6931-f0de-2872fd1c71d5.png">

インストールが完了したらゲストVMをシャットダウンしておきます。

# Step2: PrismからImageを作成する
次にこの仮想マシンのディスクをImage Serviceのイメージとして登録します。
この作業はNutanixのウェブコンソールであるPrismから行います。

- 歯車のアイコンから「Image Configuration」を選択
<img width="518" alt="image_configuration.png" src="https://qiita-image-store.s3.amazonaws.com/0/83432/f48a6fb6-14b6-de1c-38ed-33007d5c0b1c.png">

- 「Image Configuration」から「+Upload Image」を選択
<img width="551" alt="image_configuration2.png" src="https://qiita-image-store.s3.amazonaws.com/0/83432/7bef5e14-e256-652a-c8d6-32de1f30f7ca.png">
- イメージ作成画面がポップアップするので、必要な情報を入力
<img width="555" alt="create_image.png" src="https://qiita-image-store.s3.amazonaws.com/0/83432/35a3aaad-62e1-074c-81b4-2bf342556a46.png">
-- Name: 作成するイメージの名前
-- ANNOTATION: イメージの簡単な説明。残念ながら日本語は文字化けします
-- IMAGE TYPE: 作成するイメージのタイプ「ISO」と「DISK」を選択可能。今回は「DISK」を選択します
-- CONTAINER: 作成したイメージを配置するNutanixのContainer
--IMAGE SOURCE: イメージのソースとなるファイルを指定。「From URL」と「Upload a File」の2種類の手法が提供されている。URLとしては、httpとNFSを指定可能

今回は「Upload a File」から対象となるVMDKファイル(flatファイル)をアップロードします。
<img width="543" alt="image_create.png" src="https://qiita-image-store.s3.amazonaws.com/0/83432/f65f8e15-13c1-4829-f877-d5763c96b1b9.png">

「Image Configuration」画面に追加したイメージが現れていて、そのStateが「Active」となっていたら成功です。

# Step3: 作成したImageから仮想マシンを作成する
無事にイメージが登録できたら、そのイメージを使用して仮想マシンを作成してみましょう。

- 「VM」のメニューに移動
<img width="287" alt="VM.png" src="https://qiita-image-store.s3.amazonaws.com/0/83432/560f4218-67aa-31cc-21e0-4f90c3c796bc.png">

- 「+ Create VM」を選択
- <img width="479" alt="create_vm.png" src="https://qiita-image-store.s3.amazonaws.com/0/83432/be41ba5f-3fd6-1652-9d08-bd164e17d93c.png">

- 仮想マシン名、CPU、メモリ、NICなどの仮想マシンのインベントリの情報を選択する
- 「+New Disk」を選択しディスクを追加する。
<img width="482" alt="add_disk.png" src="https://qiita-image-store.s3.amazonaws.com/0/83432/c5486cb8-af5f-9d76-7c09-e5c1a2eee702.png">

-- TYPEは「Disk」を選択
-- OPERATIONは「CLONE FROM IMAGE SERVICE」を選択
-- BUS TYPEはWindows10の場合は「SCSI」を選択
-- IMAGEでは先ほど作成した仮想ディスクのイメージを選択する
- 「Save」ボタンを押して仮想マシンの作成を完了する
 
これで仮想マシンの作成が完了しました。仮想マシンを起動して、ゲストVMのOSが問題なく起動することを確認しましょう。

# 終わりに
本記事では、Image Serviceを使用した仮想マシンの移行手順をご紹介しました。NutanixではVMの可搬性を向上させるために様々な機能を提供していく予定で、今回ご紹介した手順はその一例となります。