2016年12月11日日曜日

HyperVからAHVへの仮想マシン移行その3 VHDX仮想ディスクでの移行方法

前回の投稿では、VHDファイルで作成されたHyper-V仮想マシンの移行方法をご紹介しました。
非常に手軽に移行できたのがわかります。
では、Windows 2012から採用されたVHDXの移行方法についても見ていきたいと思います。

まずは、今回の移行環境です。


AOS4.7.2
AHV20160217.2
Hyper-V2012R2
ゲストOS2012R2
世代第1世代

まずは、VHDの移行の時と同様、VM Mobilityをインストールします。
VM Mobilityについては、以下を参考にしてください。

(参考)
http://infraapp.blogspot.jp/2016/12/hypervahv-vhd.html


ドライバーを含めインストールが行われます。
一部ドライバーインストールで確認画面が表示される場合がありますので、その際は許可してドライバーをインストールします。

インストールが完了したら仮想マシンの準備はこれで終わりです。


さて、ここから同じくImage ServiceにPutすればOKかというと、実はそうではありません。
VHDXの場合は、Nutanixのコンテナに直接ファイルを配置し、コマンドを使ってディスクイメージを変換する必要があります。
まずは、NFSでNutanixのストレージをマウントし、VHDXファイルを配置するところから始めましょう。

Windows Server 2012 R2の場合、サーバーマネージャーから「管理」メニューの「役割と機能の追加」を選択します。



まずは、ウィザードを進めます。


次に、「役割ベースまたは機能ベースのインストール」を選択します。

インストールするサーバーを選択します。

役割は追加せずに次へをクリックします。

NFSクライアントにチェックをいれ次へをクリックします。


タスクを確認し、インストールをクリックします。

インストールタスクが走りますので、インストールが完了するまで待ちます。

インストールが完了したら、「閉じる」をクリックします。

ここから、このWindows Server 2012 R2のOSから、Nutanixのコンテナをマウントします。
その前に、マウントしたいコンテナにホワイトリスト設定をしておく必要があります。

Nutanix側のPRISMにログインします。
ログイン後、メニューからStorageの画面に行きます。
そこから、これからマウントしたコンテナを選択し、Updateボタンをクリックします。


コンテナの設定画面が出ますので、「Advanced Setting」を選択します。


ホワイトリスト設定の画面が出てきますので、ここでマウントしたいマシンのIPアドレスを入れてマウント可能なアドレスとして登録をしておきます。入力は「192.168.0.0/255.255.255.0」といった形式での入力となりますので、CIDR形式と違うことに注意が必要です。

これで、Windowsからのマウントができる準備ができました。
Windows Server 2012 R2側で、コマントプロンプトを立ち上げて、Nutanixのストレージコンテナをマウントしてみましょう。

Windowsでマウントする場合は、以下のコマンドを利用します。
mount \\Nutanixの任意のCVM\コンテナ名 *

正常にマウントが成功すると「コマンドは正常に終了しました」と表示されます。


マイコンピューターから見てみると、ネットワークドライブとしてコンテナがマウントされていることがわかります。


このマウントしたNFSのドライブに、Hyper-Vで利用していた、VHDXファイルをコピーします。


このファイルコピーが終わったら、今度はAHVで読み込めるようにファイルを変換する必要があります。まずは、SSHで、CVMにログインします。

ここで登場するのが「qemu-img」コマンドです。

具体的には以下のコマンドを実行します。
qemu-img convert -f vhdx -O raw 元のVHDXファイル 変換後のファイル
となります。CVMから直接コンテナを見ることができませんので今回は、NFSを利用します。
CVMからコンテナをマウントする場合は、CVMがストレージサービスを提供しているため、127.0.0.1のアドレスを利用できます。
qemu-img convert -f vhdx -O raw nfs://127.0.0.1/container/Windows2012R2-V2.vhdx nfs://127.0.0.1/container/Windows2012R2-V2.raw

変換が終わったら、仮想マシンをPRISMから作成します。
VMメニューからCreate VMをクリックします。



仮想マシンのスペックを入力します。Hyper-Vの仮想マシン構成情報は引き継がれませんので手動で必要なスペックを構成します。

続けて、仮想ディスクをマウントする必要がありますので「Add new disk」をクリックします。

ここで仮想ディスクのマウント設定を行います。


ここで設定のポイントがいくつかあります。
まず、OPERATIONは、「CLONE FORM ADSF FILE」を選択することです。
コンテナを直接NFSでマウントし。、VHDXファイルの配置とqemu-imgコマンドで変換をしましたので、これはNutanixの管理配下にあるものではありません。
また、このファイルは直ファイルパスでの設定が必要になります。これが「PATH」の項になります。
PATHは、「/コンテナ名/ファイル名」となります。ファイルはかならず変換後の「raw」を選択します。
ファイル名をある程度入れると補完機能がありますので、自動的に候補が出てきますのでそこまで難しくないと思います。
また、ディスクサイズも手で入力する必要があります。
元のイメージよりも大きいサイズ(もしくは同じサイズ)で設定する必要があります。

上記の設定が終わったら、Addをクリックします。

仮想ディスクが追加されたのを確認し、適宜仮想NICを追加後、「Save」をクリックし、仮想マシンを保存します。

仮想マシンを保存したのち、実際に起動してみましょう
何事もなかったかのように仮想マシンが起動します。


VHDとの違いは、コマンドで仮想ディスクファイルの変換が必要となりますが、基本はそのひと手間だけです。

Hyper-VからAHVへの移行はそんなに難しいものではないかとが、理解できたかともいます。





0 件のコメント:

コメントを投稿