Veeamを利用してHyper-VからOCVSへ仮想マシンを移行してみた

# はじめに
移行元のHyper-Vと移行先のOracle Cloud Vmware Solution(以降 OCVS)に接続可能なWindowsの仮想マシンにサードパーティ製をインストールして、仮想マシン移行してみましたので移行手順を記載します。

OCVSとは
https://docs.oracle.com/ja-jp/iaas/Content/VMware/Concepts/ocvsoverview.htm

また、今回の検証を実施する際に参考にしているドキュメントは以下になります。

* User Guide for Microsoft Hyper-V
https://helpcenter.veeam.com/docs/backup/hyperv/overview.html?ver=120
* Installing Veeam Backup & Replication
https://helpcenter.veeam.com/docs/backup/hyperv/install_vbr.html?ver=120
* Add Server to Veeam Server
https://helpcenter.veeam.com/docs/backup/hyperv/setup_add_server.html?ver=120

# 検証構成
今回は検証環境となるのでOCI上の移行元をオンプレミスデータセンターと見立てて検証しました。
移行元と移行先のネットワークは、それぞれ別々のVCNで構成してローカルピアリングで双方通信可能な状態としています。
また、Hyper-V環境はベアメタルインスタンスで構成する必要があり、Datacenter版のWindowsを利用する必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/63f0b852-672d-709b-3f3e-26406ddfb837.png)

# 構築手順
構築手順は以下の流れで実施します。

[1.Hyper-Vサーバー作成](#1-hyper-vサーバー作成)
[2.Hyper-V環境設定](#2-hyper-v環境設定)
[3.Veeam Backup Replicationインストール](#3-veeam-backup-replicationインストール)
[4.Veeam Backup Replication設定](#4-veeam-backup-replication設定)
[5.OCVSへ仮想マシン移行](#5-ocvsへ仮想マシン移行)
[6.付録](#6-付録)

以下の事前準備の作業は予め構成されていることを前提とします。
・ネットワーク(VCN、Subnet、ローカルピアリング、ゲートウェイ関連の構築)
・OCVS

# 1. Hyper-Vサーバー作成

### 1.1 VNICの追加
まず、Hyper-Vのネットワーク構成には、下記2つのモードがあります。

**Directモード**
Directモードでは、VNICを仮想マシンに直接接続するためにSingle Root I/O Virtualization(以降 SR-IOV)を使用します。

**Indirectモード**
Indirectモードでは、複数の仮想マシンが同じVNICを共有し、NAT方式でネットワークに接続されます。

今回テストではDirectモードを利用しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/8b869afb-545c-f584-2a73-caa8a1b0737c.png)


インスタンス作成後、下記のVNICを追加します。

* VNIC0
VNIC0は、仮想マシンとして作成される際に一緒に作成されるため、追加不要です。
* VNIC1
Hyper-V Dom0用VNICで利用します。
NIC0にVNICを作成する際に、適切なサブネットを選択することで、パブリックアドレスを割り当てずに構成することも可能です。
* VNIC2～N
ゲスト仮想マシン用インターフェースで利用します。
このVNICはNIC1に作成し、SR-IOV方式を使用して直接ゲスト仮想マシンにアタッチします。

### 1.2 Hyper-Vのインストール
Windowsのサーバーマネージャーを使用して、Hyper-Vコンポーネントをインストールします。
インストール後には再起動が必要です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/c65f7773-bb31-52b8-9ef6-12e6a2561407.png)

### 1.3 ネットワークインターフェースの設定確認
Hyper-VのvSwitchを設定する前に、正しいVNICがバインドされていることを確認します。
※今回は、BM Shape（今回はBM.Optimized3.36）のネットワークインターフェースの状況です。

デフォルトでDatacenter版のWindowsを起動しますと、BM.Optimized3には4つのインターフェースがありますが、有効なのはEthernet1つのみで、他の3つはすべて無効化されています。
Ethernet3には対応する物理インターフェースがありません。
EthernetはNIC0に対応しており、Ethernet4はNIC1です。
Ethernet2は100GbpsのRDMAポートに対応しています。
vSwitchはEthernet4にバインドされ、Hyper-V上の仮想マシンで使用するためにNIC1にVNICを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/b172e9c1-b9d8-9c91-21bd-039ab691f35b.png)

# 2. Hyper-V環境設定

Hyper-Vのインストールが完了したら、Hyper-V マネージャーを起動し、Hyper-Vの設定を行います。

### 2.1 Hyper-VのvSwitch作成
ExternalのタイプのvSwitchを作成する必要があります。
適切な名前を入力して、ExternalのvSwitchを作成します。
赤枠の設定でNIC1（Mellanox ConnectX-6 Dx Adapter #2）を選択します
また、「Enable single-root I/O virtualization (SR-IOV)」にチェックを入れます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/91aa9fbe-4be2-2d60-1ce1-ee17d4fe3548.png)

### 2.2 Hyper-Vの仮想マシン作成
①Hyper-V マネージャーコンソールから「New」で仮想マシンを作成します。
　適切な名前を入力して、「Generation2」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/09fb42ac-17af-4e49-2033-016e2a1163cb.png)

:::note info
仮想マシンを作成する前に、仮想マシン作成用のISOあるいはVHDXファイルを事前に準備しておきましょう。
:::


②適切なメモリを入力し、「2.1 Hyper-VのvSwitch作成」で作成されたExternal vSwitchを選択して仮想マシンを作成します。
仮想マシンを作成した直後はネットワークが繋がらないため、すぐに起動せずにNetwork Adapterを変更してから起動する必要があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/72e48ac8-d67e-763c-067b-6d2ccce66655.png)

### 2.3 Hyper-V上の仮想マシンのネットワーク設定
仮想マシンのNetwork Adapterを変更します。
Hyper-Vマネージャーコンソールで、作成した仮想マシンを右クリックし、仮想マシンの設定を選択して、関連する仮想マシンの設定を変更します。
①vSwitchの選択：Network Adapterを選択し、Virtual switchで作成したExternal Switchを選択します。
②VLAN IDの設定：同時に、VLAN IDの中の「仮想LAN識別子の有効化」にチェックを入れ、VLANタグはOCIでVNICに割り当てられたVLANと一致するように設定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/ba532701-32dd-5d2f-bdc0-8fa1f0a073ec.png)

③SR IOVの有効：Hardware Accelerationを選択し、「Enable SR IOV」にチェックを入れます。
④MACアドレス更新：「Static」の選択し、OCIでVNICに割り当てるMACアドレスを入力して「Enable MAC address Spoofing」にチェックを入れます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/62db812f-6387-2712-e522-d1bafbb10903.png)

以上の手順が完了したら、仮想マシンを起動します。

# 3. Veeam Backup Replicationインストール

### 3.1 Veeamソフトウェアの取得

Veeam製品を30日間無料の評価版をダウンロードすることができます。
https://www.veeam.com/jp/downloads.html

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/ab37a964-86bf-62b1-5ffc-314df776f5e2.png)

・インストール用ISOファイル
・メールで評価版ライセンス入手可能

### 3.2 Veeamのインストール手順

①Veeamバックアップサーバーのインストールを行います。
　ダウンロードしたISOファイルをマウントし、「Setup.exe」を右クリックして、
　管理者権限でVeeamをインストールします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/3f749bbc-573a-5823-a307-08ba2132e9eb.png)

②Veeamのインストールプロセスが開始されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/c75db1bd-7626-5b53-124e-064f143e002d.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/03da8926-090d-e0e0-c305-0a7be71ee9e8.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/4b62e67f-2646-1771-e00d-f964b24d6141.png)

:::note info
Veeamが必要とするコンポーネントが不足している場合、Veeamは必要なコンポーネントを自動的にインストールします。インストール後は再起動が必要で、再起動後には再度ISOをマウントして「Setup.exe」を実行する必要があります。ただし、Veeamは前回のインストール時点から続行することができます。
:::

# 4. Veeam Backup Replication設定

### 4.1 Veeamの利用開始

①Veeamが正常にインストールされたら、Veeamを起動します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/4e46b98a-89d2-38a1-27b1-cc413a870b9e.png)

②Veeamを起動しますと、コンポーネントの更新が必要かどうかを確認します。
　自動的にコンポーネントを更新する場合は、「Apply」をクリックします。

 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/6b9dc36e-ad93-5a7c-d329-2897166df75f.png)

③これにてVeeamの管理コンソールが表示されて利用可能な状態になりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/d4727211-074d-421a-78ba-89ebb3c3f455.png)

### 4.2 VeeamにHyper-V情報の追加手順

①Veeamのサーバーバックアップを使用する前に、対象サーバーを追加する必要があります。
 また、VeeamバックアップサーバーとHyper-V、OCVS間のファイアウォール設定が必要です。
 今回の環境はSourceが172.11.X.Xから全Protocolを許可するようにします。

・Hyper-VのSubnetのSecurity List
・SDDCのvSphere VlanのNSG

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/d46a6c64-a8e3-6bb8-9c96-0db3d83a5499.png)

:::note info
VeeamバックアップサーバーとHyper-Vはインストール中に自動的にファイアウォールの設定が行われていましたのでWindows Defenderの設定は不要です。
:::

②VeeamにHyper-Vの情報を追加します。

1.Backup Infrrastructureをクリック
2.Managed Serverをクリック
3.Add Serverアイコンをクリック
4.Microsoft Hyper-Vを選択して追加
5.Hyper-Vを追加

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/89b756e8-a7ba-ca02-924a-164e7b9d9019.png)

6.Hyper-Vの管理IPアドレスを入力

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/5517bf43-b98e-e4ce-3c0d-f037cff03045.png)

:::note info
今回の環境では、VeeamとHyper-Vが同じVCN内に配置されているため、ルーティングの設定は必要ないですが、ネットワーク構成によっては適切なルーティングの設定を行う必要があります。
:::

7.インストールモードを選択します。
　今回の環境ではStandaloneモードを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/339af25b-a134-3c3c-6415-254aae96bbd4.png)

8.Hyper-Vのユーザー名とパスワードを入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/ae076a3a-3391-bbd1-f307-a3c00fd7456a.png)

:::note info
ユーザー名を追加する際には、「Domain\UserName」の形式を使用してください。
ADにドメイン参加していないStandalone環境の場合は、ホスト名\ユーザー名の形式で追加してください。
:::

9.追加情報を確認します。
　VeeamはHyper-Vサーバーに必要なコンポーネントを自動的に追加します。
 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/78723ee8-5319-ca0f-e6c9-2c6190aa7c64.png)

10.これにてVeeamにHyper-V情報の追加が完了です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/fc20bd0d-1664-abf7-1e0a-7e8c29cc8496.png)

11.Hyper-Vの追加が完了しますと、Veeamを通じてHyper-Vを管理し、Hyper-V上で実行されている仮想マシンの状態を確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/4fd525df-d01c-c60a-6ef1-ee08e045a515.png)

### 4.3 VeeamとOCVSのルーティング設定

今回の環境では、VeeamはOCVSと同じVCNに配置していないため、VeeamがOCVSにアクセスできるようにルーティングの設定が必要です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/e3156116-6ad6-a4e7-e900-fbfacc0a633a.png)

### 4.4 VeeamからOCVSへアクセスするための名前解決の設定

vCenterはFully Qualified Domain Name(以降 FQDN)のみアクセス可能であるため、VeeamがVMwareのFQDNを解析できるようにVeeamのhostsファイルにFQDNを追加します。
記載する内容は、以下になります。

・vCenterのFQDN
・vSphereのコンポーネントのFQDN
・ESXiごとのFQDN

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/42be7b86-7989-5735-e471-debe87495538.png)

### 4.5 VeeamにOCVS情報の追加手順

①VeeamにOCVSの情報を追加します。

1.Backup Infrrastructureをクリック
2.Managed Serverをクリック
3.Add Serverアイコをクリック
4.VMware vSphereを選択して追加

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/9aed1452-f4e1-b9f5-4fe1-50b6a2d8259b.png)

5.OCVS サーバーを追加
6.vCenterのFQDNを入力 (先頭の「https:\\」を追加する必要はなし)
7.vCenterのユーザー情報を追加

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/75cf69b9-a1a4-c767-b8e8-220275da593c.png)

8.ユーザー情報の追加が完了したら、VeeamはOCVSとの接続疎通の確認を開始します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/20cbc103-b5a0-f6a4-33bd-a936ed81de4a.png)

:::note info
FQDNに到達できない場合、エラーが発生する可能性があります。
修正後、再度試行してください。
:::

9.OCVSの追加が完了しますと、Veeamを通じてOCVSを管理しOCVS上で実行されている仮想マシン（VM）の状態を確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/3f0e32ca-3f84-ff54-123c-a459613392a8.png)

# 5. OCVSへ仮想マシン移行

Veeamでの移行は、Hyper-Vの仮想マシンをvCenterにバックアップし、Instant Recovery to VMware vSphere機能を使用して復元します。
移行を行う前に、仮想マシンに対して完全なバックアップを行う必要があります。

### 5.1 バックアップJobの作成

①バックアップJobの作成します。

1.管理コンソールのInventoryを選択します。
2.追加したHyper-Vの下で対象の仮想マシンを選択して右クリックします。
3.新規Backup Jobを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/015ffbbf-68a5-9597-1ad0-4af9af1d547d.png)

4.適切な名前を入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/6a301cc0-27ca-07c5-217c-33c5d78a5d2c.png)

5.対象の仮想マシンを選択して「Next」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/7bc0d9e4-d16f-cf83-175c-541dbdc90ecb.png)

6.今回の環境では、Veeamのデフォルトのリポジトリ（ローカルディスク）を使用します。
　独自のリポジトリをカスタマイズできますので、バックアップファイルを保存するために適切なリポジトリを選択してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/da65cd42-0cc9-d1c2-2303-a7d3dfc6e35d.png)

7.デフォルトの設定を使用して、「Next」をクリックしてバックアッププロセスを続行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/09071442-3dcf-c694-9193-f012d92d7981.png)

8.「Finish」をクリックした後、バックアップタスクが作成されます。
　もし、「Finish」をクリックする際に「Run the job when I click Finish」(完了時にジ
　ョブを実行する)オプションにチェックを入れた場合、バックアップはすぐに実行さ
　れます。
　チェックを入れなかった場合、後続の手順に進み、バックアップを開始します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/0a69ca65-ff68-0937-5858-cf8735aa90f0.png)

9.Veeamのメイン画面で「Home」を選択し、次に「Jobs」に移動します。
　先ほど作成したバックアップジョブが表示されますので、バックアップ対象の仮想
　マシンを右クリックし、「Start」をクリックしてバックアップを開始してくださ
　い。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/2267ddf2-2092-8ffa-106b-387f2a1ddde7.png)

:::note info
初回のバックアップはフルバックアップとなります。
以降、Jobを呼び出して生成されるバックアップは、フルバックアップを基にした増分バックアップとなります。
:::

10.バックアップが完了しますと、「Backups」を選択しますと、作成したバックアップファイルが表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/01cba2b5-1952-743a-10e5-e31dd437c4e1.png)

### 5.2 OCVSへ仮想マシンをリストア

①作成したバックアップファイルを使用して、リストアを行います。
　バックアップファイルを右クリックし、"Instant Recovery"オプションを選択しま
　す。
　今回の検証ではリカバリ先としてVMware vSphereを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/d0f2d2af-aeef-c0f3-ef1d-92920087bdc5.png)

②OCVSに仮想マシンの復元プロセスが開始され、選択した仮想マシンが表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/314926f3-7577-ca9a-cb87-6d87befa9545.png)

③移行先の情報を設定します。

1.適切な名前を入力してください。この名前はvCenterで表示されます。
2.適切なディレクトリとプールを選択します。
3.適切なネットワークを選択してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/4c6d9b81-baae-2566-9f8a-6d7b60cc338a.png)

4.デフォルトの設定を使用して、「Next」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/cdd57244-80eb-bac5-747a-8894d57bb0c9.png)

5.Summary画面では、移行の構成情報が纏めて表示されます。
　「Finish」をクリックしてリストアを開始します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/23588fc8-900c-36c8-66d5-df6e7ebd9038.png)

6.「Waiting for User to Start Migration」情報が表示されますと、仮想マシンのバックアップからのリストアは終了です。次の手順(Migration)に進めます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/f10d6241-4cfd-2b02-92b2-1df2e73d761b.png)

7.Veeamのメイン画面に戻り、「Home」をクリックします。
　保留中のタスクであるInstant Recoveryが表示されますので、このタスクをクリック
　して、マイグレーションを開始します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/5d7cd30d-cf59-bbb2-e196-f35fecff87be.png)

8.デフォルトの設定を使用して、「Next」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/ff4289a6-4c81-da0e-06e4-a732c2e00f2f.png)

9.移行プロセスの進捗はリアルタイムで表示され、問題が発生した場合はアクションエリアに表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/c2308a1a-417b-7fa5-70d9-5c5c43e73e72.png)

10.移行が完了したら、リカバリされた仮想マシンはvCenterで確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/b95835a9-9fa4-6aa2-7a66-c871c72105cc.png)

:::note info
本検証ではバックアップデータからリストアしているため、継続的なレプリケーションではないことにご注意ください。
:::

# 6. 付録

### 6.1 USBコントローラーの追加

仮想マシン移行後にマウスが使用できない場合、新しいUSBコントローラーを追加します。

1.仮想マシンを選択します。
2.編集を選択します。
3.新デバイス追加を選択します。
4.USBコントローラーを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/deee10b5-c4a5-0598-af4b-b370bee9d586.png)

### 6.2 VMware Toolsのインストール

①仮想マシン移行後、VMware Toolsをインストールします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/36a94e33-c4e0-4f34-6bf6-79dbe9f00a5c.png)

②VMware Toolsをマウントしたら、VMwareのWebコンソールを介してその仮想マシンにアクセスし、インストールプログラムを実行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/a7ea4eaf-3e45-afac-8bd7-7c4942f52432.png)

:::note info
VMware Toolsをインストールした後、仮想マシンを再起動する必要があります。
:::

③VMware Toolsのインストールが完了しますと、vCenterの画面から仮想マシンの内部ネットワーク情報を取得し、画面に表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/dfbc9ced-bdc9-3731-d249-461f47fd63a8.png)

# 7. さいごに

Veeamを利用したOCVSへの仮想マシンの移行手順をご紹介しましたがいかがでしたでしょうか。
Veeamのインストールや設定はシンプルで、バックアップとリストアの操作も簡単に実施することができます。
Veeamを利用する際にこちらの手順が参考になれば幸いです。

# 8. 参考情報

* [User Guide for Microsoft Hyper-V](https://helpcenter.veeam.com/docs/backup/hyperv/overview.html?ver=120)
* [Installing Veeam Backup & Replication](https://helpcenter.veeam.com/docs/backup/hyperv/install_vbr.html?ver=120)
* [Add Server to Veeam Server](https://helpcenter.veeam.com/docs/backup/hyperv/setup_add_server.html?ver=120)
* [TroubleShoot](https://community.veeam.com/discussion-boards-66/veeam-backup-replication-failed-to-connect-to-host-4160)