NetApp Tech OnTap
重複排除技術はどこまで安全か

見て見ぬふりをしている人は別として、重複排除技術が注目を集めていることは誰もが認めるところです。名前を聞いたことのあるストレージベンダー(および名前も知らない多くのベンダー)はいずれも、ディスクバックアップのコストを下げる方法として、重複排除技術をさかんに宣伝しています。

果たしてデータの重複排除は安全なのか、と疑問を感じている方もいらっしゃるでしょう。重複排除を実行したバックアップから実際にデータをリストアする段階で、本当にデータの回復は可能なのでしょうか。

重複排除技術の相対的な安全性を評価する場合、次の2つの基本要素が重要になります。

  • 重複を特定して排除するためのアルゴリズム
  • 基盤となるハードウェアとソフトウェアの信頼性

この記事では、重複排除技術を上記2つの基準に照らして検証します。さらに、NetApp独自の重複排除技術の信頼性を高めるために、NetAppが行ったさまざまな選択についても説明します。他のベンダーは、ほとんどがバックアップに関する重複排除機能しか提供していないのに対し、NetAppはプライマリストレージとセカンダリストレージの両方で重複排除をサポートしています。そのため、データの安全性はNetAppにとっての最重要課題です。

重複データの特定

既存の重複排除製品の多くは、ブロックレベルで動作します。すなわち、新しいブロックを以前に保存したブロックと比較し、同じブロックがすでに保存されていないかどうか判断するという方式を採用しています。すでに同じブロックが保存されている場合には、「新しい」ブロックを廃棄し、代わりに保存済みブロックへのポインタが作成されます。

それでは、2つのブロックが同じであることは、どのようして判別するのでしょうか。最も一般的なのは、ブロックごとに「フィンガープリント」(そのブロックに含まれるデータのハッシュ値)を計算する方法です。2つのブロックのフィンガープリントが同じであれば、通常それらは同一であるとみなされます。

ただし、同一ではないブロックから同じフィンガープリント(すなわちハッシュ値)が生成される可能性は、少ないとはいえゼロではありません。この状況は「ハッシュ・コリジョン」と呼ばれ、一意のデータブロックが誤って削除される結果となります。

ご想像のとおり、ハッシュ・コリジョンが発生する確率を減らすには、より複雑なアルゴリズムが必要です。この場合、より大きな値をハッシュ計算によって算出しなくてはならないため、CPUリソースの消費量が増えるのが一般的です。信頼性とスピードは、明らかな二律背反関係にあると言えます。また、ハッシュが長くなれば、その分だけフィンガープリントの保存スペースも多く必要になります。

重複排除技術を評価する際は、ベンダーがどのような方法で重複を特定しているかを調べ、採用されているアルゴリズムでハッシュ・コリジョンが発生する可能性について確認する必要があります。多くのベンダーでは、ハッシュ・コリジョンが起こる確率は、データブロックの破損につながるディスク障害、ディスクドライブエラー、またはテープエラーの確率よりも低いと主張するでしょう。その説明で安心できるかどうかは別として、リスクは可能なかぎり少なくしたいというのが多くの人の本心だと思います。

NetAppはプライマリストレージとバックアップストレージの両方で重複排除をサポートしているため、ハッシュ・コリジョンを防止するために、より積極的なアプローチを採用しています。NetAppは他社と同様にフィンガープリントアルゴリズムを使用していますが、このアルゴリズムでは、重複している可能性のあるデータの特定だけを実行しています。その次の段階として、重複の可能性があるブロックはすべて、2つのブロックを1バイトずつ比較して、まったく同一であることを確認してから廃棄します。NetAppで実装されている重複ブロックの特定技術については、NetAppのテクニカルディレクターを務めるBlake Lewisの寄稿文を参照してください。

基盤となるハードウェアとソフトウェアの信頼性

重複排除技術の信頼性は、ひとえに基盤となるハードウェアおよびソフトウェアの信頼性にかかっています。実際に、徐々にではありますが、重複排除に関する信頼性の重要度は増しています。

たとえば、増分バックアップを毎晩作成し、フルバックアップを週1回作成するという、ごく標準的なバックアップスケジュールを実行する場合を考えてみましょう。月の初めにファイルを作成し、それ以降、そのファイルをまったく変更しなかったと仮定します。従来のバックアップ方式の場合、各週のフルバックアップによって、月末にはこのファイルのコピーが4つ存在することになります。その時点でファイルをリストアする必要が生じた場合、バックアップメディアの信頼性が低くても、4つのコピーのうち少なくとも1つからは、高い確率でリストアを実行できるでしょう。

ところが、重複排除を条件に加えた場合、月末の時点でファイルの物理コピーは1つ(最初のフルバックアップで作成されたコピー)しか存在しません。あとは、同じファイルブロックへのポインタが3セットあるだけです。この単純な例からわかるように、重複排除を行う場合、適切なRAID保護を実装した耐障害性の高いハードウェアにバックアップを保存して、信頼性を高める必要があります。なぜなら、1年も経過すると、何百ものバックアップが存在しても、実際にはほとんどが既存のデータブロックを参照している可能性があるからです。


図1)変更されていない同一ファイルの4週分のフルバックアップ重複排除技術を使用しない場合、同じファイルのコピーが4つ存在します。一方、重複排除技術を使用する場合、コピーは1つだけです。結果的にスペースを大幅に節約できますが、それと同時に、唯一のコピーを保存するストレージの信頼性がより重要になります。

市販されている重複排除製品は、非常にバラエティに富んでいます。ソフトウェアのみを提供し、さまざまな基盤ハードウェアを使用できる製品もあります。また、ハードウェアとソフトウェアの両方(さまざまな供給元からライセンス契約またはOEM契約を通じて入手できるものなど)を提供する製品もあります。導入を決定する前に、ソフトウェアの成熟性、基盤となるハードウェアの安定性、ソフトウェアとハードウェアの相互運用性について確認する必要があります。

NetAppの信頼性

NetApp®ストレージの重複排除技術は、すべての製品ラインで使用される、Data ONTAP®オペレーティングシステムの一部として組み込まれています。Data ONTAPは、過去15年以上にわたって、NetAppハードウェアプラットフォームと並行して開発されてきました。NetApp WAFL®テクノロジの独自機能により、重複排除の実装が簡易化され、バックアップデータだけでなく、あらゆる格納データに重複排除を実行できます。

NetAppハードウェアおよびソフトウェアの信頼性の高さは、すべてのNetApp導入環境において、99.999%以上のデータ可用性を達成していることで実証されています。RAID-DPを始めとした、ディスクドライブの誤動作に対して保護機能を提供するNetAppの拡張機能については、過去のTech OnTapを参照してください。

まとめ

バックアップデータを保護するには、適切なアルゴリズムを採用した重複排除テクノロジを利用し、一意のデータブロックが廃棄されるのを防ぐ必要があります。また、リカバリを正常に行うため、信頼性の高い基盤ハードウェアおよびソフトウェアを使用して、重複排除後のデータを安全に保管することも重要です。

NetApp の重複排除技術は、バックアップストレージだけでなくプライマリストレージにも対応しているため、データの信頼性確保には入念な配慮がなされています。NetApp重複排除技術では、フィンガープリントと1バイトごとのブロック比較を組み合わせて使用しています。そのため、ハッシュ・コリジョンによって、一意のデータブロックが誤って削除されることはありません。重複排除を行ったデータは、NetAppストレージシステム上で保管します。NetAppストレージでは、長年にわたるフィールドでの導入実績に裏打ちされた、高い信頼性と耐障害性を持つハードウェアおよびオペレーティングソフトウェアを使用しています。これにより、安心してデータのリカバリ作業を行い、バックアップしたデータを回復することができます。

Larry Freeman Larry Freeman
ストレージ効率化担当シニアマーケティングマネージャー

Larryはデータストレージの分野で25年以上のキャリアがあり、Data General、Telex Computer Products、NEC Information Systems、Spectra Logicなどの会社でさまざまな役職を歴任してきました。

現在、NetAppでは、重複排除機能などのデータストレージ効率化テクノロジに対する認知度を高めるため、積極的に講演や執筆活動を行っています。LarryはSNIAのData Deduplication and Space Reduction Special Interest Groupの設立者であり、共同議長を務めています。また、SNIA Green Storage Initiativeでも活動しています。

関連情報