簡単なようで難しい Hyper-Vによるサーバ仮想化の意外な落とし穴Windows XP&Windows Server 2003移行の「い・ろ・は」【第3回】

Windows Server 2003ベースのシステムでは、長期稼働しているケースもあり、ハードウェアの寿命などさまざまな不安があります。物理サーバを仮想化すれば問題の一部は回避できます。しかし、実際はそう簡単にいかないようです。

2014年06月13日 17時00分 公開
[山市 良]

 現在、「Windows Server 2003」ベースのシステムを運用している企業の中には、導入時期にもよりますが、古いもので10年以上も長期稼働しているケースもあるでしょう。OSやアプリケーションのサポート期限があるからといって、現状、何の問題もなく安定稼働しているシステムを更改する動機にはなりません。

 サポート期限切れでセキュリティリスクが高まるとしても、できれば、ハードウェアの寿命が尽きるか、サポート期限が切れるぎりぎりまで使い続けたいと考えるでしょう。レガシーシステムのアップグレードを考えるより、運用しながら全く新しいシステムを並行して検討し、入れ替える方が簡単・低コストで済む場合もあります。

 さらに、老朽化したハードウェアは故障率が高まり、故障したコンポーネントの交換品の入手はますます困難になります。また、交換品を入手できたとしても、より大容量・高性能で低価格な最近の製品と比べると、レガシーなハードウェアの交換費用は一般的に高くつきます。

SCVMMのP2V機能の廃止、どうする?

 仮想化が普及してきた当初から、物理サーバを仮想化し、少数の仮想化ホストにサーバ統合するソリューションに注目が集まりました。物理サーバの仮想化は、「P2V」(Physical to Virtual)とも呼ばれる手法です。P2Vを行うことで、物理サーバで動いていたソフトウェアをそのまま、レガシーなハードウェアから仮想マシンに移行し、ハードウェアの老朽化やリース切れの問題に対処できます。

 米Microsoftは同社仮想化管理ツール「System Center Virtual Machine Manager」(以下、SCVMM)の最初のバージョン(SCVMM 2007)から、P2V変換機能を提供してきました。当時は、「Virtual Server 2005 R2」の仮想マシンへのP2V変換を提供するものでしたが、SCVMM 2008以降は「Hyper-V」にも対応しました。ただ、この連載の第1回(Windows XP/Server 2003をすんなり移行できない「不都合な真実」)で説明したように、最新の「System Center 2012 R2 Virtual Machine Manager」(以下、SC 2012 R2 VMM)からはP2V変換機能が削除されました。P2V変換機能を使って、レガシーシステムをHyper-Vに移行しようと考えていた企業もいたでしょうが、今となっては先延ばしをしすぎたということです。

 仮想化基盤としてHyper-Vにこだわらないのであれば、Windowsに対応した無償の純正P2V変換ツールがあります。また、米VMwareは「vCenter Converter Standalone」を無償提供し、VMware仮想マシンへのP2V変換を可能にしています。米Citrixは「XenConverter」を無償提供し、XenServer仮想マシンへのP2V変換を可能にしています。

画面1:vCenter Converter Standaloneを使用すると、ローカルまたはリモートの物理コンピュータを、VMware ESX/ESXiホスト上またはファイルベースのVMware仮想マシンにP2V変換できる

Hyper-VへのP2Vの代替策(1)――SCVMMのダウングレード

 ライセンスコスト、導入や管理の簡単さを考慮して、どうしてもHyper-Vを選択したい場合があるでしょう。最新のSC 2012 R2 VMMからP2V変換機能が削除されたからといって、方法がないわけではありません。

 System Center 2012 R2のサーバ管理ライセンス(SML)がある際は、System Centerのダウングレード権を利用して、「System Center 2012 SP1 Virtual Machine Manager」(以下、SC 2012 SP1 VMM)の管理環境を構築します。そうすれば、P2V変換機能を利用して物理コンピュータをHyper-V仮想マシンに移行することができます。

 ただし、SC 2012 SP1 VMMで管理できるのは、「Windows Server 2012 Hyper-V」以前のHyper-Vになります。SC 2012 SP1 VMMは、最新版Hyper-Vの管理には対応していません。

 P2V変換後の仮想マシンを最新のHyper-Vで実行するには、Windows Server 2012 Hyper-Vの仮想マシンにP2V変換した後に、旧Hyper-Vから最新Hyper-Vに仮想マシンを移行する追加の手間が発生します。「Windows Server 2012 R2 Hyper-V」は、「Hyper-Vマネージャー」や「Move-VMコマンドレット」を使用して、1世代前のHyper-Vホストから、仮想マシンを「クロスバージョンライブマイグレーション」で最新のHyper-Vに移行することができます。あるいは、新たにSC 2012 R2 VMMの管理環境を構築して、旧Hyper-Vから最新Hyper-Vに仮想マシンをホスト間移行します。

 P2V変換対象の物理コンピュータが多数存在する場合、最新のHyper-VにP2V変換する方法としては、ひと手間かかりますが、これが最善の方法でしょう。ただ、ひと手間といっても、新旧両バージョンのHyper-V環境の準備、新旧両バージョンのSCVMMの準備は、結構な作業になります。その労力に見合う規模であるかどうかが、この方法を選択するかしないかの決め手になるでしょう。

画面2:SC 2012 SP1 VMMでWindows Server 2012 Hyper-VにP2V変換した仮想マシンを、ライブマイグレーションでWindows Server 2012 R2 Hyper-Vに移行する

Hyper-VへのP2Vの代替策(2)――Disk2vhdによる変換

 Microsoftは以前から、「Virtual PC」やHyper-V用の簡易的なP2V変換ツールとして、「Disk2vhd」を提供しています。Disk2vhdは、Microsoftがサポートなしで無償提供している「Windows Sysinternalsユーティリティ」の1つです。

 Disk2vhdは、「Windows Server 2003 SP1」以降および「Windows XP SP2」以降の物理コンピュータで実行可能。「ボリュームシャドウコピーサービス」(VSS)を使用して、ローカルディスクのイメージをVirtual PCやHyper-Vと互換性のあるVHD形式の仮想HDDにファイル化できます。2013年12月にリリースされた最新版「Disk2vhd v2.0」は、Windows Server 2012 Hyper-V以降でネイティブのVHDX形式に対応しました。

 Disk2vhdは、物理ディスクごとに1つの仮想HDDファイルを作成します。OSを含む仮想HDDファイルを、新規に作成したHyper-V仮想マシンのIDEコントローラーに、データ用の仮想HDDをIDEまたはSCSIコントローラーに接続することで、仮想マシンに移行することができます。Disk2vhdで作成した仮想HDDからHyper-V仮想マシンを起動できたら、Hyper-V統合サービスをインストールすることで、Hyper-V環境に最適化できます。

画面3:Disk2vhd v2.0を使用して、ローカルディスクをVHDXファイル化する
画面4:Disk2vhd v2.0で作成したVHDXファイルをHyper-V仮想マシンに接続する
画面5:仮想マシンを起動できたら、Hyper-V統合サービスをインストールして、Hyper-Vに最適化する

 Windows Server 2003やWindows XP上でDisk2vhdを実行すると、「Prepare for use in Virtual PC」というオプションが提供されます。このオプションをチェックすると、Windowsの起動設定ファイルであるboot.iniファイルに既定の起動エントリとして「Disk2vhd OS名」というエントリが追加され、「/KERNEL=ntkrnlpa.exe /HAL=halacpi.dll」オプションが有効になります。これにより、Virtual PCに最適なHAL(ハードウェア抽象化レイヤー)を読み込ませ、Virtual PC上で確実に起動できるようになります。

 「Prepare for use in Virtual PC」オプションは、Hyper-Vの仮想マシン用には必須ではありませんが、P2V変換後の初回起動のトラブルを回避するのに有効な場合があります。物理コンピュータで構成されていたHALのままでは、仮想マシンとして起動できないケースがあるからです。

 ただし、「Prepare for use in Virtual PC」オプションを有効にしてHyper-V仮想マシン用の仮想HDDを作成した場合は、仮想マシン起動後にboot.iniを直接編集するか、「システムのプロパティ」の「詳細設定」にある「起動と回復」を使用して、既定の起動エントリを元の設定に戻してからHyper-V統合サービスをインストールしてください。Hyper-V統合サービスをインストールすると、Hyper-Vに最適なHALに入れ替えが行われますが、Disk2vhdが変更した既定エントリが有効になっていると、HALが明示的に指定されているため、HALの入れ替えが正しく行われず、Hyper-V統合サービスのインストールが繰り返し行われる(成功しない)ことになります。

画面6:「Prepare for use in Virtual PC」オプションを使用した場合は、既定の起動エントリを元に戻してからHyper-V統合サービスをインストールすること

Hyper-VへのP2Vの代替策(3)――他社ツールの活用

 SC 2012 R2 VMMでは、P2V変換機能は削除されましたが、「V2V」(Virtual to Virtual)変換機能は残っています。V2V変換機能は、SC 2012 R2 VMMの管理下にあるVMware ESX/ESXiホスト上のVMware仮想マシン、またはSC 2012 R2 VMMのライブラリ共有に保存されているVMware仮想マシンを、Hyper-Vホストに移行してHyper-V仮想マシンに変換する機能です。

 VMwareのvCenter Converter Standaloneを使用すると、物理コンピュータをVMware仮想マシンにP2V変換できます。つまり、P2V変換後のVMware仮想マシンをSC 2012 R2 VMMのライブラリ共有にアップロードすれば、SC 2012 R2 VMMのV2V変換機能を利用して、Hyper-V仮想マシンに再変換できます。

 VMware ESX/ESXiホストを利用できる環境があれば、vCenter Converter Standaloneを用いて、物理コンピュータをVMware ESX/ESXiホストの仮想マシンにP2V変換し、SC 2012 R2 VMMを使ってその仮想マシンをHyper-Vホスト上にV2V変換することが可能です。SC 2012 R2 VMMの管理環境を用意できないという場合は、Microsoftが無償提供している「Microsoft Virtual Machine Converter」というスタンドアロンのV2V変換ツールを利用できます。このツールは、VMware ESX/ESXiホストとHyper-Vホストに接続して、VMware仮想マシンをHyper-V仮想マシンにV2V変換するツールです。

画面7:vCenter Converter StandaloneでP2V変換した物理コンピュータの仮想マシンを、Virtual Machine ManagerでV2V変換する
画面8:Microsoft Virtual Machine Converterを使用すると、VMware ESX/ESXiホスト上のVMware仮想マシンをHyper-V仮想マシンのV2V変換できる

簡単なようで難しい、P2Vの現実

 高機能なP2V変換ツールのあるなしに関係なく、P2Vは簡単にできる場合もあれば、簡単には成功しない場合もあります。なぜなら、P2V変換とは、移行先の器が仮想マシンというだけで、あるコンピュータのディスクを、別のハードウェア構成のコンピュータに引っ越しするのと同じだからです。

 引っ越し先が特別なハードウェアを持たない、シンプルなハードウェア構成の仮想マシンなので、2台の物理コンピュータ間で引っ越しするのに比べたら、少しだけ有利です。問題は引っ越し元の環境です。物理コンピュータが専用のハードウェアに大きく依存する場合、P2V変換は失敗する可能性が高くなります。

 例えば、OSのインストール先のディスクコントローラー(大容量記憶装置)に特別なドライバーを使用している場合、P2V変換後に仮想マシンを起動すると、ゲストOSがSTOPエラー「0x0000007B」や「0x0000007E」で停止するか、再起動を繰り返すことがあります。

 また、古いシステムの場合は、電源管理に関する規格であるACPIに対応していないコンピュータの場合もあるでしょう。シャットダウン後に自動的に電源がオフにならないコンピュータは、ACPIに対応していません。Hyper-V統合サービスはACPI HALを前提としており、非ACPI HALでインストールされたOS環境には対応していません。そのため、非ACPI HALのコンピュータの場合は、P2V変換を諦めるしかないでしょう。

 ディスクの引っ越しに伴う起動失敗の問題を、レジストリの修正やファイルの入れ替えで対処できる場合、仮想マシンは物理コンピュータに比べて、トラブルシューティングの方法が柔軟です。物理コンピュータの場合は、トラブルシューティング用に別のOSインスタンスをインストールしたり、「Windows PE」(プレインストール環境)で起動したり、あるいはディスクを取り外してUSBの外付けHDDケースで別のコンピュータに接続して対処する必要があるでしょう。

 VHDまたはVHDX形式の仮想HDDの場合は、Windows Server 2012以降およびWindows 8以降のエクスプローラーを使用して、ローカルドライブとして簡単にマウントできます。ローカルマウントしたファイルシステムを直接操作できますし、レジストリエディタ(Regdit.exe)を起動して「¥Windows¥System32¥Config¥System」のハイブファイルを読み込めば、オフラインになっているOSのレジストリを編集可能です。

 P2V変換はハードウェアとソフトウェアのライフサイクルを切り離す、非常に有効な手段です。しかし、結局のところ、P2V変換の成功/失敗は実際に作業を行うIT技術者の腕に掛かっているのです。

画面9:VHDおよびVHDX形式の仮想HDDファイルは、エクスプローラーを使用してローカルマウントできる
画面10:ローカルマウントしたボリューム上の\Windows\System32\Config\Systemのハイブファイルをレジストリエディタに読み込んで編集する

よくわかる Windows Server 2012 移行 虎の巻

サポート終了が目前に迫る「Windows Server 2003」。Windows Serverの入れ替えはクライアントOS以上に時間がかかるため、計画的に進めることが大切だ。本特集では、移行計画の立て方、移行プロセスおよびその際に気を付けるべきポイント、移行後の運用管理ノウハウなどを紹介する。Windows Server 2003を手放せずに悩んでいる人も必見!

よくわかる Windows Server 2012 移行 虎の巻


提供:TechTargetジャパン編集部
アイティメディア営業企画/制作:TechTargetジャパン編集部

Dell創立30周年 ITソリューションイベント“Dell Solutions Roadshow 2014”開催:東京10月15日(水)/大阪11月14日(金)
デルへのお問い合わせはこちらからどうぞ
Windows Server 2003 サポート終了 サーバ買い替えキャンペーン!! 最大40%オフ