概要
自宅PCにWindows10 Proのライセンスを手に入れてから、とりあえずVirtualBoxで作成していたCentOS7の仮想マシンをHyper-Vに移行してみました。(参考)
VMWareでも同じこと試してみようかと思いまして、個人利用フリーのVMWare Workstation Playerで作成したCentOS7仮想マシンをHyper-Vに移行してみることにしました。
(※Hyper-Vを動かしているのと同じ環境でVMWare Workstation Playerを動かそうとしたのですが、Hyper-Vが有効になっている環境ではVMWare Workstation Playerが素直に動かないようです。
VMWare Workstation Playerで変換元仮想マシンを作る際はHyper-Vを無効にしました。
変換元仮想マシン作成後に再度Hyper-Vを有効にしています。)
環境情報
-
変換元仮想マシンの作成情報
-
仮想化ソフトウェア: VMWare Workstation 15 Player
-
ゲストOS: CentOS 7.5
-
変換ソフト: StarWind V2V Converter (公式)
-
ホストOS: Windows10 バージョン1803
VMDKファイルをVHDXファイルに変換
フリーソフトの「StarWind V2V Converter」を使用してみたところ、特にエラーもなく変換できました。GUIで直感的に作業が出来るので楽です。
以下は今回試した例です。
(※ちなみにWindows 7上で変換を試してみたらエラーになりました。Hyper-VをONにしているWindows 10で実施するのが確実かと思われます。)
-
Select location of image to convert
-
Local file を選択します。
-
Source image
-
File nameに「VMWare Workstation 15 Player」で作成した仮想OS「CentOS 7.5」のVMDKファイルを選択します。
(※今回はテスト用に作成した仮想環境なのでVMDKファイルは1ファイルでしたが、スナップショットとかとっているとVMDKファイルが複数できていたりして(VMWare Esxiの経験上)混乱すると思いますが、VMware vCenter Converter Standaloneでエクスポートしたり、スナップショットを削除したりすればVMDKファイルは1ファイル(ディスク数が複数ならそれと同数)になります。)
-
Select location of destination image
-
Local file を選択します。
-
Select destination image format
-
VHD/VHDX を選択します。
-
Select option for VHD/VHDX image format
-
VHDX growable image を選択します。
-
Set destination file name
-
File name にVHDXファイルの出力先を指定します。
以降はVirtualBoxで作成されたVDIファイルをVHDファイルに変換したときと同じでした。(参考)
内容は同じですが、一応記します。
Hyper-Vで仮想マシンを作成
「Hyper-Vマネージャー」から該当サーバーを右クリックして「新規」>「仮想マシン」を選択します。
- 名前と場所の指定
項目 | 設定値 | 備考 |
---|---|---|
名前 | fromVmware | なんでもOK |
-
世代の指定
-
第1世代
-
起動メモリ
-
(自由に設定してください。私はデフォルトの1024MBかつ動的メモリ使用としました。)
-
ネットワークの構成
項目 | 設定値 | 備考 |
---|---|---|
接続 | nat | なんでもOK (私は別途作成したnatを使用しました。参考)(※ちなみにCentOS6を変換する場合はレガシーネットワークを使用する必要がありました。) |
- 仮想ハードディスクの接続
- 既存の仮想ハードディスクを使用する。
項目 | 設定値 | 備考 |
---|---|---|
場所 | (「StarWind V2V Converter」で作成したVHDXファイルのフルパスを指定します。) |
「要約」画面を確認したら「完了」ボタンを押下します。
CentOS7の初期RAMディスク再作成
上記で作成した仮想マシンをそのまま起動すると初期RAMディスクを正常に読めずに起動失敗します。
レスキューモードで起動して、dracutコマンドで初期RAMディスクを再作成します。
(※ちなみにCentOS6の変換の場合は初期RAMディスク再作成は不要でした。)
レスキューモード起動
CentOS7起動時のカーネル選択画面でrescue「CentOS Linux (0-rescue-省略) 7 (Core)」を選択して起動します。
初期RAM再作成
「端末」を起動して以下コマンドを実行します。
$ su -
# cd /boot/
# dracut -force
# shutdown -r now
起動後
通常のカーネルを選択して起動します。
起動後は動作やログを確認しつつ不具合をつぶして行きます。とりあえず私はVMWareで作成したネットワークアダプタに関する設定は全て削除してHyper-Vで追加したネットワークアダプタ用の設定を入れなおしました。