多くのユーザーは、バックアップとは単にファイルを別のドライブにコピーすることだと考えています。しかし、この「ミラーリング」アプローチでは、いくつかの一般的なリスクから保護することができません。単純なコピーでは、ドライブを誤ってフォーマットしたり、データを上書きするスクリプトを実行したりといった人的ミスを防ぐことはできません。また、ハードドライブ上の磁性粒子の移動や、SSDのNANDトランジスタからの経時的な漏電によって引き起こされるデータの緩やかな破損である「ビットロット」も考慮されていません。これらに対処するためには、信頼性の高いシステムは、データが単にコピーされるだけでなく、元のソースが侵害されたり破損したりした場合でも復元可能な状態で保存されることを保証しなければなりません。

効果的なデータ保護は、スナップショットと目標復旧時点(RPO)という概念に依存しています。ディスクの現在の状態のみを表示するミラーリングとは異なり、スナップショットを使用すると、ユーザーは以前の状態へと「時間を遡る」ことができます。これは、誤操作による削除などのミスから回復するために極めて重要です。しかし、頻繁なスナップショットは大きなストレージの負担を生みます。これを管理するために、システムはGrandfather-Father-Son(GFS)ローテーションを使用できます。これは、現在に近いほどスナップショットの頻度を高くする手法です(例:14日間保存する日次バックアップ、7週間保存する週次バックアップ、1年間保存する月次バックアップ)。さらにストレージと帯域幅を最適化するために、システムは増分バックアップと重複排除を使用できます。すべてのファイルの同一コピーを保存する代わりに、これらの手法はスナップショット間の変更のみを保存し、ハードリンクを介して既存のファイルを参照します。このアプローチは、rsnapshotのようなツールで使用され、ストレージを節約し、別のマシンやクラウドサービスにファイルを転送する際に必要な帯域幅を削減します。

これらの最適化にもかかわらず、カスタムのバックアップソリューションを構築するには、データベースの一貫性の維持やクラウド固有の制限への対応など、大きな技術的ハードルが伴います。例えば、データベースはデータをバッチでディスクに書き出すことがあるため、不適切なミリ秒で取得されたスナップショットは破損したデータをもたらす可能性があります。一貫性を確保するには、スナップショットプロセス中にすべてのI/Oを「フリーズ」させる必要があることがよくあります。さらに、Amazon S3のようなクラウドプロバイダーは、多数の小さなファイルをアップロードする際に高いコストを課したり、重要なファイルメタデータを削除したりする場合があります。これらの複雑さを考慮し、著者はBorgやResticのような確立されたツールの使用を推奨します。これらのツールは、暗号化、チャンクレベルの重複排除、チェックサムを処理することで、これらの困難を抽象化して解決します。最終的に、バックアップは正常に復元できる場合にのみ機能するため、定期的な検証済みの復元訓練が、あらゆるデータ保護戦略における最後の不可欠なステップとなります。