連載
» 2015年01月29日 18時00分 UPDATE

vNextに備えよ! 次期Windows Serverのココに注目(5):新しいHyper-Vは「チェックポイント」が変わる! (1/3)

Windows Server Technical Previewの「Hyper-V」には、さまざまな新機能と強化点がすでに実装されており、実機で評価できます。今回は、Hyper-Vの「チェックポイント」機能に注目し、現行バージョンと比較しながら、新バージョンの新機能や変更点を探ります。

[山市良,テクニカルライター]
「vNextに備えよ! 次期Windows Serverのココに注目」のインデックス

連載目次

Hyper-Vのこれまでのチェックポイント(旧称スナップショット)

 マイクロソフトのサーバー仮想化テクノロジ「Hyper-V」には、他のハイパーバイザー製品と同様、仮想マシンの任意の時点の状態をファイル化して保存する「チェックポイント(Checkpoints)」という機能があります。@ITの読者の皆さんには、「スナップショット(Snapshots)」という表現の方がなじみ深いかもしれません。

 VMware ESXi、Citrix XenServer、Linux KVMでは、スナップショット(Snapshots)と呼んでいます。Hyper-VでもWindows Server 2012およびWindows 8以前は、スナップショットという機能名でした。System Center Virtual Machine Managerでは、Virtual Server向けの管理ツールとして登場した当初からチェックポイントという機能名でした。

 仮想マシンのチェックポイント(スナップショット)作成機能は、ファイルベースだからこそできる仮想マシン環境特有の便利機能であり、物理コンピューターでは決して実現できないものです。物理コンピューターの「休止状態」は似ていますが、仮想マシンは休止状態に相当する「保存」が可能です。簡単にいうと、「保存された状態を複数作成でき、簡単に復元できる」ことがチェックポイントの機能になります。

 次の画面1は、二つのチェックポイントを持つ、Windows Server 2012 R2 Hyper-Vの仮想マシンを示しています。仮想マシンのチェックポイントは、仮想マシンが「オフ」「保存状態」「実行中」のいずれの状態でも作成可能です。作成済みのチェックポイントを適用することで、そのチェックポイントを作成した時点に仮想マシンの状態を戻すことができます。

画面1 画面1 Windows Server 2012 R2 Hyper-Vのチェックポイント機能。実行中の状態を含むチェックポイントを適用すると、チェックポイント作成時点の実行中の状態が復元される

 一つの仮想マシンには、最大50のチェックポイントを作成でき、以前のチェックポイントの時点に戻すことで、そこからチェックポイントの新しいサブツリーに枝分かれすることも可能です。

 オフ状態の仮想マシンに対してチェックポイントを作成すると、仮想マシンの現在の仮想ハードディスク(VHDまたはVHDX、または親のチェックポイントの差分ディスク)を親とする、拡張子「.avhdx」または「.avhd」の差分ディスクが作成され、チェックポイント作成以後の変更は差分ディスクに対して書き込まれます。

 また、チェックポイントを作成すると、チェックポイント作成時点の仮想マシンの構成が、仮想マシンの構成ファイルとして「チェックポイントファイルの場所」のパスにある「Snapshots」フォルダーに「チェックポイントのID.xml」というファイル名で保存されます。

 実行中または保存状態の仮想マシンに対してチェックポイントを作成すると、仮想ハードディスクの差分ディスク、仮想マシンの構成ファイルに加えて、実行中の仮想マシンのメモリとデバイスの状態がファイル化されて保存されます。メモリとデバイスの状態は、「Snapshots」フォルダーに作成される「スナップショットのID」サブフォルダーに、それぞれ「スナップショットのID.bin」および「スナップショットのID.vsv」というファイル名で保存されます(画面2)。

画面2 画面2 オフ状態の仮想マシンのチェックポイントには、仮想ハードディスクの状態と仮想マシンの構成が含まれる。実行中の仮想マシンのチェックポイントには、さらにメモリの状態(.bin)とデバイスの状態(.vsv)が保存されている

 実行中の状態を含むスナップショットを仮想マシンに適用した場合は、仮想マシンの開始時に実行中の状態が復元されます。

便利だけど本当は怖い、チェックポイントの使用

 チェックポイントを使用すると、素早く簡単に仮想マシンを以前の状態に戻すことができます。この機能をアプリケーションの開発やテストで利用すると、アプリケーションで発生する問題を保存し、いつでも再現できて便利です。環境や条件の異なるさまざまなテストケースを、チェックポイントのサブツリーで準備することも可能です。

 運用環境でもチェックポイントを有効活用できる場面があります。例えば、仮想デスクトップインフラストラクチャ(Virtual Desktop Infrastructure:VDI)環境において、チェックポイントはユーザーによる変更を使用後に破棄するステートレスな仮想デスクトップを実現するために利用できます。

 例えば、Windows Updateによる更新や、システムの構成変更に起因するトラブルを、素早くロールバックするためのバックアップとして利用することも可能です。仮想マシンの場合、ゲストOSのWindowsの「システムの復元」機能を利用するより、チェックポイントで戻した方が圧倒的に素早く、簡単であり、完全に元の状態に戻すことができます。

 しかし、ほとんどの場合、運用環境ではチェックポイントを使用しない方がよいとされています。チェックポイントの適用で元の状態に戻る状況は、物理コンピューターでは発生しないことであり、ほとんどのアプリケーションは元の状態に戻ることを想定して作られてはいません。

 特に、サーバーアプリケーションの場合は、チェックポイントの使用がシステムのエラーやデータの不整合、データ損失の原因になることがあります。例えば、ファイルサーバーとして運用中の仮想マシンに対して、1日前のスナップショットを適用したとしましょう。チェックポイント適用直前にアクティブであったファイル共有へのクライアント接続は失われるでしょうし、共有フォルダーからは1日分の新規文書や文書に対する変更が消えてしまいます。

 以下に、Active Directoryのドメインコントローラーやマイクロソフトのサーバーアプリケーションを仮想マシンで動かす場合の考慮事項に関するドキュメントから、チェックポイント(スナップショット)の使用に関する部分を抜粋してみました。いずれも、仮想マシンでの実行はサポートしていますが、チェックポイント(スナップショット)の使用は厳禁とされています。

仮想化ドメインコントローラーの運用に関する考慮事項(TechNet)

https://technet.microsoft.com/ja-JP/library/dd348452(WS.10).aspx

“ドメインコントローラーのスナップショットを取得または使用しないでください。〜(中略)〜更新シーケンス番号(USN)がロールバックされる可能性をできるだけ回避するための推奨事項です。”


Support policy for Microsoft SQL Server products that are running in a hardware virtualization environment(Microsoft Support)

http://support.microsoft.com/kb/956893/

“Virtual machine snapshots that do not use VSS volume snapshots are not supported by SQL Server. Any snapshot technology that does a behind-the-scenes save of a VM’s point-in-time memory, disk, and device state without interacting with applications on the guest using VSS may leave SQL Server in an inconsistent state.”


Hyper-V仮想環境でSharePoint製品とテクノロジを使用する(TechNet)

https://technet.microsoft.com/ja-jp/library/cc816955(v=office.12).aspx

“SharePoint製品とテクノロジによるサーバーファームに接続されている仮想サーバー上では、Hyper-Vスナップショット機能を使用しないでください。これは、タイマサービスと検索アプリケーションがスナップショット処理中に非同期化し、スナップショットの完了後にエラーや不整合が発生する可能性があるためです。”


Microsoft Support Policies and Recommendations for Exchange Servers in Hardware Virtualization Environments(TechNet)

https://technet.microsoft.com/en-US/cc794548(EXCHG.80).aspx

“Virtual disks that use differencing or delta mechanisms(such as Hyper-V's differencing VHDs or snapshots)are not supported. 〜(中略)〜 However, virtual machine snapshots are not application-aware, and using them can have unintended and unexpected consequences for a server application that maintains state data, such as Exchange Server. As a result, making virtual machine snapshots of an Exchange guest virtual machine is not supported.”


 Windows Server 2012以降のActive Directoryドメインドメインコントローラーでは、仮想マシン環境におけるサポート状況が一歩先に進んでいます。Windows Server 2012以降のHyper-Vまたは「仮想マシンの生成ID(VM-Generation ID)」に対応した他社ハイパーバイザー上の仮想マシンで、Windows Server 2012以降のドメインコントローラーを実行する場合は、チェックポイントの使用がサポートされるようになりました。

 これは、ハイパーバイザーが仮想マシンに対して公開する「仮想マシンの生成ID(VM-Generation ID)」の値の変更によって、仮想マシンのゲストOS自身が仮想マシンの状態のロールバックを検出し、回復処理を自動的に行うというセーフガード機能がドメインコントローラーに実装されたからです(画面3)。このセーフガード機能は、仮想マシンに対するチェックポイントの適用、仮想マシンのバックアップからの復元、仮想マシンのインポートまたはクローニングに対応しています。

画面3 画面3 Windows Server 2012以降のドメインコントローラーの場合は、「仮想マシンの生成ID(VM-Generation ID)」の変更から仮想マシンの状態のロールバックを認識し、ディレクトリの問題を自己修復する

 Windows Server 2012以降のドメインコントローラーの仮想化について詳しくは、以下のドキュメントで説明されています。

       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。