【Nutanix AHV】VMware ESXiからNutanix AHVへの仮想マシン移行【Nutanix Move】

みなさん、こんにちは！
Nutanix Moveを使用してVMware ESXiからNutanix AHVへの仮想マシンの移行を行います。

Nutanixに関する記事は以下にまとめていますので、是非ご覧ください！
■Nutanix 関連記事
・[Nutanix AHVとは](https://qiita.com/ReQ_HY/items/a797b201e9c349fbf106)
・[Nutanix AHVの機能について](https://qiita.com/ReQ_HY/items/4a9d34cfd8ab97ae6d4a)
・[Nutanix AHVの機能(ストレージ関連)について](https://qiita.com/ReQ_HY/items/36e48336eba584cdff33)
・[Nutanix AHVへの移行について](https://qiita.com/ReQ_HY/items/71d2228878605174c96a)
・[【Nutanix AHV】Nutanix AHV構築してみた！](https://qiita.com/ReQ_HY/items/42bbdff45ab8e521c093)
・[【Nutanix AHV】Prism Elementとは？Prism Centralとは？](https://qiita.com/ReQ_HY/items/2aca82f4971d089bb800)
・[【Nutanix AHV】PrismCentral導入してみた](https://qiita.com/ReQ_HY/items/f8f771b9eb2209d47256)
・[【Nutanix AHV】Nutanix Moveデプロイ](https://qiita.com/ReQ_HY/items/3d1263273d8873911125)

## 環境
### 構成図
今回はVMware ESXi上の仮想マシンをNutanix AHV上へ移行します。
移行対象となる仮想マシンのOSは"Red Hat Enterprise Linux 9.2"となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/3df9f552-0967-4139-a23d-99120caaefe9.png)

### バージョン
今回検証で使用するバージョンは以下となります。
| 製品 | バージョン |
|:-|:-|
| Nutanix CE  | 2.0  |
| AHV hypervisor  | el7.nutanix.20220304.342  |
| AOS  | 6.5.2  |
| Move  | 5.2.0  |
| VMware ESXi	  |  7.0 Update 3 |
| Red Hat Enterprise Linux  | 9.2  |

## 移行方法
Moveによる移行の流れを以下に記載いたします。
仮想マシンがNutanix AHV上で互換性があるかなどは事前に公式ドキュメントをご確認の上実施してください。

1,移行元・移行先環境登録
2,仮想マシン移行プラン登録
3,仮想マシン移行実施(cutover)

### 1.移行元・移行先環境登録
移行元・移行先の環境をMoveへ登録します。
今回は移行元が"VMware ESXi"、移行先が"Nutanix AHV"となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/69afca4c-28f7-4534-afbd-6d612dca7996.png)

Nutanix Moveへログイン後、画面左上の[+ Add Environment]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/30d1c5be-f71a-4d3e-aee4-e547a3dd5ffe.png)

[Select Environment Type]項目より、環境を選択します。
今回は **"VMware ESXi"** 、 **"Nutanix AOS"** を選択します。
※Nutanix環境(Nutanix ESXi、Nutanix AHV)を登録する場合はNutanix AOSを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/72891af5-7dc6-48b8-8e6b-21fbca88490c.png)

#### VMware ESXi
VMware ESXiでは以下の項目を設定します。
<font color="red">※管理者権限が付与されているユーザーを設定してください。</font>

・vCenter ServerのIPアドレスまたはホスト名
移行対象となる仮想マシンがvCenterが管理しているクラスタ配下に存在している場合はvCenterの情報を記載します。

・ESXiのIPアドレスまたはホスト名
移行対象となる仮想マシンがvCenter管理下になく、ESXiが独立している場合はESXiの情報を記載します。
| 項目 | 内容 |
|:-|:-|
| Environment Name  | Moveで表示させる環境名  |
| vCenter Server or Standalone ESX host  | vCenterまたはESXiのIPアドレス/ホスト名  |
| User Name  |ユーザー名   |
| Password  | パスワード  |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/9cead0c5-7b24-43dd-b502-600c2f3bdc81.png)

#### Nutanix AOS
Nutanix環境を接続先とする場合は以下の設定が可能です。

・Nutanix AHV/ESXiのホスト名またはIPアドレス
　特定ホスト(Nutanix AHV1号機など)上へ仮想マシンを移行します。

・Nutanixクラスターのホスト名またはIPアドレス
　Nutanixクラスター内のいずれかのホスト上へ仮想マシンを移行します。
　ホストの指定は出来ません。

・Prism Centralのホスト名またはIPアドレス
　Prism Centralと連携しているNutanixクラスターの中から対象のクラスターを選択して仮想マシンを移行します。
　ホストの指定は出来ません。
| 項目 | 内容|
|:-|:-|
| Environment Name	  | Moveで表示させる環境名  |
| IP Address or FQDN  |  Nutanix AHV/ESXiまたはNutanixクラスター、Prism CentralのIPアドレス/FQDN |
| User Name  | ユーザー名  |
| Password  | パスワード  |

 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/eaf69bd8-04aa-416e-9ea8-3352ae346715.png)

### 2.仮想マシン移行プラン登録
環境登録が完了したら次は移行対象となる仮想マシンの登録および設定を行います。
今回はLinux VM(Red Hat Enterprise Linux)の移行を行いますが、手順自体はWindows VMでも変わりません。

ただし、Windows VMをESXiからNutanix AHVへ移行させる場合は、Nutanix VirtIOドライバーが必須となります。
ドライバーをインストールしていない状態で移行させるとOSがディスクを認識することが出来ず、OS起動に失敗します。
※Nutanix Moveではドライバーのインストールは自動で行うことが出来ます。

Move(WebUI)画面において、[+ New Migration Plan]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/1007cc9c-ea49-4d6e-9c46-7ad1386886d0.png)

[Select a Source]に移行元環境、[Select a Target]に移行先環境を設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/e9a1e1c3-4de1-45c9-a232-e13766940b6f.png)

仮想マシン一覧の中から[+]をクリックして対象の仮想マシンを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/762f4e48-b95b-4197-a1e8-02afa503123f.png)

#### 仮想マシンが表示されない場合
仮想マシンが一覧に表示されない場合は[Refresh]をクリックして、移行元環境情報を再取得してください。
仮想マシンの情報は環境登録時点の内容となっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/03ec0c2b-7e7f-4312-8dce-65a25adfaf47.png)

Target Network項目でNutanix AHV側の仮想ネットワークを選択します。
仮想マシンに付与されているポートグループ(ネットワーク)ごとにそれぞれ設定します。
Test Network(Optional)はオプション機能となっており、仮想マシンの移行をテストするため使用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/6b81e116-beff-47a0-b25f-a36036cd073e.png)

以下の設定を行います。
| 項目 | 設定値 | 内容 |
|:-|:-|:-|
| Preparation Mode  | Automatic  | VirtIO DriverインストールなどをMoveが自動で実行  |
| Preparation Mode  | Manual  | VirtIO DriverインストールなどのScriptを作成して実行  |
| IP Configurations for target VMs  | Retain Static IP  | 	IPアドレスなどの設定情報を保持  |
| IP Configurations for target VMs  | DHCP  |  	DHCPによるIP設定 |
| Uninstall VMware tools on target VMs  | -  | VMware toolsを移行時に削除  |
| Bypass guest operations on source VMs  | -  | 仮想ディスクをそのまま移行  |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/0d1fa64e-1d06-4f9d-9fbb-0b71f2cf7f86.png)
OSのユーザー情報を入力します。
※管理者権限が付与されているユーザーを設定してください。

仮想マシンを複数移行する場合は[Change settings]をクリックして、仮想マシンごとにOSユーザー情報を設定してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/87896ce1-96c0-4dd0-ad70-0db15282912b.png)

以下の設定を行います。
| 項目 | 設定値 | 内容 |
|:-|:-|:-|
| VMs Priority  |  Medium/Low/High | 仮想マシンのスケジュールや帯域幅の優先度を設定  |
| Timezone  | *1  | *1 仮想マシンのタイムゾーンを設定  |
| Retain MAC addresses from the source VMs  |  - | MACアドレスの保持設定  |
| Skip CDROM addition on target VMs  | -  | CDROM追加スキップ設定  |
| Enable Memory Overcommit  | -  | メモリオーバーコミット有効化設定  |
| VM Migration Type  | Configure Target VM Properties  | プラン作成時に仮想マシンプロパティ情報を取得。  |
| VM Migration Type  | Retain Source VM Properties  |  カットオーバー(移行開始)時に仮想マシンプロパティ情報を取得。 |
| Schedule Data Seeding  | -  |  データ同期開始時刻設定 |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/52c77378-fc65-45fb-be06-a81ea32928ae.png)

設定内容を確認後[Save and Start]をクリックします。
データ同期のスケジュール設定をしていない場合、即時データ同期が開始されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/7a55671a-0fb3-4b6b-8108-9bbf38db894f.png)

### 3.仮想マシン移行実施(cutover)
移行プランを作成するとデータ同期が開始されます。
データ同期が完了すると[Migration Status]が"Ready to Cutover"状態となります。

データ同期完了後、対象の仮想マシンを選択して[Cutover]をクリックすることで仮想マシン移行が実行されます。
また、Cutover実行後は移行元の仮想マシンは停止されるので注意してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/f90d6cba-8d49-402a-8107-c111ccb79e08.png)

[Migration Status]が"Completed"となれば移行完了となります。
[Details]の"View Target VM"をクリックすると、移行先となるNutanixクラスター(Prism Element)の仮想マシン一覧へ画面が遷移されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/b58a9f7d-de8f-428b-a2c7-0cfdbf1e8db2.png)

## Moveによる移行で気になるポイント
Nutanix Moveを使用して、VMware ESXiからNutanix AHVへ仮想マシンの移行を行いました。
そこで個人的に気になったポイントをまとめてみました。

 * 移行完了後の元の仮想マシンステータスは？
 * 取得したスナップショットはどうなるの？
 * 複数NICも問題なく保持できるの？
 * VMware Toolsのインストールは必要？
 * VirtIOドライバーの事前ダウンロードは必要？

### 移行完了後の元の仮想マシンステータスは？
移行完了(Cutover)後、移行元の仮想マシンは電源オフの状態となります。
また、以下も追加で実施されます。

 * ネットワークアダプタ切断
ネットワークアダプタは全て切断状態となるため、誤って起動した場合でもIPバッティングは起こりません。
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/12d911d9-472a-4d6b-8e26-3e4e75f5b68d.png)

 * メモへ追記
仮想マシンのメモに対して移行実施した旨が記載されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/4d87ce13-3a27-4985-968f-bb6d5c157710.png)

### 取得したスナップショットはどうなるの？
移行元環境で取得していたスナップショットは削除されます。
また、Nutanix Moveでは移行プラン作成及び実行からCutover(移行)実行時までの10分毎、Cutover実行時の2つの契機でスナップショットを取得します。
このスナップショットについては、移行完了後にMoveが自動的に削除するため、気にする必要はありません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/fffabfd1-e824-4598-971b-854cb48fdabb.png)

### 複数NICも問題なく保持できるの？
今回のRHEL9.2における検証ではIP保持が可能でした。
ただし、Nutanix Moveのドキュメントでは以下の記載があります。

```ruby:qiita.rb
ESXi Migration Limitations
VMs migrated with more than one network interfaces might not retain all the IP addresses.
Workaround: Manually assign IP addresses after migration.
```
全てのIPが保持できないかもしれないため回避策として移行後に手動設定してください、と記載されています。

今回の検証では、プラン作成内の仮想マシン選択時に複数NICがある仮想マシンでは以下の注意事項が表示されました。
```ruby:qiita.rb
This VM has multiple network adapters.
Static IP Address configurations will be applied correctly if MAC Address retention is enabled during migration otherwise best effort IP configuration is done.
```
上記を見る限りだと移行プラン内のMAC Address保持を有効化していればIP保持が可能とのことで今回の検証でもMAC Address保持を有効化していたため、IP保持されていたのだと考えられます。
ただし、全てのOS・バージョンで適用されるのかは事前に検証が必要となります。

### VMware Toolsのインストールは必要？
VMware環境から仮想マシンを移行する場合、VMware Toolsのインストールは必須となります。
Nutanix Moveドキュメントから抜粋します。
```ruby:qiita.rb
General Requirements
VMware Tools must be installed and up-to-date on the guest VMs for migration.
```
また、VMware Toolsをインストールしていない状態で移行プランを作成すると
以下の様に選択することが不可となりVMware Toolsがインストールされていないと表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/c9d7fe79-5025-4ba1-b37a-fd7a5c165f46.png)

上述の通り、移行プラン時に「Uninstall VMware tools on target VMs」を選択することで、移行後AHV環境にある仮想マシンからMoveが自動的にVMware Toolsをアンインストールすることが出来ます。
(このオプションは無効にすることも可能です。)

### VirtIOドライバーの事前ダウンロードは必要？
VirtIOドライバーは、KVMベースのハイパーバイザーでWindows仮想マシンを実行する際に必須のソフトウェアで、Nutanix AHV上で仮想マシンを稼働させる場合はNutanix VirtIOドライバーが必要となります。
ただし、Nutanix Moveで仮想マシンの移行を行う場合はVirtIOドライバーを別途ダウンロードして用意する必要はありません。
VirtIOドライバーはNutanix Moveに組み込まれているため、Nutanix Moveによる移行を行う場合は準備などは不要となります。
そのため、最新バージョンのVirtIOドライバーを使用したい場合は移行後にアップデートを行う必要があります。

### VirtIOドライバーは、KVMベースのハイパーバイザーでWindows仮想マシンを実行する際に必須のソフトウェアで、
Nutanix AHV上で仮想マシンを稼働させる場合はNutanix VirtIOドライバーが必要となります。
ただし、Nutanix Moveで仮想マシンの移行を行う場合はVirtIOドライバーを別途ダウンロードして用意する必要はありません。
VirtIOドライバーはNutanix Moveに組み込まれているため、Nutanix Moveによる移行を行う場合は準備などは不要となります。
そのため、最新バージョンのVirtIOドライバーを使用したい場合は移行後にアップデートを行う必要があります。

## 最後に
今回はNutanix Moveを使用しての移行を実施しました。
Nutanix Moveは、仮想マシンのNutanixへの移行をスムーズに行うための移行ツールとして第一候補になると考えられます。
"VirtIOドライバーの自動インストール"や"移行の事前検証"機能があり、追加のライセンス費用が不要であるため、ユーザーはコストと時間を節約することができます。
しかし、物理環境からの移行を行う際には、他の移行製品を検討する必要があります。

最後にNutanix Moveドキュメントをまとめましたのでご確認ください。

**・[Move User Guide](https://portal.nutanix.com/page/documents/details?targetId=Nutanix-Move-v5_2:Nutanix-Move-v5_2)**
**・[Nutanix Move - FAQ (Frequently Asked Questions)](https://portal.nutanix.com/page/documents/kbs/details?targetId=kA00e000000Cr7GCAS)**
**・[ESXi to AHV and ESXi to Nutanix Cloud Clusters (NC2)](https://portal.nutanix.com/page/documents/details?targetId=Nutanix-Move-v5_2:top-esxi-vm-migration-c.html)**