Articles

スナップショットだけではバックアップにならない理由

データが危険にさらされているとき、VM スナップショットとバックアップで何ができるかを明確に把握することは非常に重要です。 疑念を払拭するために、スナップショットはバックアップではありません。 これらは、異なるニーズに対応するために設計された2つの異なるプロセスです。

多くのVeeam製品がバックアップの一部としてスナップショットを使用することは事実ですが、スナップショットそれ自体はバックアップではありません。 この論理は、VMware VM スナップショット、Hyper-V チェックポイント、およびストレージ スナップショットにも当てはまります。

スナップショットはどのように機能するのか

簡単に言うと、VM スナップショットは、その時点に戻す可能性を持つ VM のデータ状態を保存する処理です。 スナップショットが取られるとき、VM はパワーオフ、パワーオン、またはサスペンドされることができます。 複数のスナップショットは親子階層で構成されます。

通常、スナップショットはソフトウェアの更新をテストするため、または VM に対する安全ではない操作に使用され、必要に応じて初期状態に戻されます – これをブックマークまたは元に戻すボタンと見なしてください。

VMware スナップショット

VMware VM では、仮想ディスクはデータストア (LUN) に常駐する .vmdk ファイルです。 スナップショットがSnapshot Managerで作成されると、元のディスクは読み取り専用になり、すべての新しいデータの変更が、元のディスクを指す一時的な.vmdkデルタディスクに書き込まれます。 デルタディスクは、スナップショットを取得した瞬間の状態と、仮想ディスクの現在の状態との差分です。 VMwareスナップショットの取得プロセスでは、スナップショットとメタデータ情報(.vmsd)および実行状態情報(.vmsn)という2つの追加ファイルの作成も行われます。 スナップショットが削除(コミット)されると、すべての変更が元の .vmdk ファイルにマージされ、読み取り/書き込みモードに戻ります。

Why snapshots alone are not backups

図 1. VMware vSphere クライアントにおけるスナップショット

vSphere 仮想化環境においてスナップショットを健全に使用するために、VMware はいくつかのベスト プラクティスを提供しています:

  • チェーンで最大 32 のスナップショットを使用しますが、パフォーマンスを向上させるには 2 ~ 3 のスナップショットのみを使用します
  • 24 ~ 72 時間以上スナップショットを稼働させないことです。 サイズが大きくなり、ストレージの容量が足りなくなる可能性があります
  • スナップショットをバックアップとして使用しないでください。 元の仮想ディスクが削除された場合、スナップショットから VM を復元することはできません

Hyper-V チェックポイント

Hyper-V スナップショット (Windows Server 2012 R2 から Hyper-V チェックポイントに改名) では少し事情が異なります。 Hyper-V チェックポイントが Hyper-V Manager で作成されると、実行中の VM は一時停止され、変更を保存するための .avhd(x) 差分ディスクが .xml 構成ファイルのコピーとともに親仮想ディスク (.vhd /.vhdx) と同じフォルダーに作成されます。 元の仮想ディスクは読み取り専用に設定され、VM が実行中の場合、さらに 2 つの関連ファイル – VM 保存状態 (.bin) およびメモリ情報 (.vsv) – が存在し、その後 VM は再開されます。 Hyper-V マネージャーのチェックポイント

Hyper-V チェックポイントに関する Microsoft の推奨事項:

  • Microsoft Exchange Server や Active Directory Domain Services など、時間に敏感なサービスをホストする VM ではスナップショットを使用しない
  • VM 上にスナップショットがある場合は、既存の仮想ストレージは拡張しない
  • Hyper-V Manager で .NET Framework を削除してください
  • Do you want to do it?avhd(x) ファイルを手動で削除するのではなく、Hyper-V マネージャーを使用してスナップショット ツリーから削除してください。 Veeam Backup & Replicationは、Backup from Storage SnapshotsとVeeam Explorer for Storage Snapshotsの両方で、多くのストレージアレイをサポートしています。 ここでもいくつかのポイントがあります。
    • Veeam Explorer for Storage Snapshotsを活用するためのサポート・アレイがあっても、異なるストレージに移動するためのバックアップを取る必要があります。 Veeam Explorer for Storage Snapshotsは、スナップショットを取ったソースアレイからのリカバリーのみの手法です。
    • Storage Snapshotsからのバックアップは、ストレージアレイの力を使ってバックアップを取り、データを別のストレージに移動させる素晴らしい方法です。

    Veeamのエバンジェリストの一人、Rick Vanoverが好んで言う言葉です。 「良いアレイは実際に故障するという、顧客の成功事例という形の証拠しかないのですから、別のストレージにバックアップを取り、3-2-1ルールに従ってください。 実稼働環境ではあまり推奨されません。 しかし、本番環境ではスナップショットが本当に便利なシナリオがあります。 たとえば、OS のアップデートや構成の変更など、システムに害を及ぼす可能性のある危険な操作を行う場合、スナップショットは良いアイデアです。

    なぜスナップショットは本番環境では推奨されないのでしょうか。 主に、データの整合性の理由からです。 スナップショットでは、仮想ハード ディスクのコピーを作成するわけではありません。 VM 仮想ディスクと差分ディスクがあり、VM ディスク ボリュームが破損すると、ベース ディスクにマージすることができないため、スナップショットも消えてしまうということです。 スナップショットでは、ディスクの故障から保護されず、単一障害点が存在することになります。

    もう 1 つの理由は、パフォーマンスに基づいています。 スナップショットは VM のパフォーマンスに影響を与える可能性があります。 これはあまり頻繁に起こることではなく、ある特定の状況でのみ発生しますが、起こる可能性はあります。 たとえば、高負荷の VM を古くなった (したがってサイズが大きくなった) スナップショットで実行すると、特にダイナミック ディスクを使用している場合、それらの VM のパフォーマンスは確実に悪化します。 スナップショット上でVMを長期間稼働させるのはよくある間違いです。スナップショットはソース・ディスクの代わりにすべての変更を吸収するため、サイズが大きくなります。 その結果、コミットにはより長い時間がかかり、マージ処理中に VM を停止させる可能性さえあります。 Veeam Backup & Replication は、バックアップ ジョブの一部としてスナップショットを実際に使用します。 VMware VMスナップショット、Hyper-Vチェックポイント、またはストレージスナップショットを使用することができます。 スナップショットそれ自体はバックアップではありませんが、バックアップ・プロセスの重要な部分として使用することができることに注意することが重要です。 これは、スナップショットがバックアップ・ファイルや複製されたVMへのデータ移動プロセスの一部として使用されるためです。 バックアップ ジョブが完了すると、スナップショットは削除されます。

    Snapshots vs backups

    バックアップは、災害や人的ミスによりオリジナル ファイルが危険にさらされた場合に、それを復元する可能性を与える一貫した VM コピーのことを指します。 スナップショットとは異なり、バックアップは VM から独立しており、簡単にエクスポートしてオフサイト (クラウド、テープ、またはその他のリモート ストレージ) に保存できます。

    Veeam Backup & Replicationは、VSSテクノロジー(ボリューム・シャドウ・コピー・サービス)とアプリケーションを考慮したイメージ処理を活用して、イメージレベルのVMバックアップを作成します。 イメージレベルのVMバックアップは、仮想ディスク、オペレーティング・システム、ソフトウェア・アプリケーションおよびシステム構成ファイルなど、ワークロード全体を保護することを可能にします。 さらに、Veeam Backup & Replicationは、重複排除、圧縮、WANアクセラレーションなど、バックアップ・トラフィックの最適化とバックアップ・ファイルのサイズ縮小のための多数のテクノロジで設計されており、SureBackupでバックアップ回復性をテストする能力を提供します。 また、Veeamは、VMのテストとトラブルシューティングを迅速に行う別の方法として、仮想ラボを提供します。 ここでは、本番環境に影響を与えない分離された仮想環境を作成し、ソフトウェア アップデートのテストやトレーニングの実行など、さまざまな操作を行うことができます。

    私の環境があらゆる種類のスナップショットを許容できない場合はどうしたらよいでしょうか。 バックアップ処理を行う1つの方法として、Veeam Agent for Microsoft Windows または Veeam Agent for Linux を使用する方法があります。 これらの新しい Veeam バックアップ製品では、オペレーティング システム以下のインフラストラクチャ スナップショットをまったく使用しません。

    さらに、Veeam Backup & Replication v10では、Veeam CDP機能がVMware仮想マシン用のレプリケーション・エンジンを提供し、VMwareスナップショットを使用しない予定です。 これは、VM のストレージ パスで動作する I/O Filtering または VAIO の vSphere API を活用しています。

    結論

    VM スナップショットだけを、データを保護し障害時に復元する信頼できる方法としては使用できませんが、迅速なテストとトラブルシューティングのために非常に便利なものです。 さらに、バックアップまたはレプリケーション ジョブを行うための包括的なイベントのシーケンスの一部である場合、VM スナップショットを使用することができます。 ただし、ストレージやパフォーマンスの問題を回避するために、スナップショットの量に注意し、適切に管理することを忘れないでください。 一方、イメージレベルのVMバックアップは、高レベルのアプリケーションとデータ保護を提供し、低いRPOを可能にし、フルVMからアプリケーション項目の復元まで、事実上あらゆる復元シナリオをサポートします