Hyper-Vの注目すべき新機能 動的追加・動的削除
3.プロダクションチェックポイント
チェックポイントは、仮想マシンの現時点の状態を写真に撮るがごとく保存できるとても便利な機能です。仮想化されたメモリ、ハードディスクの恩恵を最大限に受けることのできる機能の1つです。WIN2012のHyper-Vまでは「スナップショット」という名前で呼ばれていたもので、まさに「写真に撮る」という手軽さで、最大50個までさまざまな仮想マシンの状態を保存できます。チェックポイントで取得した保存イメージは、戻す場合も簡単な操作でチェックポイント取得時の状態へすぐに仮想マシンを戻すことが可能です。運用する者にとっても、まさに、vNextの検証時など、サービス開発にはなくてはならないものとなっています。
チェックポイントの仕組みを簡単に説明すると、チェックポイント作成時に差分ファイルとして.avhdxファイルを作成します。チェックポイント作成以後は、.avhdxファイルに変更内容がすべて書き込まれることなります。チェックポイントの作成時に戻したい場合は、作成された差分ファイルの元ファイルに戻って、仮想化マシンを再開するということになります。通常のバックアップと違い、稼働中の仮想マシンに対してチェックポイントを作成した場合には、仮想マシンの構成情報と合わせて、メモリ内容とデバイス情報も保存されるので、チェックポイント取得時に戻した場合は、稼働状態で再開することができるのです。この稼働状態でチェックポイントを再開できるという部分が、チェックポイントの一番便利なところです。
ところが、この一番便利な機能が仮想マシン、特にサーバー用途の仮想マシンにとってはいろいろと不具合の原因となってしまうことがあります。チェックポイントを使って仮想マシンを稼働状態で再開した場合は、仮想マシン内では、タイムマシンに乗っていきなり時間が戻った世界に降り立ったのと同じことが起こります。するとどうなるのでしょうか。まず、仮想マシンの時計が現在時刻とは合いません。さらに、仮想マシンの構成や、メモリ内に展開されている情報やデバイス情報が、チェックポイント取得時の状態に書き換わってしまいます。これらが原因で、正しくアプリケーションにログインできなくなったり、データーの整合性が取れなくなったり、さまざまなエラーの原因になりうるのです。検証段階でのチェックポイントの利用は、とても便利なのでおすすめできる機能なのですが、実運用している仮想マシン、特にサーバー用途の場合には、チェックポイントの利用は避けたいところです。
この問題を解決するために、vNext のHyper-Vには「プロダクションチェックポイント」という新しいチェックポイントの機能が追加されました。プロダクションチェックポイントを取得した場合は、チェックポイントに戻った場合に、稼働状態にいきなり戻ってしまうのを回避するため、チェックポイントからの再開は、すべて初回起動(ブート状態)からの開始となります。プロダクションチェックポイントで取得した情報には、メモリ内の情報やデバイス情報は保持されておらず、ちょうど、チェックポイント取得時に仮想マシンをシャットダウンして、バックアップを取得した状態と同じになります。これによって、チェックポイント時に戻った場合は、通常の仮想マシンの起動手順に従って、アプリケーションが最適化されているので、時刻情報の問題やデーターの不整合などの不具合は、極力回避されることになります。
プロダクションチェックポイントは、ボリュームシャドウコピーサービス(VSS)を元にして提供される機能です。ボリュームシャドウコピーサービス自体は、Windows Server 2003から追加された機能で、オープン中のファイルでも安全に、確実にバックアップを行えます。もともと、Windows Server標準のWindows Serverバックアップは、ボリュームシャドウコピーサービスを利用してHyper-V上の仮想マシンを稼働中であってもバックアップできるようになっていますが、プロダクションチェックポイントは、この機能を応用したものとなります。そのため、プロダクションチェックポイントを利用するためには、統合サービスメニューで「バックアップ(ボリューム シャドウコピー)」を有効にしておく必要があります。
4.スタンダードチェックポイント
仮想マシンの使用用途や、状況によっては、これまでのチェックポイントのように、稼働状態でチェックポイント取得状態に戻したいといった場合もあるはずです。そこはきちんと考えられており、これまでのチェックポイントは「スタンダードチェックポイント」と名前が変更され、取得時に従来のチェックポイント様式の取得も選択できるようになっています。さらに便利なことに「プロダクションチェックポイント」と「スタンダードチェックポイント」は、1つの仮想マシンに対して混在して取得することができます。
サービス開発の最中などでは、チェックポイント機能は最大限活用して効率アップを図っています。何十回も繰り返されるトライ&エラーの繰り返しの開発過程では、1秒でも早く設定を戻したい、違う設定で続きを確認したいなど、赤道直下並にヒートアップしていることが珍しくありません。チェックポイントに戻るたびに毎回仮想マシンの起動からやり直すのは、さらにイライラのヒートアップの原因にもなりかねません。状況に応じて2つのチェックポイントを使い分けできるのは、開発現場では非常に有用です。
チェックポイント機能の強化に伴い、新しい項目として「チェックポイント」メニューが追加されています(これまで仮想マシンの設定メニューには「チェックポイントファイルの場所」という項目だけしかありませんでした)。ただし、仮想マシンが起動中やシャットダウン中、保存状態、また、仮想マシンの統合サービスメニューで「バックアップ(ボリューム シャドウコピー)」を無効にしている場合などは、プロダクションチェックポイントが取得できません。その場合に、自動的にスタンダードチェックポイントに切り替えてチェックポイントを取得できるオプションも用意されています。さらに、主にサーバー用途の仮想マシンに対して不用意にチェックポイントの取得、適用を行ってトラブルの原因となることを回避するために、仮想マシンに対して、すべてのチェックポイントの取得機能自体を、無効にするオプションも追加されました。
なお、「プロダクションチェックポイント」は、vNext のHyper-V上の仮想マシンのバージョンが6.0以上でサポートされており、バージョン5.0の仮想マシンではこれまで通り「スタンダードチェックポイント」のみ取得可能となっています。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Hyper-Vのライブマイグレーションとその他の拡張機能
- Hyper-Vの互換性とシステム運用の課題
- vNext Hyper-Vの注意すべき変更点 仮想マシンの運用
- Windows Server コンテナ始動!
- より速く、より小さく、より軽く、 新基盤 Nano Server (前編)
- Windows Server 2016 Technical Preview 3 で見えたコンテナ技術
- ネットワールド イベント~“新しい”Hyper-Vを使った仮想化基盤の設計/構築ポイントを紹介
- 移行後のAzureならではの運用管理テクニック
- Windows Azure仮想マシンでLinuxサーバーを構築しよう
- 2015年 仮想化プラットフォームの新事情