コラム

SEのためのストレージ講座

第11回 ストレージ概論~データ保護の技術 その2 (バックアップ)~

更新

IT基盤のストレージの役割や課題から仮想化・統合化まで、CTCのエンジニアが解説します

著:クロスファンクショングループ プロダクトマーケティング室
インフラソリューション推進部 菅 博

RAID技術によってデータが完全に保護されるわけではありません。短時間のうちにディスクの多重障害が発生する可能性は依然としてゼロではなく、データが消失する要因としては、次の例にもあるようにハードウェア障害以外にもたくさん存在します。

  • ディスクの多重障害
  • 人為的ミスによる削除、データ破壊(これが最も多い)
  • 第三者による故意のデータ破壊
  • アプリケーションのエラーによるデータ破壊
  • ウィルス感染
  • 自然災害などによるシステム損壊

これらの要因によってオリジナルのデータが残っていない場合を想定して、データのリストアのためにバックアップを取得するというのは非常に重要な作業になりますが、現在では種々の事情によってこの作業が困難になってきています。

1. バックアップの過去と現在

基本的に、データ更新が発生している間はバックアップを実行することは出来ません。つまり、バックアップを取得するためにはサービスを停止する必要があります。かつてサービスは昼間だけ提供され、夜間と休日はシステムはバックアップとバッチ処理に専念するだけの十分な時間があり、データ量もそれほど多くはなかったので大きな問題はありませんでした。しかし、今ではサービスが24H/365D稼動していることが期待されるようになり、無停止が前提となっているシステムは少なくありません。また、グローバル化が進んだ結果、海外からのアクセスに備えて、日本の昼夜に関わらずシステムは動き続けている必要があります。それに追い打ちをかけるようにデータの量は増大の一途のため、どのタイミングでどのようにバックアップを取得するかは重要な問題となります。次節以降では、そうした問題に対処するための技術について解説します。

2. スナップショット

図1

バックアップを取得するためにはデータに変更があるのは好ましくないため、サービスが稼働中でもデータに対してあるタイミングで静止点を設けておく技術がスナップショットです。実装方法はストレージによって異なりますが、基本的な考え方は共通しており、静止点を仮想的なボリュームとして実現するというものです。簡単な例で説明すると、スナップショットが発行された時点でAからDまでの4つのブロックで構成されるファイルがあったとします。その後、DのブロックをD'に更新する操作がなされた場合、ストレージはDの領域にD'を上書きするのではなく、Dを残したままD'を記憶します。このとき、ストレージ内には管理すべき5つのブロックが存在しますが、ABCD'の集まりは最新の状態が反映されており、ABCDはスナップショットが発行された時の状態を維持していることになります。以後の更新も同じようにすることで、ストレージはスナップショットが発行されたときのイメージを仮想的に内部に持つことが出来ます。

スナップショットはある時点で静止イメージをストレージ内に持っているため、本番ボリュームのデータが壊れた場合でも、すぐにスナップショットを取得した状態まではデータを復旧することが出来ます。つまり、テープなど外部メディアを用いたリストア操作は不要になります。スナップショットは最新データの一部を使って仮想的に作られているイメージなので読み取り専用で利用しますが、最近では書き込みも可能なスナップショットが開発されています。スナップショットはわずかな差分管理の領域だけで静止イメージを作成して保持できるという特長がありますが、逆に次のような弱点も持っています。

  • スナップショットへのアクセスは本番ボリュームのパフォーマンスが低下
  • 本番ボリュームのディスクの多重障害時にはスナップショットも消失

スナップショットは本番データの一部を使って仮想的に作られている領域なので、スナップショットへのアクセスは本番ボリュームへのアクセスを含みます。従って、正規のアプリケーションからのアクセスとバッティングすることになり、パフォーマンスの劣化は避けられません。また、本番ボリュームそのものが物理的に障害を受けた場合に、スナップショットもその一部を借り受けているために静止イメージは破壊されたことになります。こうした弱点を補うために、次に述べるクローン技術というものがあります。

3. クローン

図2

クローンは本番ボリュームと同等のサイズを持つ物理的に異なるボリュームに、本番ボリュームのある時点でのデータを完全に複製して維持する仕組みです。同期命令が実行されると、ペアとなっている本番ボリュームからクローンに対してデータのコピーが行われます(図中①)。上位のI/Oの更新分を含めて、本番とクローンの同期が一致した時点で同期を解除(図中②)すると、本番ボリュームへのアクセスを停めずに、同期を解除した時点での静止イメージをクローンは保持(図中③)することが出来ます。

クローンは物理的に独立したボリュームのため書き込みも可能なボリュームで、かつアクセスは本番ボリュームに影響を与えません。また、本番ボリュームを構成するディスクの多重障害などでデータが消失しても、クローン側のデータは利用可能です。このように、容量としては本番ボリュームと同サイズが必要なためにコストはかかりますが、性能や安全面ではスナップショットよりも優れているのが特長です。費用に関しても、クローンに対してはSATAディスクを使ってRAID-5を適用することで削減することが可能となります。

4. D2D, D2D2T

この用語はバックアップの方式を表しており、D2DはDisk 2(to) Disk、D2D2TはDisk 2(to) Disk 2(to) Tapeを意味しています。従来はD2T(Disk 2 Tape)しか方法がありませんでしたが、クローンの技術が発展することによって一次バックアップをディスク上に短時間で作成し、二次バックアップをテープに対して作成するのが一般的となってきました。データ容量が大きくなりサービスの停止が難しくなると、いきなりテープに時間をかけてバックアップを取る方法はそもそも論外となってしまい、D2DやD2D2Tの方式はすっかり定着した感があります。

また、テープにバックアップを取った場合にはテープからのリストアになりますが、どこか一部にでもリードエラーが発生すると、そのリストアは失敗することになりますが、テープメディアの場合には構造上この危険性が比較的高いのが特徴です。しかしHDDにバックアップを取ってHDDからリストアを行う場合には、この危険性はかなり軽減されます。後で紹介するバックアップデータ格納の専用ストレージになると、リストア時のリードが必ず成功するように定期的にHDDの読み出しチェックを行い、不安なHDDを事前に見つけ出すことで予防保守を行うことが可能なものも存在します。

ただ、狭義の意味では、クローンのような同意一筐体内にクローンを作成することをD2Dとは呼ばないこともあります。

コラム一覧のページに戻り、続きをお読み下さい

  • このページについてツイッターでツイート(新しいウィンドウで開く)
  • このページをフェイスブックでシェア(新しいウィンドウで開く)

このコラムに関するお問い合わせはこちら

※記載内容は掲載当時のものであり、変更されている場合がございます。