RB-7716
3 Cadmium

Data Domain:Mtree内のデータ削除

ソリューションへジャンプ

Mtreeを利用したバックアップの検証をしております。

データA
Mtree1(Storage Unit) → データAをバックアップソフトから書き込み

バックアップソフトから設定を変えて、データAを利用してMTree(Storage Unit)に
再度データを書き込むすることを検討しています。

この場合、以下の順序を実施することでMtree内のデータは完全に削除して
バックアップが出来ますでしょうか。

1)Storage Unit削除
2)手動でクリーニング実行
3)クリーニング完了
4)クリーニング完了後にStorage Unitを作成
5)データAを再度バックアップソフトから書き込み

※気にしている点、前のバックアップデータの不要ブロックがファイルシステム上に
 残ってしまい、重複排除の正確性が欠けるのではないかと考えております。

0 件の賞賛
1 解決策

受理された解決策
Uehara Y.
モデレーター
モデレーター

Re: Data Domain:Mtree内のデータ削除

ソリューションへジャンプ

RB-7716さん

 

これ、あるMTreeの情報を消した際にまだ他のMTreeなどData Domainに残っている(保存されている)データによって状況が異なるために、完全に削除してバックアップが出来るとは言えません。。

 

Data Domainのデータの持ち方のポイントに、SISLというアーキテクチャがあるのですが、これを簡単に言うと
「全てのデータを平均8KBのデータチャンク(大きさは可変で、昔と変わっていなければ4KBから12KBの間の値)に分割し、そのデータチャンクそれぞれにに対して異なるフィンガープリントを作成してからデータ保存をする」
というものです。

 

これの何が良いのかというと、新たに保存するデータがData Domainに入って来た際に、そのデータをSISLが可変長(平均8KB)のデータチャンクに分割し、それぞれにフィンガープリントを作成し、そのフィンガープリントを既にData Domainに保存されているデータの持っている複数のフィンガープリントと比較をして、まだ保存されていないフィンガープリントを持つデータチャンクだけを実際にData Domainのディスクドライブに保存するということができる点です。
(つまり、効率的な重複排除が可能になるということです。)

 

そのために、今回の例だと「データA」を最初に書き込んだ際に、例えば全てのデータチャンクが既にData Domain内に存在していた場合には実は何も新しいデータチャンクがData Domain内に書き込まれなかったという可能性があります。

 

また、逆に「データA」を最初に書き込んだ際に、全てのデータチャンク(が持つフィンガープリント)がData Domain内に全く存在していない新しいものであった場合には、全てのデータチャンクがData Domain内に書き込まれたという可能性もあります。

 

前者の場合にはデータAが入っているMTreeを削除してクリーニングしても、データAを構成していたデータチャンク群は完全に削除されたとは言えないでしょう(というか削除されないでしょう)


後者の場合は上手くいくとデータAを構成していたデータチャンク群が完全に削除されるかもしれませんが、もしもデータAをData Domainに保存した後に、新たにバックアップされたデータがデータAを構成するデータチャンクの一部を使っていた場合には、そのデータチャンクはクリーニングをしても削除されません。

 

ということが、最初に「他のMTreeなどData Domainに残っている(保存されている)データによって状況が異なる」と書いた理由です。

 


【参考】SISL(Stream-Informed Segment Layout)の詳細は以下ホワイトペーパーにて説明されています
DELL EMC DATA DOMAIN SISL SCALING ARCHITECTURE A Detailed Review

元の投稿で解決策を見る

0 件の賞賛
2 返答(返信)
Uehara Y.
モデレーター
モデレーター

Re: Data Domain:Mtree内のデータ削除

ソリューションへジャンプ

RB-7716さん

 

これ、あるMTreeの情報を消した際にまだ他のMTreeなどData Domainに残っている(保存されている)データによって状況が異なるために、完全に削除してバックアップが出来るとは言えません。。

 

Data Domainのデータの持ち方のポイントに、SISLというアーキテクチャがあるのですが、これを簡単に言うと
「全てのデータを平均8KBのデータチャンク(大きさは可変で、昔と変わっていなければ4KBから12KBの間の値)に分割し、そのデータチャンクそれぞれにに対して異なるフィンガープリントを作成してからデータ保存をする」
というものです。

 

これの何が良いのかというと、新たに保存するデータがData Domainに入って来た際に、そのデータをSISLが可変長(平均8KB)のデータチャンクに分割し、それぞれにフィンガープリントを作成し、そのフィンガープリントを既にData Domainに保存されているデータの持っている複数のフィンガープリントと比較をして、まだ保存されていないフィンガープリントを持つデータチャンクだけを実際にData Domainのディスクドライブに保存するということができる点です。
(つまり、効率的な重複排除が可能になるということです。)

 

そのために、今回の例だと「データA」を最初に書き込んだ際に、例えば全てのデータチャンクが既にData Domain内に存在していた場合には実は何も新しいデータチャンクがData Domain内に書き込まれなかったという可能性があります。

 

また、逆に「データA」を最初に書き込んだ際に、全てのデータチャンク(が持つフィンガープリント)がData Domain内に全く存在していない新しいものであった場合には、全てのデータチャンクがData Domain内に書き込まれたという可能性もあります。

 

前者の場合にはデータAが入っているMTreeを削除してクリーニングしても、データAを構成していたデータチャンク群は完全に削除されたとは言えないでしょう(というか削除されないでしょう)


後者の場合は上手くいくとデータAを構成していたデータチャンク群が完全に削除されるかもしれませんが、もしもデータAをData Domainに保存した後に、新たにバックアップされたデータがデータAを構成するデータチャンクの一部を使っていた場合には、そのデータチャンクはクリーニングをしても削除されません。

 

ということが、最初に「他のMTreeなどData Domainに残っている(保存されている)データによって状況が異なる」と書いた理由です。

 


【参考】SISL(Stream-Informed Segment Layout)の詳細は以下ホワイトペーパーにて説明されています
DELL EMC DATA DOMAIN SISL SCALING ARCHITECTURE A Detailed Review

元の投稿で解決策を見る

0 件の賞賛
RB-7716
3 Cadmium

Re: Data Domain:Mtree内のデータ削除

ソリューションへジャンプ

Uehara Y.さん

ご回答ありがとうございます。
ご回答内容、大変、参考になりました。

0 件の賞賛