Windows 永続ディスク スナップショットの作成

Compute Engine には、永続ディスクのデータをバックアップする際に使用できる増分スナップショット機能があります。スナップショットは増分であるため、完全な永続ディスク イメージを作成する場合と比較して、パフォーマンスが向上し、ストレージ料金の合計額が低くなります。スナップショットはバックアップとアーカイブの目的に使用されます。

Windows Server を使用してインスタンスまたはインスタンス テンプレート用にカスタマイズされた Windows Server イメージを作成できるように Windows Server を構成する方法については、Windows Server イメージの作成をご覧ください。

始める前に

Windows VSS スナップショットの作成

Windows インスタンスに接続された永続ディスクのスナップショットを作成するには、ボリューム シャドーコピー サービス(VSS)を使用してスナップショットを取るのが通常は最も簡単な方法です。インスタンスを停止したり、永続ディスクを取り外したりすることなく VSS スナップショットを作成できるからです。

VSS スナップショットは、VSS 対応アプリケーションがインストールされているシステムでのバックアップおよびリカバリを目的としています。VSS スナップショットは、永続ディスクからデータをバックアップする場合にのみ使用してください。実行中のインスタンスのスナップショットから VM インスタンス ブートディスクを作成する操作は、信頼性がありません。

VSS スナップショットは通常の永続ディスクのスナップショットと同じ価格であり、スナップショットの合計サイズに対してのみ請求されます。

制限事項

  • VSS スナップショットは、イメージ バージョンが v20160810 以降の Windows インスタンスでのみ動作します。インスタンスのイメージがそれより古い場合は、通常のスナップショットを作成してください。
  • 永続ディスクは、NTFS、exFAT、または ReFS のファイル システムを使用する必要があります。
  • VSS スナップショットは、永続ブートディスクのオペレーティング システムのコピーまたはバックアップに使用するためのものではありません。VSS スナップショットは、永続ブートディスクとセカンダリ データディスクのデータのバックアップと復元にのみ使用できます。
  • VSS スナップショットを作成すると、Windows Server により VSS プロセス中にスナップショットのボリュームが読み取り専用としてマークされます。また、VSS スナップショットから作成するディスクはすべて読み取り専用モードになります。
  • VSS スナップショットがデータの保存に役立つのは、一貫性のあるデータ バックアップを作成するために調整可能な VSS 対応アプリケーションを実行している場合だけです。

スナップショットの作成

Console

  1. [スナップショットの作成] ページに移動します。
  2. スナップショットの [名前] を入力します。
  3. 必要に応じて、スナップショットの [説明] を入力します。
  4. [ソースディスク] で、スナップショットを作成する既存のディスクを選択します。
  5. デフォルトのスナップショットのストレージ ロケーションを使用する場合は、この手順をスキップします。それ以外の場合は、デフォルト以外のストレージ ロケーションを使用します。

    は、

    1. [ロケーション] で、スナップショットを [マルチリージョン] ロケーションに保存するか、[リージョン] ロケーションに保存するかを選択します。
    2. 使用する特定のリージョンまたはマルチリージョンを選択します。ソースディスクに最も近いリージョンまたはマルチリージョンを使用するには、[ディスクの場所に基づく] を選択します。
  6. [VSS を有効化] オプションをオンにして、このスナップショットでボリューム シャドーコピー サービスが使用されるように指定します。

  7. [作成] をクリックしてスナップショットを作成します。

gcloud

スナップショットを作成する際は、--guest-flush フラグを指定して VSS スナップショットを作成するように指示します。リージョン永続ディスクのスナップショットを作成する場合は、--region フラグも指定する必要があります。

  • ゾーン永続ディスクの VSS スナップショットを作成するには、gcloud compute disks snapshot コマンドを使用します。

    gcloud compute disks snapshot [DISK_NAME] --guest-flush
    

    [DISK_NAME] は、スナップショットを作成するゾーン永続ディスクの名前です。

  • リージョン永続ディスクの VSS スナップショットを作成するには、gcloud beta compute disks snapshot コマンドを使用します。

    は、

    gcloud beta compute disks snapshot [DISK_NAME] --guest-flush --region [REGION]
    

    ここで:

    • [DISK_NAME] は、スナップショットを作成するリージョン永続ディスクの名前です。
    • [REGION] は、リージョン永続ディスクが配置されているリージョンです。

    gcloud コマンドライン ツールは、オペレーションから READY または FAILED のステータスが返されるまで待機するか、最大タイムアウトに達した場合はスナップショットの直近の既知の詳細を返します。

API

スナップショットを作成する際は、?guestFlush=true パラメータを指定して VSS スナップショットを作成するように指示します。

  • ゾーン永続ディスクの VSS スナップショットを作成するには、compute.disks.createSnapshot メソッドに対して POST リクエストを発行します。

    POST  https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/createSnapshot?guestFlush=true
    

    ここで:

    • [PROJECT_ID] は、プロジェクト ID です。
    • [ZONE] は、ゾーン永続ディスクが配置されているゾーンです。
    • [DISK_NAME] は、VSS スナップショットを作成するゾーン永続ディスクの名前です。
  • リージョン永続ディスクの VSS スナップショットを作成するには、compute.regionDisk.createSnapshot メソッドに対して POST リクエストを発行します。

    は、

    POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK_NAME]/createSnapshot?guestFlush=true
    

    ここで:

    • [PROJECT_ID] は、プロジェクト ID です。
    • [REGION] は、リージョン永続ディスクが配置されているリージョンです。
    • [DISK_NAME] は、VSS スナップショットを作成するリージョン永続ディスクの名前です。

新しい永続ディスクを作成するために使用できる、永続ディスクのスナップショットが作成されました。

通常のスナップショットの作成

標準のスナップショット システムを使用して、Windows インスタンスに接続されたディスクのスナップショットを作成する必要が生じることがあります。

スナップショットを作成するには、次の操作を行う必要があります。

  1. ファイル システムのマウント解除
  2. スナップショットの作成
  3. ディスクの再マウント

ファイル システムのマウント解除

永続ディスクのスナップショットを作成する前に、取得するスナップショットが希望する永続ディスクの状態と一致していることを確認します。永続ディスクが「クリーンでない」状態でスナップショットを取ると、ディスク チェックが強制的に行われ、場合によってはデータを損失する可能性があります。次の指示に沿って、Windows インスタンスのディスク バッファをクリアします。

  1. Windows インスタンスにログインします。

  2. PowerShell コマンド プロンプトを開き、diskpart ツールを実行します。

    PS C:\\> diskpart
    
  3. マウントを解除してスナップショットを作成するディスクを特定します。

    PS C:\\> list disk
    
  4. 次に、確認したディスク番号を使用してディスクを選択します。

    DISKPART> select disk [DISK_NUMBER]
    

    ここで、[DISK_NUMBER] は再マウントするディスクです。

  5. 最後に、ディスクのマウントを解除します。

    DISKPART> offline disk
    

アプリケーションがディスクにデータの書き込みを行っているなど、永続ディスクのマウント解除ができない場合は、ファイル システムを同期してディスク バッファをフラッシュできます。ファイル システムを同期するには次のようにします。

  1. Windows インスタンスにログインします。
  2. 同期ツールをダウンロードし、インストールします。
  3. アプリケーションの永続ディスクへの書き込みを停止します。
  4. コマンド プロンプトのアイコンを右クリックし、[管理者として実行] を選択してコマンド プロンプトを管理者として実行します。
  5. コマンドライン ターミナルで、以下を実行します。

    PS C:\\> sync [DRIVE_LETTER]
    

    ここで、[DRIVE_LETTER] は同期するボリュームのドライブ文字です。たとえば、F:\` or G:` です。

スナップショットの作成

  1. 永続ディスクのスナップショットを作成する手順に従います。

  2. スナップショットを作成したら、永続ディスクを再マウントします。

ディスクの再マウント

ディスクを再マウントし、読み取り / 書き込み可能なディスクとしてマークします。

  1. Windows インスタンスにログインします。

  2. PowerShell コマンド プロンプトを開き、diskpart ツールを実行します。

    PS C:\\> diskpart
    
  3. 再マウントするディスクを特定します。

    DISKPART> list disk
    
  4. select disk コマンドを使用して、ディスクを再選択します。

    DISKPART> select disk [DISK_NUMBER]
    

    ここで、[DISK_NUMBER] は再マウントするディスクです。

  5. ディスクを再マウントします。

    DISKPART> online disk
    

ディスクを再マウントした後、ディスクから読み取り専用フラグを削除します。

  1. Windows インスタンスで、diskpart コマンドライン ツールを使用してオフライン ディスクを選択します。

    DISKPART> select disk [DISK_NUMBER]
    

    ここで、[DISK_NUMBER] は再マウントするディスクです。

  2. ディスクをオンラインにします。

    DISKPART> online disk
    
  3. ディスク内のすべてのボリュームを一覧表示します。

    DISKPART> list volume
    
  4. 新しいボリュームを選択します。

    DISKPART> select volume [VOLUME_NUMBER]
    

    ここで、[VOLUME_NUMBER] は読み取り / 書き込み可能に構成する必要があるボリュームです。

  5. ボリューム属性を確認します。

    DISKPART> attr volume clear readonly hidden nodefaultdriveletter shadowcopy
    
  6. diskpart ツールを終了します。

    DISKPART> exit
    
  7. ディスクが別のインスタンスのブートディスクである場合は、ブートディスク ファイルを新しいディスク署名と同期します。

    PS C:\\> bcdboot [DRIVE_LETTER]Windows /s [DRIVE_LETTER]
    

    ここで、[DRIVE_LETTER] は同期するボリュームのドライブ文字です。たとえば、F:\` or G:` です。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Compute Engine ドキュメント