基本情報のバックアップ問題|方式の違いと復旧の考え方を解説

公開日: 2026-09-26

差分バックアップと増分バックアップ、どっちがどっちだっけ。

名前が似ていて、問題を見るたびに迷っていませんか?

バックアップは、基本情報技術者試験のセキュリティやシステム運用の分野で繰り返し出てくるテーマです。言葉だけ覚えていると、選択肢の言い回しが変わった瞬間に自信がなくなります。

でも安心してください。バックアップの問題は、何をいつコピーしたのかを時間の順に並べるだけで解けます。暗記というより、整理の問題です。

私はエンジニアとして10年以上、Webシステムの開発や運用に携わってきました。障害対応の現場で、バックアップはあったのに戻せなかった、という話を何度も聞いてきました。

取ることより戻せることの方が大事だ、というのが現場での実感です。この記事でも、方式の違いに加えて、復旧のときに何が必要になるかを中心に見ていきます。

基本情報のバックアップとは?目的は元に戻せること

最初に、バックアップという言葉の意味を確認しておきましょう。バックアップとは、データの複製を別の場所に保存しておき、失われたときに元へ戻せるようにしておくことです。

ここで大切なのは、目的が複製を作ることではなく、失ったデータを元に戻すことだという点です。試験の選択肢も、この目的に照らすと正誤がはっきりします。

データが失われる原因はさまざまです。代表的なものを表にしてみました。

原因 具体例 バックアップで戻せるか
機器の故障 ハードディスクが壊れる 別の媒体に取っていれば戻せる
人のミス 必要なファイルを誤って削除する 削除前のバックアップから戻せる
マルウェア ランサムウェアでファイルが暗号化される 感染していないバックアップなら戻せる
災害 火災や地震で建物ごと被害を受ける 遠隔地に保管していれば戻せる

表の右の列を見ると、どれも条件付きで戻せると書いてあります。取っただけでは足りず、どこに、どの時点のものを置いていたかで結果が変わるわけです。

RAIDとバックアップは別物

よくある勘違いに、RAIDを組んでいるからバックアップは不要、というものがあります。RAIDは複数のディスクを組み合わせて、1台が壊れても止まらないようにする仕組みです。

ただし、RAIDは書き込みもそのまま全ディスクに反映します。誤って消したファイルや、暗号化されたファイルも一緒に複製されてしまうので、過去の状態には戻せません。

試験でも、止まらないことを目指す仕組みと、元に戻すための仕組みを区別させる問題が出ます。可用性を高めるのがRAID、過去に戻れるのがバックアップ、と分けて覚えておきましょう。

フル・差分・増分バックアップの違い

ここからが本題です。バックアップの方式は大きく3つあり、違いはどこからの変更をコピーするかにあります。

まずは3つを並べて比べてみましょう。試験で問われるポイントは、ほぼこの表に収まっています。

方式 何をコピーするか 取る時間・容量 復旧に必要なもの
フルバックアップ すべてのデータ 最も多い そのフル1つだけ
差分バックアップ 直前のフル以降に変わった分 日を追うごとに増える フル+最新の差分1つ
増分バックアップ 直前のバックアップ以降に変わった分 毎回少ない フル+それ以降の増分すべて

違いが一番出るのは、何からの変更かという部分です。差分はいつもフルを基準にし、増分は直前のバックアップを基準にします。

差分は取るのが重く、戻すのが軽い

差分バックアップは、毎回フルからの変更をまとめて取ります。月曜にフルを取ったなら、火曜の差分には火曜の変更、水曜の差分には火曜と水曜の変更が入ります。

日を追うごとに差分は大きくなりますが、戻すときは楽です。フルと、最後の差分の2つだけあれば元に戻せます。

増分は取るのが軽く、戻すのが重い

増分バックアップは、前回のバックアップからの変更だけを取ります。水曜の増分には水曜の変更しか入らないので、毎回の作業は短く済みます。

その代わり、戻すときはフルに加えて、そこから先の増分を順番に全部当てる必要があります。途中の1つでも欠けると、それ以降は正しく戻せません。

ここが試験の定番です。取る負担と戻す負担が逆の関係になっている、と押さえておきましょう。

復旧に使うバックアップの数を数えてみよう

方式の違いを理解したら、実際に数えてみます。試験では、何曜日に障害が起きたとき、どのバックアップが必要かを問う形がよく出ます。

次のような運用を考えてみましょう。日曜にフルを取り、月曜から土曜まで毎日1回ずつ差分か増分を取るとします。

曜日 差分方式で取る中身 増分方式で取る中身
日 フル フル
月 月の変更 月の変更
火 月〜火の変更 火の変更
水 月〜水の変更 水の変更
木 月〜木の変更 木の変更

木曜のバックアップを取った直後に障害が起きたとします。差分方式なら、日曜のフルと木曜の差分の2つで戻せます。

増分方式では、日曜のフルに月・火・水・木の増分を順に当てるので、5つ必要です。取るときは増分方式の方が軽かったのに、戻すときは逆転しているのが分かりますね。

擬似言語で必要な数を数える

この数え方は、手順にすると単純です。せっかくなので、擬似言語で書いて追ってみましょう。

配列 kinds には、日曜から順に取ったバックアップの種類が入っています。F はフル、D は差分、I は増分を表します。

○整数型: countRestore(文字列型の配列: kinds, 整数型: last)
  整数型: i, need
  need ← 0
  for (i を last から 1 まで 1 ずつ減らす)
    if (kinds[i] が "F" と等しい)
      need ← need + 1
      return need
    elseif (kinds[i] が "D" と等しい)
      if (need が 0 と等しい)
        need ← need + 1
      endif
    else
      need ← need + 1
    endif
  endfor
  return need

last は障害の直前に取ったバックアップの位置で、配列の要素番号は1から始まります。新しい方から古い方へさかのぼり、フルに当たったところで数え終わります。

差分は最新の1つだけが必要なので、まだ何も数えていないときにだけ数えます。増分は途中のものも全部必要なので、見つけるたびに数えます。

トレース表で変数を追う

増分方式の場合を追ってみます。kinds が F, I, I, I, I で、last が5のときです。

i kinds[i] 通った分岐 need
5 I else 1
4 I else 2
3 I else 3
2 I else 4
1 F if 5 で return

結果は5で、先ほど手で数えた数と一致しました。差分方式で kinds が F, D, D, D, D なら、最初の D で need が1になり、あとはフルで2になって終わります。

この関数は、フルのあとに差分だけ、または増分だけを取る運用を想定しています。まずはこの2つの運用で数え方を身につけておけば、組み合わせた運用の問題に出会っても、新しい方からさかのぼるという同じ考え方で落ち着いて整理できます。

こうして手順に直すと、差分と増分の違いが一行の条件の違いだと分かります。変数の追い方に慣れていない人は、トレース表の書き方をまとめたこちらの記事が役に立ちます。

【関連記事】擬似言語のトレース表の書き方|科目Bで変数の値を追う手順を解説

試験で押さえたい周辺の考え方

方式の違いが分かったら、周辺の用語も一緒に整理しておきましょう。バックアップの問題は、運用の設計とセットで問われることが多いからです。

世代管理と保管場所

世代管理とは、バックアップを1つだけ上書きし続けるのではなく、複数の時点のものを残しておく運用です。最新のバックアップが壊れていても、1つ前の世代に戻れます。

保管場所も重要です。同じ建物にだけ置いていると、火災や災害で本体と一緒に失われます。

そのため、遠隔地や別の媒体に分けて保管する考え方が勧められます。コピーを複数持ち、種類の違う媒体に分け、1つは離れた場所に置く、という形でよく説明されます。

どこまで戻せればよいかを決める

バックアップの設計では、どの時点まで戻せればよいか、どれくらいの時間で戻せればよいかを先に決めます。前者を目標復旧時点(RPO)、後者を目標復旧時間(RTO)と呼びます。

たとえば1日1回しか取っていなければ、最悪で1日分の更新が失われます。それで困る業務なら、取る回数を増やすか、別の仕組みを組み合わせる必要があります。

私が関わったシステムでも、この2つを決めずにバックアップだけ取っていた時期がありました。いざ戻そうとして、想定より時間がかかることに気づいたのです。

ランサムウェアとバックアップ

最近のセキュリティの話題では、ランサムウェアとバックアップの関係がよく取り上げられます。ランサムウェアはファイルを暗号化し、元に戻すことと引き換えに金銭を要求するマルウェアです。

このとき、常につながったままの場所にバックアップを置いていると、そこまで暗号化される恐れがあります。ネットワークから切り離した保管や、書き換えられない形での保管が大切になるのはこのためです。

セキュリティ分野全体のなかで、バックアップがどこに位置づけられるのかはこちらの記事で整理しています。科目Aと科目Bの両方の対策を確認したい人に向いています。

【関連記事】基本情報の情報セキュリティは何を勉強する?科目A・科目Bの対策を解説

間違いやすい選択肢の見分け方

バックアップの問題で落としやすいのは、似た言葉の入れ替えです。選択肢を読むときに確認したいポイントを表にまとめました。

よくある選択肢の形 見分け方
差分は前回のバックアップからの変更を取る 誤り。差分の基準はいつも直前のフル
増分は復旧時にフルと最新の増分だけあればよい 誤り。途中の増分もすべて必要
RAIDがあればバックアップは不要 誤り。削除や暗号化も複製される
差分は日ごとに取る量が増えていく 正しい。フルからの変更がたまっていく

表の左の文は、どれももっともらしく見えます。何を基準にした変更か、という一点を自分で言い直してから判断すると、ひっかけに気づきやすくなります。

ネットワークやセキュリティの問題は、用語が多くて難しく感じる人が少なくありません。つまずきやすい場所をまとめた記事も用意しているので、苦手意識がある人は目を通してみてください。

【関連記事】基本情報のネットワークが難しい人へ|つまずく場所と問題の解き方

科目Bのセキュリティ問題へつなげる

バックアップは、科目Aの知識問題だけで終わるテーマではありません。科目Bのセキュリティの問題では、事例を読んで、どの対策が適切かを選ばせる形で出てきます。

そのとき、方式の名前を知っているだけでは答えが決まりません。この事例では何を守りたいのか、どの時点に戻せれば困らないのかを読み取る力が必要です。

科目Bのセキュリティ問題の全体像と、擬似言語との勉強時間の配分は、親記事で詳しく解説しています。バックアップの知識をどこで使うのかが、はっきり見えてくるはずです。

【関連記事】基本情報 科目Bの情報セキュリティ対策|擬似言語との勉強時間の配分を解説

ネットワーク機器の役割もあわせて押さえておくと、構成図を読むのが楽になります。先日公開したルータの記事も参考にしてください。

【関連記事】基本情報のルータとは?ルーティングの考え方をやさしく解説

まとめ

バックアップの目的は、複製を作ることではなく、失ったデータを元に戻すことでした。RAIDは止まらないための仕組みなので、過去に戻すためのバックアップとは役割が違います。

フルはすべてを、差分は直前のフルからの変更を、増分は直前のバックアップからの変更を取ります。差分は取るのが重く戻すのが軽い、増分は取るのが軽く戻すのが重い、という逆の関係が試験の中心です。

復旧に必要な数は、新しい方からさかのぼってフルまで数えれば分かります。擬似言語で書いてみると、その違いは一行の条件の違いにすぎませんでした。

世代管理や保管場所、目標復旧時点と目標復旧時間、ランサムウェアへの備えも、戻せることという目的から考えればつながって見えます。一つずつ丸暗記するより、目的から考える方が忘れにくいはずです。

ネットワークやセキュリティの仕組みを、実際に動かしながら確かめたい人は、Giji Academyのセキュリティ講座を使ってみてください。文章で読んだ仕組みが目に見えると、試験の問題文もぐっと読みやすくなります。

擬似言語の基礎から応用まで学べる
Giji Academy

Giji Academyでは、擬似言語の基礎からアーキテクチャなどの応用的な内容まで幅広く学べます。
また、ブラウザ上で直接擬似言語コードを試すことができ、実践的なスキルを身につけることが可能です。

Giji Academy の学習画面。左に教材、右にシミュレーター 擬似言語の学習を始める

擬似言語の学習をここから始めよう。