増分バックアップ
表示
増分バックアップ(ぞうぶんバックアップ、インクリメンタルバックアップ、英: Incremental backup)は、バックアップ手法の一種である。(最新のものだけでなく)複数のバックアップを保持する。ここでは類似するバックアップ手法についても解説する。
概要
[編集]増分と呼ばれるのは、更新された情報のバックアップが常に1つしか存在しないためであり、ある時点のバックアップにはその直前のバックアップから変更された部分しか含まれない。
バックアップ手法としては、非常に効率がよく、大きさSの情報の塊がN回(バックアップ回数)コピーされて記録されているかのように見せることができ、その場合でも必要な記憶容量はN×Sよりもずっと小さい。ある時点のバックアップから次の時点のバックアップまで変更がない場合、理論的には記憶容量も変化しない。毎回ほとんど全体が変更される場合、限界値であるN×Sに近づいていく。
種類
[編集]- 増分バックアップ(Incremental Backup)
- 前回のバックアップから変更のあった部分だけをバックアップする一般的な増分バックアップ。最初のバックアップのときだけファイル全体をバックアップする。例えば、金曜日に完全バックアップをとった場合、月曜日のバックアップには金曜日から変更されたファイルだけが含まれる。そして、火曜日のバックアップは月曜日から変更された部分だけ、というようになる。この方式の欠点は、ある時点の状態に完全にリストアしようとすると、最も新しい完全バックアップとそれ以降の増分バックアップを順次(正しい順序で)リストアしていかなければならない点である。それらバックアップファイルの1つでも壊れると(特に完全バックアップが壊れると)、リストアが不完全になる。MS-DOSでの増分バックアップをコマンドで表すと、xcopy c:\source\*.* d:\destination\*.* /s /m となる。
- macOSのTime Machineのようにハードリンクを利用して全てのバックアップ先に見かけ上全てのバックアップ対象ファイルが含まれるようにしたバックアップソフトもある。
- 差分バックアップ(Differential Backup)
- 最も新しい完全バックアップ以降の全ての変更を毎回バックアップする方式。その利点は増分バックアップに比べてリストア(復旧)が素早くなる点であり、完全バックアップと1つの差分バックアップがあればよい。欠点は、完全バックアップから日が経つにつれて、日々のバックアップすべき量が増えていく点である。
- マルチレベル増分バックアップ(Multilevel Incremental Backup)
- 増分バックアップと差分バックアップを組み合わせた方式で、「バックアップレベル」を設定してバックアップを行う。完全バックアップはレベル0である。レベルnバックアップでは、最も新しいレベルn-1バックアップからの全ての変更をバックアップする。例えば、レベル0バックアップを日曜日に取り、レベル1バックアップを月曜に取る場合、日曜日からの変更部分がバックアップされる。火曜日にレベル2バックアップを取る場合、月曜日からの変更をバックアップする。水曜日にレベル3バックアップを取る場合、火曜日からの変更をバックアップする。木曜日に「レベル2」バックアップを取る場合、レベルn-1バックアップは月曜日のバックアップなので、月曜日以降の全ての変更をバックアップする。
- 逆増分バックアップ(Reverse Incremental Backup)
- ミラーされた2つのインスタンス間で変更部分を増分バックアップすること。逆増分バックアップをミラーに適用すると、ミラーの前のバージョンを得ることができる。
- 合成完全バックアップ(Synthetic Full Backup)
- 合成バックアップは、バックアップを管理する専用コンピュータを使った増分バックアップの一種。バックアップサーバは通常の増分バックアップを記録し、それ以前のバックアップ群と組み合わせて合成バックアップを生成する。この新たに合成されたバックアップは完全バックアップと区別がつかず、高速なリストアなどといった利点も持つ。
- 無限増分(Incrementals Forever)
- 合成バックアップと類似した概念。最初の完全バックアップ後、増分バックアップだけをバックアップサーバに送っていく。このサーバは全増分を保持し、リストア時には適切なデータを送る。例えば増分を順次テープに記録し、必要に応じてテープを整理するといった実装がある。ハードディスクに十分な余裕があれば、オンラインのミラーを以前の増分バックアップから構築し、リストアに利用することもできる。