rsyncだけで実現する!ファイルのバックアップ手法6選 【バックアップ基礎知識編】

ハードディスクのイメージ

ファイルのバックアップは、サーバー(もちろんクライアントPCでも)を運用するうえで必要不可欠なものです。Linux環境で使えるバックアップツールは様々なものがありますが、そのなかでもrsyncは汎用性が高く、広く使われています。

この記事では、rsyncを使ってバックアップをする方法を紹介する前に、rsyncとバックアップに関する基礎知識をまとめてみました。

実際にrsyncを使ってバックアップをとるコマンド例は、rsyncだけで実現する!ファイルのバックアップ手法6選 【コマンド例編】でまとめています。

rsyncの特徴

  • 使い方次第で、同期・増分・差分など、様々な方法でバックアップを取ることが可能
  • ネットワーク経由での遠隔地バックアップが可能
  • ネットワーク経由でのデータ転送時にファイルを圧縮して、帯域の節約が可能
  • デーモン(daemon)として起動することでバックグラウンド動作が可能
  • もちろんcronで定期的に自動バックアップも可能

用途別の様々なバックアップ手法

rsyncの使い方を紹介する前に、バックアップ手法についておさらいしておきます。

フルバックアップ

バックアップの度に、バックアップ対象のファイルやディレクトリを全てバックアップ先にコピーする方法です。最も基本的なバックアップ手法ですが、後述するデメリットから、他の手法と組み合わせて利用されることも多いです。

メリット

  • バックアップからのリストアが速い

デメリット

  • 毎回全てのファイルをバックアップするので、データ転送量が多くなる(=バックアップに時間がかかる)
  • バックアップの世代管理※1現在あるファイルのバックアップに加えて、過去のバックアップも保持しておくバックアップの管理方法をするとディスク使用量が膨大になる

ミラーリング(同期)

バックアップ対象のファイルやディレクトリとバックアップ先を完全に同じ状態に保ちます。ミラーリングはバックアップとは少し違いますが、バックアップにも利用できます。

メリットデメリットはフルバックアップと同じです。

増分バックアップ(インクリメンタルバックアップ)増分バックアップのイメージ

前回のバックアップから変更があった部分だけをバックアップします。初回のバックアップはフルバックアップが行われます。基本的には世代管理とセットで使われます。

メリット

  • 変更があった部分だけをバックアップするので、データ転送量が最も少ない(=バックアップにかかる時間が少ない)
  • バックアップの世代管理をしてもディスク使用量が最小で済む

デメリット

  • バックアップからのリストアに時間が掛かる(図の例だと、A + B + C をリストアしないと最新の状態に復元できない。ただしバックアップソフトの実装によっては解消可能。)
  • 増分バックアップファイルが1つでも壊れると、前回のフルバックアップ以降の状態への復元が不完全になる(図の例だと、BかCのどちらかが失われた時点で最新の状態に復元できなくなる)

逆増分バックアップ逆増分バックアップのイメージ

少し特殊なバックアップ方法です。あまり馴染みがないかもしれません。

ミラーリングによって最新のバックアップを常に1つだけ持っておきます。それに加えて、最新の状態をミラーリングすることで消えてしまうデータ(=前回バックアップした時点以降に削除されたり変更されたりしたファイル)を前回のミラーからバックアップします。

メリット

  • バックアップソフトの実装によってはデータ転送量が最も少ない(rsyncではミラーリングの際、変更のあったファイルだけを転送し、変更されていないファイルは前のミラーを流用することができる)
  • バックアップの世代管理をしてもディスク使用量が最小で済む
  • ファイルの変更履歴が分かりやすい(図の例だと、A´とB´のファイルを見れば分かる)
  • 最新のバックアップへのリストアは速い

デメリット

  • バックアップからの過去時点へのリストアは時間が掛かる(図の例だと、1回目の状態に復元する場合、C + B´ + A´ をリストアしなければいけない)
  • 逆増分バックアップファイルが1つでも壊れると、壊れた部分の以前の状態への復元が不完全になる(図の例だと、A´かB´のどちらかが失われた時点で1回目の状態に復元できなくなる)

差分バックアップ差分バックアップのイメージ

前回のフルバックアップから変更のあった部分だけをバックアップします。初回のバックアップはもちろんフルバックアップが行われます。世代管理とセットで使われます。

メリット

  • 前回のフルバックアップからの変更があった部分だけをバックアップするので、フルバックアップよりはデータ転送量が少ない(=バックアップにかかる時間が少ない)
  • バックアップの世代管理をしてもディスク使用量がフルバックアップよりは少ない
各バックアップ手法の比較

特に増分バックアップと差分バックアップは、違いが分かりづらいと思います。各バックアップ手法を簡単に比較すると以下のようになります。

各バックアップ手法ごとに得意不得意があります。実際に使う手法を選ぶ際は、どの要素を優先するかがカギになるかと思います。

 

データ転送量の少なさ      :増分 > 差分 > フル

ディスク使用量の少なさ     :増分 > 差分 > フル

リストアにかかる時間の少なさ  :フル > 差分 > 増分

バックアップデータの可用性の高さ:フル > 差分 > 増分

まとめ

ファイルのバックアップ手法には様々なものがあることをおさらいしました。次の記事では、実際にこれらのバックアップ手法をrsyncで実現する方法をまとめていきます。

続き:rsyncだけで実現する!ファイルのバックアップ手法6選 【コマンド例編】

脚注   [ + ]

1. 現在あるファイルのバックアップに加えて、過去のバックアップも保持しておくバックアップの管理方法

あわせて読みたい

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です