インフォメーションセンター

データ重複排除の完全ガイド: データ重複排除が重要である理由

今日の企業は、日々多くの重要な情報をデータベースに保存しています。オートパイロットでデータをバックアップするため、必然的に継続的なデータの再処理と再保存が発生します。その結果、時間の経過とともにデータのコピー処理が冗長化し、徐々にデータストレージに不要な負担がかかるようになります。これにより、データ要件が拡大し処理時間が長くなるにつれてコストがかさむようになってしまいます。

このため、データ重複排除の必要性が生じています。

データ重複排除により、冗長データが削除されることで、必要なストレージ容量が減少します。かつて最先端であったこのテクノロジは、現在ではメインストリームの必須テクノロジとなっています。このテクノロジが初めて登場したのは、企業がパフォーマンス向上のためにテープストレージからディスクベースのバックアップへの移行を必要としていた 2003 年のことでした。

10 年後、データ重複排除は、ベリタスの NetBackup アプライアンスなどのバックアップ製品に標準搭載され、エンタープライズデータ保護戦略における重要なツールとなっています。

ただし、それぞれのビジネスに適したバックアップ重複排除テクノロジを選択するにあたっては、考慮すべきことが数多く存在します。たとえば、利用可能な重複排除の種類、テクノロジのしくみ、重複排除に影響する要素、圧縮との違い、仮想化環境での重複排除といったことを考慮する必要があるでしょう。

データ重複排除に関するこの完全ガイドでは、これらのすべてについて、さらに、ベリタスが高度なデータ重複排除テクノロジを NetBackup アプライアンスメディアサーバーにどのように組み込んでいるかを説明します。ベリタスは、これまでに重複排除に特化した 80 以上の特許を取得し、その技術を基に NetBackup メディアサーバー重複排除プール (MSDP) を開発しました。

MSDP により、圧縮と暗号化によるクラウド重複排除、バックアップ時間の短縮、大規模での迅速なリカバリが保証されます。

データ重複排除とは?

データ重複排除プロセスでは、重複したデータのコピーを回避することで、ソフトウェアシステムの処理時間を短縮します。ソフトウェアシステムでのデータバックアップでは、大規模なデータセットのコピーと保存が行われます。その結果、時間の経過とともに大量のデータストレージが必要になります。データ重複排除は、データストレージを最適化することで、一意のデータインスタンスが 1 つのみコピーされて保存されるようにします。

簡単に言えば、重複排除はデータセット内にある一意でないデータセグメントを削除するテクノロジです。このように定義すると、重複排除は圧縮とそれほど違いません。しかし、本当に違う点は、履歴データに対するデータ削減です。これにより、ストレージを節約し、複数のソースから類似データがコピーされることを回避できます。

重複排除が登場する以前は、圧縮がプライマリストレージを節約するための主な処理方法でした。圧縮では、データがバックアップテープまたはディスクに書き込まれるときに、バックアップソリューションによってデータストリームが圧縮されていました。ただし、圧縮による削減が発生するのはその時点でのみでした。このため、別のタイミングで類似データのバックアップが圧縮され、それが同量の領域を占有する可能性がありました。

重複排除はこれとは異なります。重複排除はデータをセグメント化し、以前に書き込まれたデータを表すマトリックスと照合します。その結果、一意のセグメントはストレージに送信され、一意でないセグメントについては、類似するセグメントデータの一意のインスタンスへの参照が作成されます。

たとえば、企業のメールシステム内に、1 MB の同一の添付ファイルのインスタンスが 50 含まれているとします。重複排除なしでプラットフォームをバックアップすると、50 インスタンスすべてが保存され、50 MB のストレージ領域が必要になります。しかし、重複排除により、メール添付ファイルのインスタンスが 1 つのみが保存され、それ以外の各インスタンスは保存済みのコピーを参照するようにできます。こうすることで、必要なストレージ容量が 50 MB から 1 MB に減少します。

データ重複排除のしくみ

簡単に説明すると、データ重複排除プロセスは、まず重複排除の対象となるデータセットをチャンクに分割します。チャンクは、1 つ以上の連続したデータブロックで構成されます。チャンクを分割する方法や場所は個々の特許技術によって異なりますが、一連のチャンクが作成されると、重複排除システムによって作成および確認済みの、以前のすべてのチャンクと比較照合されます。

システムでは、ハッシュを作成する決定論的暗号化ハッシュアルゴリズムを実行して、チャンクを比較します。2 つの異なるチャンクのハッシュが一致する場合、それらは同一とみなされます。ほんのささいな変更でもチャンクのハッシュが変わるからです。たとえば、暗号化ハッシュアルゴリズムによって 8 MB のチャンクに対して SHA-1 という 160 ビットのハッシュが作成される場合、システムでは、そのチャンクをバックアップするたびに約 8 MB が節約されます。このように、データ重複排除によって領域を大幅に節約できます。

データ重複排除プロセスは、重複するデータブロックを削除し、一意のデータブロックのみを保存します。その際には、データブロックの一意のデジタル署名であるフィンガープリントを使用します。このため、インライン重複排除エンジンは、システムがデータを書き込むときに、受信データブロックを調べ、それぞれに対してフィンガープリントを作成し、ハッシュストアに保存します (メモリ内データ構造)。

フィンガープリントの計算が完了すると、ハッシュストアでルックアップを実行します。次に、キャッシュメモリの重複フィンガープリント (ドナーブロック) に一致するデータブロックを調べます。ハッシュストアで一致が見つかった場合、以下の 2 つの処理のいずれかが発生します。

  • 一致が存在する場合、検証のために新しいデータブロック (受信側) とドナーブロックが比較されます。2 つのブロック間でデータの検証が行われますが、受信側ブロックのディスクへの書き込みは発生しません。その後、共有する詳細情報を追跡できるようにメタデータが更新されます。
  • ドナーブロックがキャッシュメモリで利用できない場合は、ディスクからプリフェッチされて、キャッシュ内の受信側ブロックとバイト単位で比較されます。正確に一致する場合、受信側ブロックはディスクに書き込まれることなく重複としてフラグが付けられますが、共有する詳細情報を追跡できるようにメタデータが更新されます。

バックグラウンドの重複排除エンジンも同様に機能します。データブロックはすべて一括で検索されます。ブロックのフィンガープリントを比較し、バイト単位での比較を実行して、誤検知をなくし、重複を排除します。このプロセスによってデータが失われることはありません。

データ重複排除の種類

重複排除エンジンそのものを作成することは難しくありませんが、最適なパフォーマンスと耐障害性を備えた、拡張性のあるソリューションを作成することは簡単ではありません。どのような方法でどの時点で重複排除を行うかが、サービス品質に大きな違いをもたらします。重複排除の主な種類は次のとおりです。

1.    処理後の重複排除

処理後の重複排除は、最も効率の低い重複排除の方式であり、データセット全体を一時的に保存するための大規模なディスクキャッシュに加え、重複排除済みデータ用の別のディスクキャッシュが必要です。このため、データのターゲットディスクへの書き込みが成功するまで、重複排除プロセスは適用されません。書き込みが成功すると、ターゲットディスクで、処理後の重複排除方式を使用して処理が行われます。その後、データが重複排除リポジトリに保存されます。

処理時間を心配せずにソースからデータを取得することができますが、領域の使用が非効率的になり、データ整合性の問題につながります。これらの欠点のため、ベリタスの重複排除では処理後の重複排除は使用していません。

2.    インライン重複排除

インライン重複排除では、ストレージに書き込む前のデータストリームに重複排除プロセスを適用します。一意のデータセグメントのみをストレージに書き込みます。

  • ターゲットレベルのインライン重複排除では、保存されるすべてのデータがターゲットデバイスへとストリーミングされ、ストレージに書き込まれるときに重複排除されます。
  • ソースレベルのインライン重複排除では、ターゲットデバイスに送信される前に、書き込まれたデータに対して重複排除が行われます。

ソース側の重複排除は、データ転送の観点から効率的といえます。企業がネットワーク全体で送信する必要があるデータ量が大幅に削減されるためです。ベリタスの提供する重複排除は、ターゲットとソースの両方でインラインでの重複排除と圧縮が実行可能です。

データ重複排除のその他の一般的な方法は次のとおりです。

  • ファイル重複排除: ファイルレベルでの重複排除であり、コンテンツではなくファイル全体を調べます。重複排除機能によって、重複するファイルが削除され、元のファイルが参照されます。ただし、ファイル内の同一のコンテンツに対応することはできません。
  • チャンク重複排除: データをチャンクに分割し、ハッシュアルゴリズムを通じて実行して、そのデータセットの一意のハッシュを作成します。ファイル重複排除と同様、重複するハッシュが削除され、元のハッシュが保持されます。
  • サブファイル重複排除: 個々のファイルコンテンツを評価して重複コンテンツを検索してから削除します。コンテンツをファイルブロックに分割し、互いに比較して重複コンテンツを削除し、ストレージを節約します。
  • クライアントバックアップ重複排除: ソース重複排除とも呼ばれ、内部クライアントバックアッププログラムで実行され、チャンク方式を使用して重複データを削除します。
  • Windows サーバー重複排除: ユーザーは、データを 1 回だけ保存でき、その場所へのインテリジェントポインターを作成します。Microsoft 社は、Windows 重複排除の改善を続けています。たとえば、Windows Server 2019 では、NTFS および ReFS ボリュームを重複排除できるようになりました。

データの重複排除が重要である理由

ディスク容量は絶えず増加していますが、それでもデータストレージベンダーは、増え続けるデータを顧客がストレージやバックアップデバイスに保存するのに役立つ方法を常に探求しています。データストレージを最大限に利用し、潜在的なディスク容量を最大化するのに役立つ可能性を模索しようとするのは当然のことでしょう。

こうした理由から、ストレージベンダーやバックアップベンダーは、重複排除や圧縮などのデータ削減戦略を活用しています。これらの戦略により、顧客はストレージメディアが提示している容量よりも多くのデータを効果的に保存できます。つまり、さまざまなデータ削減メカニズムを利用して 5:1 の削減効果を得られるとしたら、理論上は 10 TB のストレージアレイに 50 TB ものデータを保存できるということです。

以下のシナリオを考えてみてください。

ある企業が運用している仮想デスクトップ環境では、200 台の同一ワークステーションがサポートされ、それらのワークステーションのデータは専用の高額ストレージアレイに保存されています。ワークステーションでは、ユーザーに必要な Windows 10、Office 2013 および 2016、ERP ソフトウェアなどの多数のソフトウェアツールが実行されており、各ワークステーションイメージが約 25 GB のディスク領域を消費しているとします。この場合、200 台のワークステーションが 5 TB の容量を消費することになります。

重複排除を使用すれば、仮想マシンのコピーを 1 つだけ保存し、ストレージアレイには残りの仮想マシンへのポインターを配置するようにできます。こうすることで、重複排除エンジンが環境にすでに保存されている同一のデータ資産を見つけるたびに、データを再びコピーするのではなく、代わりに小さなポインターが保存されます。このようにして、重複排除によってストレージブロックの容量を解放することができます。

データ重複排除に影響する要素

保護対象のデータが適切に重複排除されるようにするには、重複排除の導入を慎重に計画する必要があります。データタイプが異なれば、データの性質ごとに重複排除のレベルも異なってきます。たとえば、イメージファイル、仮想イメージ、圧縮済みデータ、暗号化されたデータ、NDMP ストリームなどは重複排除には適しません。

さらに、変更が頻繁に発生するようなデータベースでは、重複排除処理で最適な結果が得られるようにデータ表現をより工夫することが必要になるでしょう。ベリタスの重複排除プロセスでは、重複排除の効果の度合いに基づいて、NetBackup 内でさまざまなデータタイプに対して個別のポリシーを実装できます。

ベリタスは、データ重複排除を改善するための 2 種類の方法を開発しました。

  • 適応型の可変長セグメント方式
  • ストリームハンドラーによる固定長セグメント方式

MSDP は、ベリタステクノロジを採用するインテリジェントなストリームハンドラーを使用して、データタイプに基づいて重複排除用のストリームを最適化します。さらに、ストリームハンドラーは適応型でデータ認識が可能であるため、取り込まれるデータタイプに応じてストレージ効率とバックアップパフォーマンスを向上させることができます。

その結果、固定長セグメント方式で、常に高速かつ十分な重複排除率を達成できるデータストリームへと最適化されます。さらに、標準のファイルシステムバックアップ、VMware、NetApp、EMC NDMP、Hyper-V、その他のスナップショットベースのソリューション (FlashBackup など) でもストリームハンドラーを使用します。

ベリタスは、クライアントがストリームハンドラーを使用できない場合でも最適な重複排除結果を実現できるように、適応型の可変長 (VLD) セグメント方式を NetBackup で導入しました。VLD は、定義済みのセグメントサイズ範囲を使用して、重複排除済みデータに対する最適なセグメンテーションを見つけます。これにより、不透明データに対して最適な結果を実現するとともに、固定長セグメント方式よりも効率的に CPU の性能を利用することができます。

NetBackupNetBackup 仮想アプライアンスNetBackup アプライアンスは、シェルフの境界をまたいで重複排除プールを作成することができ、ディスクシェルフでの他のストレージの使用制限もありません。さらに、MSDP では 1 つのメディアサーバー上で、固定長、可変長、重複排除なしから選択することができます。

今日のアプリケーションの多くは、業界のセキュリティトレンドとして急速に勢いを伸ばしている「保存時の暗号化」を使用しています。NetBackup は、データストレージのための専用のストレージシェルフを要求しません。つまり、これらのワークロードは、重複排除が行われないストレージプールへ送信され、ストレージコストが最大 200% 削減されます。ベンダー料金を比較する際にはこれを考慮に入れることをお勧めします。

データ重複排除の利点

必要なストレージ領域を大幅に減らし、コストを抑え、リモートストレージとのデータ転送で消費される帯域幅を削減することができるため、データ重複排除は必要不可欠な機能です。また、データの保存や取得の際の拡張性と効率性も向上します。大量の類似データがさまざまな領域に保存されていると、システム全体の速度が低下します。

そのほかにも以下のような利点があります。

  • 重複データを減らすことでバックアップ容量を確保できます。これは特にフルバックアップで顕著です
  • 単なるバックアップデータの保存とは対照的に、継続的なデータ検証が可能になります。前者では問題が検出されるのはリカバリ時のみです
  • 正確かつ迅速で信頼性が高いため、データリカバリ率が向上します
  • 重複排除には優れた容量最適化機能が備わっているため、最適なバックアップデータディザスタリカバリがサポートされます
  • 重複排除によりデータフットプリントが小さくなります
  • レプリケーション、リモートバックアップ、ディザスタリカバリの際のデータコピーで使用される帯域幅が少なくなります
  • 保持期間が長くなります
  • リカバリ時間目標の短縮により、テープバックアップの削減が実現します

データ重複排除と圧縮の違い

データ重複排除は、重複するデータチャンクを探し、再度コピーする代わりにポインターを配置します。一方、圧縮はデータを表現するために必要なストレージビット数を最小限に抑えます。ただし、いずれもストレージ容量を最大限に活用するためのデータ削減戦略の一部です。

データ重複排除のユースケース

重複排除が適用される領域は次のとおりです。

汎用ファイルサーバー

これらのファイルサーバーは多目的であるため、以下の共有データが保存される可能性があります。

  • ユーザーのホームフォルダ
  • 作業用フォルダ
  • グループの共有データ
  • ソフトウェア開発の共有データ

複数のユーザーが同じファイルのデータコピーとリビジョンを多数保有するため、汎用ファイルサーバーは重複排除に適しています。さらに、ビルドが変わっても多くのバイナリファイルが不変であることが多いソフトウェア開発での共有データにも適しています。

仮想デスクトップインフラ (VDI) の配備

リモートデスクトップサービスのような VDI サーバーにより、企業は従業員に PC を効率的に供給できます。このテクノロジを使用する理由には次のようなものがあります。

  • 企業全体にわたってアプリケーションを配備できます。定期的に更新され、利用頻度が低く、管理が難しいアプリを扱う場合に役立ちます。
  • クライアントコンピュータでのソフトウェア更新を不要にすることで、アプリケーション統合を実現できます。これは集中管理される仮想マシンからインストールして実行されるためです。
  • 個人用デバイス (異なるオペレーティングシステムを含む) からエンタープライズプログラムへリモートアクセスできます。
  • 支社オフィスからのアクセスが可能になり、一元化されたデータリポジトリへのアクセスが必要な支社のオフィスワーカーのアプリケーションパフォーマンスが向上します。

リモートデスクトップを実現している仮想ハードディスクは、実質的には同一であるため、VDI はデータ重複排除の対象としてに非常に適しています。

バックアップターゲット

仮想化されたバックアップアプリは、バックアップスナップショット間で効果的に重複排除を行えるため、バックアップの対象となります。バックアッププログラムは、重複排除に最適な対象といえます。

バックアップとディザスタリカバリでのデータ重複排除

重複排除テクノロジは、バックアップインフラで使用される場合に大幅なコスト削減を実現してきました。ただし、論理的には、バックアップイメージでは最終的にデータが重複します。

たとえば、複数のグループが同一のデータセットやドキュメントで作業するという状況は容易に発生します。その結果、多くのシステムにわたってデータが部分的または全体的に重複することになり、効率が低下してコストがかさみます。さらに、複数年にわたるデータ保持が求められるようなシナリオでは、データストレージの容量が膨大なものになる可能性があります。

テープストレージは、当初、データ保持のための最もコスト効率に優れたソリューションでした。ただし、そのすべてのデータを保存するコストが大きな問題になりました。テープのコストはストレージアレイよりも低く抑えられるものの、メディアが非常に多くの物理領域を占有する傾向があるため、テープは理想的なソリューションとはいえません。

また、テープストレージでは、専用の管理ハードウェアによるデータセンターフットプリントが大きくなります。必要な場所にテープを届けるには、データの配送に長い時間がかかることや、ストレージおよびその他の物流の課題が発生します。また、緊急リストアの際には大規模なダウンタイムが発生し、業務の遂行や総所有コストに大きな影響を及ぼします。

ベリタスは、これらのすべての問題を考慮し、包括的なデータ保護ソリューションを強力な統合データ重複排除ストレージエンジンの形で開発しました。MSDP と NetBackup を統合して、完全なソリューションを単一アプリケーションで作成しました。その結果、ベリタスの重複排除データ形式は、新たな可能性を秘めた、非常に移植性が高いものになっています。さらに、複数の場所や多様なターゲットにわたるデータレプリケーションを容易にします。

最後に、NetBackup クライアントはクライアント側の重複排除をサポートします。また、他のデータ重複排除ソリューションとは異なり、MSDP は受信ストリームの数を制限したり、接続を拒否したりすることもありません。

仮想化環境での重複排除

仮想化ソリューションにより、新たな機会と複雑さがもたらされています。たとえば、多くの仮想エンティティは、通常、共通のコアインフラを共有するため、VM のスプロールにつながり、数千のホストが固有の要素を保有しながらデータセットまたは標準テンプレートを共有することになります。ゲストシステムの独立性を維持しながら、これらのポイントを保護することは、大量の履歴データを保存することになる可能性があります。

重複排除は、すべてのデータを保護するのに役立ちます。NetBackup MSDP は、仮想マシン (VM) データを保護し、運用時および障害発生時の迅速なリカバリ機能を提供します。さらに、お客様は、NetBackup アプライアンスと NetBackup Universal Share with MSDP を活用して、レプリケーション、テスト、またはその他の用途で、VM または VM のセカンダリコピーから個々のファイルへ迅速にアクセスすることができます。

また、NetBackup では、バックアップ管理者はゲストオペレーティングシステムのスワップファイルやページングファイルに含まれているデータを除外することができ、バックアップおよび圧縮対象データをさらに削減することができます。

つまり、仮想化環境でデータ重複排除を行うことで、ストレージ領域を取り戻すことができ、不要になったデータセグメントを削除するよりも容易に書き込み領域を確保することができます。MSDP にはリベースと呼ばれる特許取得済みのプロセスがあり、これによりクラウド環境で簡単にデータクリーニングとデータの重複排除を実行することができます。

MSDP ストレージサーバー

MSDP ストレージサーバーは、ストレージでのデータの読み書きを行うエンティティです。1 つのホストがストレージサーバーで、各 NetBackup 重複排除ノードに対して 1 つだけ存在する NetBackup メディアサーバーである必要があります。さらに、ストレージサーバーコンポーネントはメディアサーバーで実行されますが、別の論理エンティティです。MSDP ストレージサーバーの機能は次のとおりです。

  • クライアントからバックアップを受信し、データの重複排除を行います
  • クライアントおよびその他のメディアサーバーから重複排除済みデータを受信します
  • NetBackup クライアントおよびその他のメディアサーバーからデータの重複を排除するための構成設定を行えます。つまり、ストレージサーバーは重複排除後にのみデータを受信します
  • ストレージでデータ重複排除を管理します
  • ディスクストレージで重複排除済みデータの読み書きを行います
  • 重複排除プロセスを管理します

設定するストレージサーバーとノードの数は、ストレージ要件、およびレプリケーションまたは重複排除の最適化機能を使用するかどうかによって異なります。

NetBackup アプライアンスを活用したデータ重複排除

NetBackup と仮想アプライアンスにより、安全で、柔軟性と拡張性を備えた、管理しやすい方法で MSDP サービスを配備できます。単一の NetBackup アプライアンスが最大 960 TB の重複排除済みデータをサポートするのに対し、仮想アプライアンスは 250 TB をサポートします。さらに、各 NetBackup メディアサーバーアプライアンスは、重複排除済みデータと重複排除されないデータをホストします。

NetBackup アプライアンスが実行するのは単一の保護された OS であり、異なるオペレーティングシステム (OS) を含む複数の仮想マシン (VM) ではありません。後者のソリューションは、潜在的な攻撃対象が増えるため、セキュリティが低下します。

NetBackup アプライアンスは、役割ベースのアクセス制御と Systemic Data Center Security (SDCS) を通じて、セキュリティ保護および侵入検出機能を提供します。FIPS 140-2 検証も追加コストなしで含まれます。

さらに、NetBackup アプライアンスは、企業が大規模なリストアを実施するために必要になる高速なリカバリ速度を実現します。複数の同時リカバリもサポートされ、制限が課されることも、SSD のような追加要件が求められることもありません。

また、ベリタスには、NetBackup アプライアンスのバージョンのパフォーマンスをテストおよび検証するエンジニアとパフォーマンスエキスパートが揃ったチームが存在します。

結論

企業が業務を拡大する中、コストを削減し、効率を高めるには、大量データの管理が極めて重要です。データ重複排除により、大量のデータを可能な限り最適な方法で処理できます。

Veritas NetBackup アプライアンスは、データ保護と重複排除のための業界トップクラスのテクノロジソリューションです。また、高パフォーマンスで安全な、拡張性の高い環境でデータの暗号化と圧縮機能を提供します。

NetBackup アプライアンスと MSDP テクノロジの連携により、バックアップフットプリントが最小化され、データ転送効率が最適化されるため、大幅な削減が実現します。さらに、NetBackup 仮想アプライアンスは、MSDP サービスをクラウドおよびその他の仮想環境へと拡張します。

Fortune 100 企業の 98% がベリタスのお客様です。また、NetBackup™ は大量のデータのバックアップを検討している大企業にとって第一の選択肢です。

ベリタスの大企業向けデータ保護サービスがどのように仮想、物理、クラウド、およびレガシーの各ワークロードに対して完全なデータ保護を維持しているかをご確認ください。