バックアップの概要

このページでは、バックアップの概要、仕組み、一般的なユースケース、バックアップを作成して使用する際のベスト プラクティスについて説明します。バックアップの作成と管理、バックアップから Filestore インスタンスを復元する方法については、ファイル共有のバックアップと復元をご覧ください。

バックアップとは

Filestore バックアップは、バックアップ作成時点からのファイル共有のすべてのファイルデータとメタデータを含むファイル共有のコピーです。ベーシック HDD とベーシック SSD の階層インスタンスで機能します。ファイル共有のバックアップが作成されると、元のファイル共有を変更または削除できます。バックアップには影響しません。ファイル共有は、バックアップから新しい Filestore インスタンスとして、または既存のファイル共有に完全に復元できます。

バックアップは、作成時にユーザーが指定したリージョン内に残るリージョン リソースです。Filestore インスタンスと同じリージョン、またはリージョン間の冗長性確保のために別のリージョンにバックアップを作成できます。バックアップはグローバル アドレスに対応しており、任意の GCP リージョンにファイル共有を復元するために使用できますが、プロジェクト間で共有することはできません。

バックアップの作成

リージョン内のバックアップは、以前のバックアップに追加する形で作成されます。つまり、最初に作成したバックアップはファイル共有の完全なコピーですが、その後のバックアップには、前回のバックアップに含まれていない新規データまたは変更されたデータのみが含まれます。以前のバックアップに含まれる未変更データは、新しいバックアップで参照されますが、コピーされません。古いバックアップが削除されると、その特異データが次の最新バックアップにコピーされ、すべての内部データ参照が自動的に更新されます。

バックアップの作成は瞬時に行われますが、バックアップが使用可能になる前にコピーされるデータ量に比例する時間を要します。この間に、バックアップは次の 3 つの状態を遷移します。

状態 期間 説明
作成中 数秒 ファイル共有データの新しい変更は、バックアップに追加される場合もあれば、追加されない場合もあります。バックアップが開始される前にインスタンスによって承認された安定した書き込みは追加されます。
最終処理中 サイズに依存 ファイル共有データの新しい変更は、バックアップに追加されません。
準備完了 バックアップが削除されるまで バックアップを使用する準備が完了しています。

バックアップを作成すると、バックアップは、コストの削減のために自動的に圧縮されます。バックアップを作成しても、Filestore インスタンスの可用性やパフォーマンスには影響しません。

バックアップの整合性

Filestore バックアップには、NFSv3 整合性セマンティクスがあります。バックアップが開始される前に、Filestore インスタンスが安定したストレージに書き込まれたものと認識した書き込み、または後に確認済みの COMMIT が続く書き込みは、バックアップに追加されます。詳細については、NFSv3 RFC-1813 のセクション 3.3.7 をご覧ください。

一般的なユースケース

障害復旧用のデータのバックアップ

たとえば、us-west1-c に Filestore インスタンスがあり、このリージョンに災害が発生した場合にデータを保護する必要があるとします。このインスタンスのバックアップを定期的に遠隔のリージョン(たとえば、us- east1)に作成するジョブのスケジュールを設定できます。us-west1-c に災害が発生した場合、以前のバックアップから別のロケーションに新しいインスタンスを作成できます。

不注意による変更を防ぐためのデータのバックアップ

Filestore インスタンスのデータを意図しない変更から保護する場合は、インスタンスと同じリージョン内にインスタンスのバックアップを定期的に作成するジョブのスケジュールを設定できます。データが失われた場合は、バックアップのリストを探して、必要なファイルのバージョンのバックアップを特定し、そのバックアップから新しい Filestore インスタンスを作成して、元のインスタンスと同じクライアントにマウントしてから、ファイルを再度コピーできます。

また、2 つのマウント ポイントで diff コマンドを使用して、元のインスタンスのデータとバックアップから復元されたデータの違いを確認することもできます。データを復元したら、復元したインスタンスを削除できます。バックアップは将来の使用のために保持されます。

または、バックアップ データが元の Filestore インスタンスに直接復元されるインプレース復元を実行して、すべてのデータをバックアップのデータに置き換えることができます。バックアップしていないデータが失われるため、インプレース復元を行う前に最新データのバックアップを作成することをおすすめします。

開発およびテスト用クローンの作成

本番環境のトラフィックを処理する Filestore インスタンスにデータベースが設定されているとします。データベースを入力として使用してテストを実施する場合は、テスト用の本番環境インスタンスのバックアップから新しい Filestore インスタンスを作成できます。このように、テストを実施しても、本番環境には影響が及びません。

同様に、本番環境に影響を与えることなく、バックアップを使用してオフライン分析と調査を行うことができます。

データの移行

Filestore インスタンスを作成したら、そのロケーションやサービス階層は変更できません。データを別のリージョンに移行する必要がある場合は、そのバックアップを作成し、そのバックアップを使用して必要なリージョンに新しい Filestore インスタンスを作成するか、既存のインスタンスに復元できます。

また、バックアップから新しい Filestore インスタンスを作成する場合、ソース インスタンスの階層に関係なく、ベーシック HDD かベーシック SDD の階層を選択できます。

ベスト プラクティス

最適なバックアップ整合性を確保するため、ファイル共有を準備する

バックアップの品質は、大量の書き込みワークロード中に作成されたバックアップから復元するアプリケーションの能力によって決まります。ほとんどの場合、アプリケーションがファイル共有にデータを書き込んでいる間でも、優れた整合性を持つバックアップを作成できます。ただし、アプリケーションで厳密な整合性が求められる場合は、次のうち 1 つ以上を行うことをおすすめします。

  • sync マウントを使用する。詳細については、nfs(5) の「同期マウント オプション」をご覧ください。または、O_DIRECT\O_SYNC フラグを使用してファイルを開くこともできます。詳細については、open(2) をご覧ください。
  • ファイル共有にデータを書き込むアプリケーションまたはオペレーティング システム プロセスを一時停止し、バックアップを開始する前にファイル共有に対する変更をフラッシュする。詳細については、fsync(2) をご覧ください。
  • アプリケーションで複数の共有間の整合性が求められる場合は、すべてのアプリケーションに書き込む全インスタンスの全アプリケーションを一時停止し、すべてのファイル共有のバックアップを作成してから、アプリケーションを再開する。
  • アプリケーション レベルの整合性が必要な場合は、バックアップを作成する前に、アプリケーションを停止して、ファイル共有のマウントを解除する。

既存のバックアップを新しいバックアップのベースラインとして使用して、バックアップの作成時間を短縮する

あるファイル共有の既存バックアップが存在するリージョンにそのファイル共有のバックアップを作成する場合、既存のバックアップが新しいバックアップを作成するためのベースラインとして使用されます。つまり、既存のバックアップが存在しない場合よりも迅速に新しいバックアップを作成できます。そのため、次の手順を行うことをおすすめします。

  • ファイル共有の新しいバックアップを作成してから、そのファイル共有の以前のバックアップを削除する。
  • 新しいバックアップが Ready 状態になるまで待ってから、同じファイル共有の後続のバックアップを作成します。

バックアップの作成時間を短縮するために、オフピーク時にバックアップのスケジュールを設定する

オフピーク時にバックアップを作成すると、バックアップの作成に要する時間が短縮されます。ファイル共有の定期的なバックアップのスケジュールを設定する場合は、可能な限りオフピーク時にスケジュール設定することをおすすめします。

バックアップ作成のピーク時間帯は、各営業日の終了時と、Filestore インスタンスが配置されているリージョンの午前 0 時です。早朝または営業時間中にバックアップを作成することをおすすめします。

効率を最大限高めるために、個別の Filestore インスタンスでデータを整理する

バックアップでは、ファイル共有上のすべてのファイルデータとメタデータがコピーされます。ファイル共有のデータが多いほど、バックアップのサイズが大きくなり、コストも増大します。バックアップする必要があるデータのみをバックアップできるよう、データを別のファイル共有に整理することをおすすめします。このためには、以下を行います。

  • 書き込みパターンごと、またはバックアップ要件ごとに、異なるファイル共有に重要データを保存する。
  • 1 つのファイル共有に類似のデータを保存することで、作成する必要のあるバックアップの数を減らす。

次のステップ