バックアップデータストレージにおける重複排除とは
今日の大規模な仮想インフラストラクチャでは、膨大な量のデータが生成されています。これにより、バックアップデータの量が増加し、ストレージアプライアンスやその保守費用を含むバックアップストレージインフラへの支出も増加しています。このため、ネットワーク管理者は、重要なマシンやアプリケーションのバックアップを頻繁に作成する際に、ストレージ容量を節約する方法を模索しています。
広く利用されている手法の一つが、バックアップの重複排除です。このブログ記事では、データ重複排除とは何か、その種類、およびバックアップに焦点を当てた活用事例について解説します。
重複排除とは何ですか?
データ重複排除は、ストレージ容量を最適化する技術です。データ重複排除では、ソースデータとストレージ内にすでに存在するデータを読み取り、重複しないデータブロックのみを転送または保存します。重複するデータへの参照情報は保持されます。この技術を用いてボリューム上の重複を回避することで、ディスク容量を節約し、ストレージのオーバーヘッドを削減することができます。
データ重複排除の起源
データ重複排除の先駆けとなったのは、 LZ77 そして LZ78 1977年と1978年にそれぞれ導入された圧縮アルゴリズムである。これらは、繰り返されるデータ列を、元のデータへの参照に置き換えるという仕組みを採用している。
この概念は、他の一般的な圧縮手法にも影響を与えた。その中でも最もよく知られているのは DEFLATE。これは、PNG画像やZIPファイル形式で使用されています。それでは、VMバックアップにおける重複排除の仕組みと、それがストレージ容量やインフラコストの削減に具体的にどのように役立つのかを見ていきましょう。
バックアップにおける重複排除とは?
バックアップ実行中、データ重複排除機能は、ソースストレージとターゲットのバックアップリポジトリの間で同一のデータブロックがないかを確認します。重複するデータはコピーされず、ターゲットのバックアップストレージ内の既存のデータブロックへの参照(ポインタ)が作成されます。
データ重複排除によって、どれだけの容量を節約できるのでしょうか?
重複排除によってどれだけのストレージ容量を確保できるかを理解するために、例を挙げて考えてみましょう。インストールに必要な最小システム要件は Windows Server 2016 少なくとも32 GBの空きディスク容量が必要です。このOSを実行している仮想マシンが10台ある場合、バックアップの合計容量は少なくとも320 GBになります。これは、アプリケーションやデータベースが一切インストールされていない、クリーンなオペレーティングシステムの場合です。
複数の仮想マシンを展開する必要がある場合、おそらく 仮想マシン (VM)を同じシステムで運用する場合、テンプレートを使用することになります。つまり、当初は10台の同一のマシンが作成されることになります。また、これは10セットの重複データブロックが生じることを意味します。この例では、ストレージ容量の節約率は10:1となります。一般的に、5:1から10:1の範囲の節約率は良好と見なされます。
データ重複排除率
データ重複排除率は、元のデータサイズと、重複部分が削除された後のデータサイズを比較して測定する指標です。この指標により、データ重複排除プロセスの有効性を評価することができます。この値を算出するには、重複排除前のデータ量を、重複排除後にそのデータが占有するストレージ容量で割ります。
たとえば、5:1の重複排除比率は、重複排除を行わない場合に必要な容量の5倍のバックアップデータを、バックアップストレージに保存できることを意味します。
以下の点を決定する必要があります。 deduplication ratio そして storage space reduction. この2つのパラメータは、混同されることがあります。データ削減効果に対して、重複排除率は比例して変化するわけではありません。これは、ある一定の点を超えると、収穫逓減の法則が必然的に作用してくるためです。下のグラフをご覧ください。
つまり、重複排除の比率が低いほど、比率が高い場合よりも大幅な容量削減効果が得られるということです。例えば、50:1の重複排除比率は、10:1の比率に比べて5倍優れているわけではありません。10:1の比率では使用されるストレージ容量が90%削減されますが、50:1の比率では、すでに冗長性の大部分が排除されているため、この値は98%にまで向上します。 これらの割合の算出方法に関する詳細については、以下をご覧ください。 Storage Networking Industry Association’s (SNIA) データ重複排除に関する資料.
データ重複排除の効率に影響を与える要因
いくつかの要因により、実際にデータの重複排除が行われるまでは、データ削減効率を予測することは困難です。以下に、重複排除を使用する際にデータ削減に影響を与える要因の一部を挙げます。
- データバックアップの種類とポリシー. 重複排除について 完全バックアップ は、~よりも効果的である 段階的な または 微分 バックアップ。
- 変動率. バックアップ対象のデータ変更点が多い場合、重複排除率は低くなります。
- 保持設定. バックアップストレージにデータバックアップを保存する期間が長ければ長いほど、そのストレージ上のデータの重複排除の効果は高まります。
- データ型. すでにデータが圧縮されているファイル(例:
JPG, PNG, MPG, AVI, MP4, ZIP, RAR、などでは効果が期待できません。メタデータが豊富なデータや暗号化されたデータについても同様です。重複する部分を含むデータ型は、重複排除に適しています。 - データの範囲. データ重複排除は、データ量が多いほど効果的です。グローバル重複排除は、ローカル重複排除に比べて、より多くのストレージ容量を節約できます。
注: ローカル重複排除は、単一のノードまたはディスクデバイス上で機能します。グローバル重複排除は、すべてのノードおよびディスクデバイス上のデータセット全体を分析し、重複データを排除します。複数のノードがあり、それぞれでローカル重複排除が有効になっている場合、グローバル重複排除を有効にした場合ほど重複排除の効率は高くなりません。
- ソフトウェアとハードウェア。 ソフトウェアソリューションと重複排除ハードウェアを組み合わせることで、ソフトウェア単独の場合よりも高い重複排除率を実現できます。例えば、NAKIVOのバックアップソリューションでは、 との連携
HP StoreOnce,Dell EMC Data Domain、およびNEC HYDRAstor最大17:1の重複排除率を実現する重複排除アプライアンス。
バックアップの重複排除技術
バックアップの重複排除技術は、以下の基準に基づいて分類することができます。
- データ重複排除が行われる場所
- 重複排除が完了すると
- 重複排除の仕組み
データ重複排除が行われる場所
バックアップの重複排除は、ソース側またはターゲット側で実行することができ、これらの手法はそれぞれ"ソース側重複排除"および"ターゲット側重複排除"と呼ばれます。
ソース側重複排除
ソースサイドの重複排除は、バックアップ中のデータ転送量が減少するため、ネットワーク負荷を軽減します。ただし、各VMまたは各ホストに重複排除エージェントをインストールする必要があります。もう1つの欠点は、ソースサイドの重複排除では VMの動作を遅くする 重複するデータブロックの特定に必要な計算のため。
ターゲット側での重複排除
ターゲット側重複排除では、まずデータをバックアップリポジトリに転送し、その後、重複排除を実行します。負荷の高い計算処理は、重複排除を担当するソフトウェアによって行われます。
データ重複排除が行われたとき
バックアップの重複排除には、インライン方式と後処理方式があります。
- インライン重複排除 バックアップリポジトリに書き込まれる前に、データの重複をチェックします。この手法により、バックアップデータストリームから冗長性が除去されるため、バックアップリポジトリに必要なストレージ容量は少なくて済みますが、バックアップジョブの実行中にインライン重複排除が行われるため、バックアップにかかる時間が長くなります。
- 後処理による重複排除 バックアップリポジトリへの書き込み完了後にデータを処理します。当然のことながら、このアプローチではリポジトリ内の空き容量をより多く必要としますが、バックアップの実行速度が向上し、必要な操作はすべてその後に行われます。後処理型重複排除は、非同期重複排除とも呼ばれます。
データ重複排除の仕組み
重複を特定するための最も一般的な手法は、ハッシュベースの手法と、改良型ハッシュベースの手法です。
- ~とともに ハッシュベースの手法、重複排除ソフトウェアは、データを固定長または可変長のブロックに分割し、次のような暗号アルゴリズムを用いて各ブロックのハッシュ値を算出します。
MD5, SHA-1,またはSHA-256. これらの各手法は、データブロックごとに固有のフィンガープリントを生成するため、ハッシュ値が類似しているブロックは同一であるとみなされます。この手法の欠点は、特に大規模なバックアップの場合、多大な計算リソースを必要とする可能性があることです。 - その 改良型ハッシュベース法 次のような、より単純なハッシュ生成アルゴリズムを使用します。
CRC, これらはわずか16ビットしか生成しない(これに対し、SHA-256). その後、ブロックのハッシュ値が類似している場合は、バイト単位で比較されます。完全に一致する場合、それらのブロックは同一であるとみなされます。この方法はハッシュベースの手法よりも若干処理速度は遅くなりますが、必要な計算リソースは少なくて済みます。
バックアップ重複排除ソフトウェアの選定
バックアップの重複排除は、重複排除の最も一般的な活用事例の一つです。とはいえ、このデータ削減技術を実装するには、適切なソフトウェアソリューションとストレージ用ハードウェアが必要です。
NAKIVO Backup & Replication これは、ハッシュベースの重複検出機能を改良したグローバルターゲット後処理型重複排除をサポートするバックアップソリューションです。また、次のような重複排除アプライアンスを統合することで、ソースサイドの重複排除機能を活用することも可能です。 DELL EMC Data Domain ~と DD Boost, NEC HYDRAstor そして HP StoreOnce ~と Catalyst NAKIVOソリューションに関するサポート。



