2011-05-17

物理マシンを Hyper-V 仮想マシンに移行する(P2V)

 本ブログでは、Hyper-V の仮想マシンに OS をインストールしたり、仮想マシンを別のコンピュータの仮想マシンとして移行したりする方法を紹介してまいりましたが、今回は、運用中の物理マシン(タワー型マシン)の環境をごっそり仮想マシンに変換(P2V)して、Hyper-V で運用する方法について紹介します。

 手順は次の 3 ステップとなります。

1. 物理マシンのドライブをそれぞれ仮想ハードディスク(.vhd)に変換する。

MicroSoft 社の Windows SysInternals で提供されている disk2vhd というツールを使うことによって、物理ドライブを仮想ディスクに変換する。



注意:Hyper-V で運用可能な仮想ディスクを作成する場合は、ダイアログボックス右上の [Prepare for use in virtual PC]というチェックボックスに必ずチェックを入れてください。

 私が使っているマシンのディスクドライブは、C、E、F に分かれているため、C、E、F 個別に変換を行い、計 3 つの仮想ディスクを作成しました。

 外付けデバイス、CD/DVD-RW ドライブは変換しないようにしてください。

注意: C、E、F を一度に変換すると、場合によっては作成される仮想ディスクファイルが 1 つになったり、2 つになったりする可能性がありますが、この内部基準に関することは今のところはっきりとわかっておりません(調査不足ですみません)。
ドライブを複数に分けている場合は、個別に変換されることを強くお勧めします。

2. Hyper-V マネージャを開き、新しい仮想マシンを作成し、仮想ディスク接続先を 1. で作成した 3 つのドライブにする。
(参考:今回は仮想環境の C、E、F ドライブにするディスク領域を iSCSI で構築しています。)

 移行先のホストマシンに、1. で作成した 3 つの vhd を格納するディスクドライブを用意します。
 一度に全部の環境を一度にバックアップを取るようにスケジュールするのであれば、3 つの vhd を一つのドライブに入れても良いですが、データドライブのみ、アプリケーションドライブのみ、といったようなバックアップスケジュールを組みたい場合は、vhd を格納するドライブをそれぞれ分けた方が良いでしょう。


 以下の例は、ホストOS から見た H ドライブにゲスト OS の変換済みのドライブ E の vhd ファイルを配置したところです。
 このように、1 ドライブに 1 つの vhd ファイルを配置しても良いですし、一度に仮想マシン全体をバックアップする予定であれば、1 ドライブに 3 つの vhd ファイルを配置してもかまいません。



 ここまで終わったら、Hyper-V マネージャを開き、仮想マシンを新規作成した後で、それぞれの vhd ファイルを関連付けます。

 当方で動作検証したところ、SCSI コントローラで vhd を関連付けたところ E/F ドライブが認識されなかったため、IDE コントローラーで関連付けを行いました。

 IDE コントローラを使って C、E、F ドライブの関連付けを行うと、以下の図のようになります。



3. 仮想マシンを起動して、E、F ドライブを認識させる。

 上記のとおり設定を行ったところで、仮想マシンを起動します。
 disk2vhd でうまく vhd 変換できていれば、OS は正常に起動できると思います。

 起動直後は、以下のようなライセンス認証ダイアログが表示されることがありますので、期間内にライセンス認証を行ってください。



 「スタート」→「管理ツール」→「コンピュータの管理」の順に選択し、左ペインに表示される「ディスクの管理」を開きます。E および F ドライブのディスクがオフライン状態となっていることがありますが、ディスク名を右クリックし、「オンライン」を選択することによってディスクをオンライン状態にできます。

 すべてのディスクをオンライン状態にすると、ディスク構成は次のようになります。



 上記でおかしな点は、ディスク 1 に E と F というドライブ名がついていますが、ディスク 2 のドライブ名は設定されていないことです。
 ディスク 1 に E、ディスク 2 に F というドライブ名が設定されることを想定しているにもかかわらず、ディスク構成が上記のようになってしまうことがあります。

 disk2vhd の変換機能の仕様によるものなのかもしれませんが、ドライブ名を正しく指定するには、ディスク 1 の二番目のパーティションを空欄にし、ディスク 2 の二番目のパーティションに F を指定すると、想定しているディスク構成で元のファイル群を参照できるようになります。


 しかし、この方法ですと、ディスク 1 の二番目のパーティション、ディスク 2 の先頭のパーティションがゴミとして残ってしまいますので、専用のツールを使ってパーティションの削除、移動をする必要があります。

2011-05-09

Hyper-V のゲスト OS を起動しようとすると、「一般のアクセスが拒否されました」というメッセージが表示される (ID: )

今まで稼動させていた Hyper-V の仮想マシンの仮想ハードディスク (.vhd) の可変→固定 変換を行った直後に、変換後の .vhd を起動すると、以下のメッセージが表示されるようになりました。


権限が足りないために起動できなくなったようですが、.vhd に Authenticated Users というユーザをフルアクセスで割り当てることで事なきを得ました。

参考:
SQL Server をメインにしたいと思いつつ Microsoft 製品の勉強内容を日々投稿
SCVMM で共有ディレクトリの ISO イメージがマウントできない場合の対応



しかし、このような現象が発生した場合は、Hyper-V マネージャのゲスト OS 設定から一度当該のディスクを削除し、再度割り当てることによって、起動のために必要な権限が割り当てられるようになる模様ですので、こちらの方がやり方としてはお勧めです。(2011/09/28追記)


1. 起動時に問題を引き起こしている仮想ディスクを削除します(下図参照)。

2. 1. で削除した仮想ディスクを追加するために、ディスクコントローラーを追加しなおします。
下図は、SCSI コントローラを追加しなおしているところですが、元々 IDE コントローラを使用していた場合は、IDE コントローラを追加してください。

3. 1. で削除した仮想ディスクを追加し、適用させます。


4. ゲスト OS の電源を入れ、無事起動すれば成功です。



参考:
仮想マシンの起動時に「IDE/ATAPIアカウントには、アタッチメント(VHDファイル名)を開くのに十分な特権がありません。」のエラーが表示される

2011-04-21

SonicWall Global VPN Client のインストールが失敗したり、クラッシュしてしまうときのちょっとした改善案(Windows Vista, Windows 7 編)

 Sonic Wall Global VPN Client (以降 SWGVC) がインストール先の OS によって正しく動作しないという記事を過去に書きましたが、今回、Vista/Windows 7 環境でも不具合が発生することがあったため、裏技的な対応方法をご紹介します。

【現象】(テスト時の SWGVC のバージョンンは 4.2.6.0305)

 SWGVC を起動すると、「Failed to open the IPSec driver.」 というエラーメッセージが表示され、接続できない。
 もしくは、SWGVC の起動まではできるが、Enable をクリックすると同様のエラーが表示されるか、接続が Enabled にならない。


【対応方法】

1. スタートメニューより、「コンピュータ」を右クリックしてから「プロパティ」の順に選択し、デバイスマネージャーを開きます。

2. デバイスマネージャーの「表示」メニューより、「非表示のデバイスの表示(W)」を選択します。


3. 左ペインに表示されるデバイスの一覧から、「SonicWall IPSec Driver」を右クリックし、「プロパティ」を選択します。




4. プロパティシートの「ドライバ」タブより、スタートアップの種類を「自動」に変更し、“開始”ボタンをクリックしてドライバを開始させ、コンピュータを再起動します。




5. SWGVC を起動し、接続を試みます。


 当方の場合は、最新版の SWGVC ではどうしても接続がうまくいかなかったため、旧版の SWGVC をインストールしなおし、上記の操作をしてみたところ、正常に接続されるようになりました。


 今までいろいろやってみて、どうしてもうまくいかなかった方は、ダメ元でお試しください。

参考:SonicWall Global VPN Client (GVC) Troubleshooting