WindowsでHyper-Vの仮想マシンに物理ディスクを接続する(パススルーディスクの使い方):Tech TIPS
Hyper-Vの仮想マシンでは仮想ディスクのほかに、物理ディスクを直接接続できる。これをパススルーディスクという。ファイルシステム処理を経由しない分だけオーバーヘッドが少なく、パフォーマンスはいくらか向上するが、運用に当たっては幾つか制約がある。その設定方法は?
解説
Hyper-Vの仮想マシンでは、VHDやVHDXファイルなどの仮想ディスクファイルを使うのが一般的だが、これ以外にも物理ディスク(もしくはSAN上のLUN)を直接仮想マシンに接続(アタッチ)して利用する方法がある。これを「パススルーディスク(pass-through disk)」といい(仮想マシンからのアクセス要求を全てそのまま物理ディスクへ渡して処理するため、こう呼ばれる)、次のようなメリットがある。
- より高速な入出力――ファイルシステムのドライバ経由でVHDやVDHXファイルを処理するのではなく、直接物理ディスクにアクセスできるので、オーバーヘッドの少ない高速なディスク入出力が期待できる(一般的には、容量固定の仮想ディスクと同等か、少し速くなる)
- 大量のデータを含むボリュームの素早いマウント/アンマウント――既にデータが記録されている(ボリュームを作成済みの)物理ディスクを素早く仮想マシンに接続できる
- 2TBの制限の回避――VHD形式の仮想ディスクには最大2TBという制限があるが、パススルーディスクなら2TB以上の物理ディスクも利用できる(ただしWindows Server 2012のVHDXなら2TB以上の仮想ディスクも作成できる)
逆に、次のように幾つかの制約もある。
- スナップショットに非対応――仮想マシンのスナップショットを作成できなくなる
- CSVに非対応――クラスタの共有ボリューム(CSV)としては利用できない
- VSSバックアップに非対応――ペアレントOSからのVSSバックアップができない
- インポート/エクスポートに非対応――エクスポートしてもパススルーディスクの内容がファイルとして出力されることはないし、インポートしてもパススルーディスクの内容は何も変更されない
- 仮想マシンのポータビリティの低下――ほかのHyper-Vホストへ移行させるのが面倒になる(いちいち物理ディスクを接続し直す必要がある)
このような制限があるため、VHDやVHDXの代わりに使うというわけにはいかないが、例えば高いパフォーマンスが要求されるようなボリューム(データ入出力が多いデータベースやログなど)で使用したり(容量固定の仮想ディスクのような用途)、リムーバブルのUSB接続ハードディスクを使った大量のデータの持ち運び用途、のようなケースで活用できるだろう。
Hyper-Vでパススルーディスクを利用するには、仮想マシンの「設定」画面で物理ディスクを選択すればよいが、何の準備もせずにディスクの設定画面を開いても、[物理ハードディスク]の項目はグレーアウトしていて設定できず、操作に戸惑う。
パススルーディスクを追加しようとしているところ
システムに新しい物理ディスクを接続後、仮想マシンの設定画面でパススルーディスクとして追加しようとしても、何も準備をしていないと、このように選択できない。これはWindows Server 2012のHyper-Vの設定画面の例。
(1)この項目が選択できない。よく見ると、その下に対処方法が書かれている。
本TIPSではHyper-Vの仮想マシンでパススルーディスクを使う方法を紹介する。
操作方法
●手順1―物理ディスクをオフラインにする
Hyper-Vの仮想マシンで物理ディスクをパススルーディスクとして使うには、システムに物理ディスクを接続後、最初にペアレントOSで「オフライン」状態にしておかなければならない。このためにはまずペアレントOSでディスクの管理ツールを開いて(「コンピュータの管理」ツールでも可)、該当する物理ドライブを右クリックし、ポップアップメニューから[オフライン]を実行する。
ディスクをオフラインにする
Hyper-Vでパススルーディスクを使いたい場合は、ペアレントOS上のディスクの管理ツールを使って、対象となるディスクをまず「オフライン」にし、ペアレントOSの管理下から除外する必要がある。ディスクの管理ツールはコントロールパネルの管理ツールから起動するか、「コンピュータ」アイコンを右クリックして、[管理]メニューから起動できる。
(1)パススルーディスクとして利用したディスク。ここを右クリックする(右側のパーティションマップの部分を右クリックするのではない)。
(2)[オフライン]を選択する。いったんオフラインにすると、このOSの管理下から外れる(このディスク上のデータにはアクセスできなくなる)。
(3)対象となる物理ディスクは新品でもよいし(初期化していなくてもよい)、あらかじめパーティションを作成してあったり、データが保存されていてもよい。
●手順2―仮想マシンの設定画面で物理ディスクを選択する
ディスクをオフラインにしたら、次はパススルーディスクを設定したい仮想マシンの「設定」画面を開き、「IDE コントローラー」か「SCSI コントローラー」グループに下に、新しい「ハードドライブ」項目として追加する。IDEの場合は仮想マシンの停止時にしか追加できないが、SCSIなら仮想マシンの実行中でも追加できる。
以下の画面は、IDEの下に新しいハードドライブ項目を追加したところである。「物理ハード ディスク」の下に、先ほどオフラインにしたディスクが列挙されているはずなので、該当する物理ディスクを選んで追加する。
パススルーディスクの追加
次はディスクを追加したい仮想マシンの「設定」画面を開き、IDEかSCSIの下に追加する。
(1)今回はIDEの下に追加したいので、まずこの「IDE コントローラー 0」を選択し、右側に表示されたデバイスのリストから「ハード ドライブ」を選択して、[追加]ボタンをクリックする。するとこの画面のように、追加するデバイスの詳細設定画面が表示される。
(2)ここでは「IDE コントローラー 1」の場所「1」にディスクを追加する。
(3)パススルーディスクを追加するにはこの「物理ハード ディスク」を選択する。
(4)利用可能なデバイス(ディスクID)の一覧が表示される。この例では、先ほどオフラインにした1台だけが表示されているので、これを選択して[OK]をクリックする。
以上で操作は完了である。追加する物理ディスクにあらかじめボリュームが確保されていれば、それがそのまま仮想マシンからアクセスできるはずである。何もパーティションが確保されていない新品のディスクなら、仮想マシンでディスクの管理ツールを起動し、ディスクを(必要なら)オンラインにしたり、初期化してから、パーティションを確保してフォーマットすればよい。
●注:パススルーディスクがあるとスナップショットが利用できない
最初に述べたように、仮想マシンでパススルーディスクを使っている場合は、その仮想マシンではスナップショットは作成できなくなる。作成しようとすると、次のようなメッセージが表示される。
スナップショットが作成できないというエラー
仮想マシンでパススルーディスクを使っているとスナップショットは作成できなくなる。作成しようとすると、このようなメッセージが表示される。
(1)パススルーディスクが原因で作成できない、というメッセージ。
●注:パススルーディスクは仮想マシンのインポート/エクスポートにも非対応
仮想マシンを「エクスポート」すると、構成情報ファイル(XMLファイル)とVHDファイルのコピーなどが作成されるが、パススルーディスクに関しては何も処理は行われない。仮想マシンの構成情報ファイルにはパススルーディスクの識別情報(どの物理ディスクかという情報)などは記録されているが、パススルーディスクのデータのコピーが作成されることはない。パススルーディスクが障害を起こしても、エクスポート結果から戻すことはできない。
インポート操作(コピー操作)を行うと、オリジナルのパススルーディスクを参照するように仮想マシンが設定される。つまり1台の同じ物理ディスクを参照する、2つの仮想マシンが作成されることになる。この場合、起動できるのはどちらか1台の仮想マシンに限られる。同じパススルーディスクを参照する2台目の仮想マシンを起動しようとしても、パススルーディスクのアクセス違反エラーとなって、起動できない。
パススルーディスクの競合エラー
例えば同じパススルーディスクを参照する2つの仮想マシンがある場合、2台目の仮想マシンを起動しようとするとこのようなエラーが表示され、起動できない。1台目の仮想マシンをシャットダウンすると起動できるようになる。
(1)パススルーディスクへの排他的なアクセスが拒否されたというメッセージ。
■この記事と関連性の高い別の記事
- Hyper-V 2.0で仮想SCSIディスクを動的に追加する(TIPS)
- Hyper-Vの仮想マシンをインポートする(Windows 8/Server 2012編)(TIPS)
- 物理ディスクの内容を仮想ディスク・ファイルに変換する(TIPS)
- Hyper-Vの仮想マシンへのショートカットを作成する(TIPS)
- Hyper-Vの仮想マシンやスナップショットをエクスポート/インポートする(Hyper-V 2.0編)(TIPS)
Copyright© Digital Advantage Corp. All Rights Reserved.