Comments
Description
Transcript
XtremIO のデータ保護(XDP) - EMC Japan
ホワイト ペーパー XtremIO のデータ保護(XDP) Flash-Specific のデータ保護、XtremIO(バージョン 4.0) 要約 このホワイト ペーパーでは、XtremIO のデータ保護(XDP)につ いて説明し、RAID の恩恵と長所について、またエンタープライ ズ フラッシュ ストレージ アレイのユニークな要件について例を 挙げて見ていきます。 2015 年 4 月 Copyright © 2015 EMC Corporation. All rights reserved. (不許複製・禁無断転載) EMC Corporation は、この資料に記載される情報が、発行日 時点で正確であるとみなしています。この情報は予告なく変更 されることがあります。 この資料に記載される情報は、「現状有姿」の条件で提供され ています。EMC Corporation は、この資料に記載される情報に 関する、どのような内容についても表明保証条項を設けず、 特に、商品性や特定の目的に対する適応性に対する黙示の 保証はいたしません。 この資料に記載される、いかなる EMC ソフトウェアの使用、 複製、頒布も、当該ソフトウェア ライセンスが必要です。 最新の EMC 製品名については、EMC の Web サイトで EMC Corporation の商標を参照してください。 EMC2、EMC、EMC のロゴ、および RSA のロゴは、米国および その他の国における EMC Corporation の登録商標または商 標です。VMware は、米国およびその他の地域における VMware, Inc.の登録商標です。その他のすべての名称ならび に製品についての商標は、それぞれの所有者の商標または 登録商標です。© Copyright 2014 EMC Corporation. All rights reserved.(不許複製・禁無断転載) Published in the USA. パーツ番号 H13036-03-J(リビジョン 04) XtremIO のデータ保護(XDP) 2 目次 要約................................................................................................................... 1 エグゼクティブ サマリー ...................................................................................... 4 RAID の大まかな歴史 ......................................................................................... 5 RAID 1(ミラーリング) .................................................................................................... 6 RAID 0(ストライプ)........................................................................................................ 7 RAID 10(ミラーリング + ストライプ) ................................................................................ 8 RAID 5(パリティ付きディスク ストライピング) ................................................................. 9 RAID 6(ダブル パリティ付きディスク ストライピング) .................................................... 10 RAID 10、5 および 6 の比較 .............................................................................. 11 XtremIO の先進データ保護スキームの概要 ....................................................... 12 XDP での効率的なストライプの更新 ................................................................... 14 効率的な再構築 ............................................................................................... 19 XDP の管理上のメリット ..................................................................................... 23 まとめ .............................................................................................................. 24 詳細について ................................................................................................... 25 XtremIO のデータ保護(XDP) 3 エグゼクティブ サマリー エンタープライズ ストレージ システムはいずれも、不可避のアレイ コンポーネントの 障害発生時にデータを損失から守るため、さまざまな形態の冗長性を導入して います。RAID(Redundant Array of Independent Disks)は、パフォーマンスだけでなく、 ディスク ドライブ(および、その後の反復、複数のディスク ドライブ)に障害が生じたと きに、データ保護の観点から複数のドライブにデータを分散するよう考案されたもの です。RAID 方式は、常にメディアの選択肢としてスピニング ディスクを前提に行われ てきました。その結果、望ましいレベルのパフォーマンス、容量オーバーヘッド、デー タ保護との間に、好ましくないトレードオフを余儀なくされてきました。 XtremIO では、単に既存の RAID アルゴリズムを導入するのではなく、フラッシュ メ ディアの特定のプロパティを活用するために、データ保護を一から見直し刷新しまし た。その結果得られたデータ保護アルゴリズム(XtremIO のデータ保護または XDP) のおかげで、従来の RAID アルゴリズムの最も優れた特性を組み合わせるのと同時 に、隠れた危険を回避し、完全に新しい、これまで不可能だった機能を XtremIO スト レージ アレイへ組み込むことに成功しました。また、XtremIO によるデータ保護では、 従来のあらゆる RAID アルゴリズムに比べて、基盤となるフラッシュ メディアの耐久 性(エンタープライズ フラッシュ アレイの考慮点)も大幅に強化されています。 XtremIO のデータ保護(XDP) 4 RAID の大まかな歴史 ディスク障害は、近代的なストレージ システムにおいて、いまだに主要な障害メカニ ズムの 1 つであり、潜在的なデータ消失の危険性をはらんでいます。 スピニング ハード ディスクの分野では、障害は通常、読み取り機能と書き込み機能 の同時喪失を意味します。RAID は、複数の物理ドライブにデータをセグメント化する ことで、スピニング ディスク障害から回復できるよう特別に考案されたもので、ほとん どの RAID アルゴリズムではデータを冗長的に処理および格納し、1 つまたは複数の 故障したドライブの情報を構築し直すために使用することができます。 しかし、SSD(ソリッド ステート ドライブ)では、故障のメカニズムが異なることがしばし ばあります。SSD の故障は、全体的な故障、部分的な故障、あるいは、一時的な故 障の可能性もあり、SSD のデータ保護スキームはすべてのシチュエーションに対応 することが求められます。SSD がなぜ故障するか、また、故障が起きたときに SSD がどのように動作するかというトピックは本ドキュメントの範囲外になりますが、 XtremIO は XDP の設計段階であらゆる SSD の障害メカニズムについても考慮され ています。 このドキュメントでは始めに、最も一般的な既存の RAID スキーム(RAID 1、0、10、5、 6)について考慮します。スペースの効率性とパフォーマンスのオーバーヘッドを分析 することで、SSD の障害を保護するために、RAID が最善策とは言えない理由を探り ます。次に、XDP がこれらのアルゴリズムをどのように比較し、スピニング ディスクで は不可能な多角的な革新をいかに可能にするかについて触れていきます。 XtremIO のデータ保護(XDP) 5 RAID 1(ミラーリング) このスキーマは、2 つの異なるディスクへのすべての書き込みを並列でミラーリング します。ユーザー書き込みごとにすべてが、ストレージ アレイによって 2 件の並列書 き込みへと変換され、読み取りはそのうちのいずれかのコピーから処理されます。 ミラーされたいずれかのディスクが故障しても、残りの正常なディスクにデータの完 全なコピーがあり、読み取りはそこから行えるため、情報が失われることはありま せん。故障したディスクが交換されると、データは正常なディスクから新しいディスク にコピーするだけで再構築できます。 ディスク: M1 M2 データ: A1 A1 A2 A2 A3 A3 図 1:RAID 1 – すべての受信書き込みは、2 台の別々のディスクにミラーされます。 このスキーマは再構築のパフォーマンスに優れていますが、50%の容量オーバー ヘッドが必要です。図では、2 つのディスクが 3 つのデータ ブロックをミラーリングし ています。 メリット: 効率的な再構築を行えるデータ保護。 欠点: 容量オーバーヘッドが原因で、コストがかさむ。 容量オーバー ヘッド: 非常に高い。有効容量は未フォーマット時の容量の 50%に限られる。 更新ごとの ユーザー書き 込み: ミラーの両サイドに 1 回ずつ、2 回の書き込み ブロック更新 の I/O オー バーヘッド: ユーザー書き込みごとに 1 回の書き込み。 XtremIO のデータ保護(XDP) 6 RAID 0(ストライプ) このスキーマでは、ストライプ)に均等に分割します。RAID 0 はパリティ情報なしで データを 2 つ以上のディスク(データの冗長性を提供せず、通常はパフォーマンスを 向上させるために使用されます。ただし、2 つ以上の物理ディスク(最低 2 つ)から大 型の論理ディスクを作成するためにも使用できます。データはストライプのすべての ディスクから並列で提供でき、結果として読み取りと書き込みの両方のアクションで 高いパフォーマンスが得られます。RAID 0 にはパリティ計算がなく(RAID 01 と同じ)、 書き込みパフォーマンスは最速です。 ディスク: D0 D1 D2 データ: A1 A2 A3 A4 A5 A6 A7 A8 A9 図 2:RAID 0 – すべての受信書き込みは、2 つ以上のディスクにストライプされます。 図では、9 つのデータ ブロックが 3 つのディスクにストライプされています。 メリット: 優れたパフォーマンス(ブロックがストライプされているため)。 欠点: 冗長性がない(ミラーリングもパリティもない)。クリティカルなシステム では使用しない。 容量オーバー ヘッド: なし。有効容量は raw 容量の 100%以上です。 更新ごとの ユーザー書き 込み: 1 回の書き込み。 ブロック更新 の I/O オー バーヘッド: なし。 XtremIO のデータ保護(XDP) 7 RAID 10(ミラーリング + ストライプ) このスキーマは RAID 0 と RAID 1 を組み合わせており、セグメントが RAID 1 アレイの ストライプ アレイとして実装されます。 RAID 10 には、RAID 1 と同じフォールト トレランスと容量があります。 ストライピング RAID 1 セグメントでは高い I/O レートを実現しています。特定の状況 下では、RAID 10 アレイは複数のドライブの故障が同時に発生する場合があります。 M1 M2 ディスク: D0 D1 D2 D3 データ: A1 A1 A2 A2 A3 A3 A4 A4 A5 A5 A6 A6 図 3:RAID 10 – すべての受信書き込みは 2 つの個別のディスクにミラーされ、2 つ 以上のディスクにストライプされます。図では、6 つのデータ ブロックが 4 つのディス クにストライプされています。 メリット: 最適なパフォーマンスと最適な再構築時間。非常に高い I/O レートを サポート。 欠点: 高コスト、高オーバーヘッド、拡張性が制限されてコストも高い。 容量オーバー ヘッド: 非常に高い。有効容量は未フォーマット時の容量の 50%に限られる。 更新ごとの ユーザー書き 込み: ミラーの両サイドに 1 回ずつ、2 回の書き込み ブロック更新 の I/O オー バーヘッド: ユーザー書き込みごとに 1 回の書き込み。 XtremIO のデータ保護(XDP) 8 RAID 5(パリティ付きディスク ストライピング) RAID 5 の「ストライプ」とは、複数のディスクに分散されたデータのブロックでできてお り、単一のパリティ ブロックが追加的なディスクに格納されます(データ ブロックに対 して、論理 XOR(論理積)処理を実行することにより算出)。パリティ ブロックを含む ディスクはストライプが新たに書き込まれるたびに、循環されます。RAID 5 のストライ プ サイズは、N+1 と表現されることがありますが(ここで N とはストライプのデータ ディスクの数)、4+1 と 5+1 が最も一般的です。RAID 5 では、2 台以上のドライブが 同時に故障した場合に、データの損失が生じます。これは実用的なストライプ幅が制 限されることを意味します。2 つのディスクが同時に故障する確率が高いため、実用 的なストライプ幅が制限されます。 ストライプ: D0 D1 D2 D3 A1 A2 A3 Ap Bp B1 B2 B3 C1 Cp C2 C3 N=3 図 4:A 3+1 RAID 5 配置 – 各ストライプには、3 つのデータ ブロックと 1 つのパリティ ブロックがあります。 メリット: 妥当な容量オーバーヘッドで、全体的なパフォーマンスも優れている。 欠点: どの基準でも最高ではない。RAID 10 のパフォーマンスの方が優れて いる。RAID 6 のデータ保護の方が優れている。 容量オーバー ヘッド: 1/(N+1)として計算。そのため、3+1 RAID 5 は 25%の容量オーバー ヘッドで、5+1 RAID 5 では 16.7%の容量オーバーヘッドが生じる。 更新ごとの ユーザー書き 込み: N+1 の書き込み(N 個の新しいデータ ブロックとパリティ ブロック更 新)、完全なストライプ書き込みを想定。 ブロック更新 の I/O オー バーヘッド: 1/N の書き込み(N はストライプでのデータ ディスクの数)、完全なスト ライプ書き込みを想定。 XtremIO のデータ保護(XDP) 9 RAID 6(ダブル パリティ付きディスク ストライピング) RAID 6 は RAID 5 に似ていますが、各ストライプには 1 個ではなく 2 個のパリティ ブ ロックが含まれます。RAID 6 では、データ列で論理 XOR 操作を実行して 1 つのパリ ティ ブロックを計算し、もう 1 つのパリティ ブロックはストライプのマトリックスで対角 線をエンコーディングして計算します。これにより、RAID 6 には 2 台のドライブで同時 に障害が発生したときにも存続できるという追加的な長所があります。 RAID 6 は元々、RAID 5 ストレージ アレイの再構築時間が長くなることで長期に渡る 縮退状態によりデータ消失の可能性が容認できないほど高まる大容量(1 TB 以上) の SATA ドライブ向けに考案されました。RAID 6 のストライプ サイズは、一般的に N+2(ここで N はストライプのデータ ディスクの数)として記述されます。RAID 6 では、 3 台以上のドライブの同時損失でデータが失われます。 D0 D1 D2 D3 D4 P Q A1 A2 A3 A4 A5 Ap Aq B1 B2 B3 B4 B5 Bp Bq C1 C2 C3 C4 C5 Cp Cq N=5 図 5:A 5+2 RAID 6 配置 – 各ストライプには、5 つのデータ ブロックと 2 つのパリティ ブロックがあります。 メリット: 堅牢なデータ保護 欠点: 高い計算のオーバーヘッドがパフォーマンスに影響する可能性がある。 容量オーバー ヘッド: 2/(N+2)として計算。そのため、5+2 RAID 6 は 28.6%の容量オーバー ヘッドで、8+2 RAID 6 では 20%の容量オーバーヘッドが生じる。 更新ごとの ユーザー書き 込み: N+2 の書き込み(N 個の新しいデータ ブロックと 2 個のパリティ ブロッ ク更新)、完全なストライプ書き込みを想定。 ブロック更新 の I/O オー バーヘッド: 2/N の書き込み(N はストライプでのデータ ディスクの数)、完全なスト ライプ書き込みを想定。 XtremIO のデータ保護(XDP) 10 RAID 10、5 および 6 の比較 ストレージ管理者はしばしば、容量、データ保護レベル、パフォーマンスの間で厳し い選択を迫られます。パフォーマンス重視のワークロードは、一般的に RAID 10 でプ ロビジョニングされますが、50%の容量オーバーヘッドというコスト高を突きつけられ ることになります。パフォーマンスをそれほど重視しないワークロードでは RAID 5 が 使用され、パフォーマンスへの要件が低い大容量データセットでは、RAID 6 で高い 防御を実現できます。 格納されたデータの種類が変化することに動的に対応するのが課題です。今日の 選択が、将来的に最適ではない RAID レベルのデータにつながる可能性もあります。 一部のストレージ システムでは RAID レベル間のライブ移行が可能であるものの、 データが発展を続ける限り、これを繰り返し行ったり、プロアクティブに管理する必要 がある場合もあります。これらのことを踏まえて、ストレージ管理は緻密な科学では なく「芸術」であると称されることもあります。 既存の RAID アルゴリズムの 1 つ(あるいはそれ以上)を単純に適用し、SSD に実装 するのではなく、XtremIO では、既存の RAID レベルの最高の属性を組み合わせ、 その一方で短所を回避した新しいタイプのデータ保護スキームの開発を目指してい ます。さらに、フラッシュの耐久性がオール フラッシュ アレイの特殊な問題点である ことから、XtremIO では書き込みサイクルをより少なく抑えられるデータ保護アルゴリ ズムの開発が不可欠であると考えました。これは、内部のアレイ処理(バックエンド I/O)と比較して、ホスト書き込み(フロントエンド I/O)で使用できる I/O サイクルの数 が増えることから、より高いパフォーマンスを実現しながら、アレイの SSD のサービ ス寿命を最大に伸ばします。 適切な容量 使用率 高パフォ ーマンス 優れた 保護 図 6:既存の RAID スキームでは多くのトレードオフが生じる。XDP は複数の RAID レ ベルの最高の属性を組み合わせ、それらを発展させることで従来不可能だった独自 の新機能を提供します。 XtremIO のデータ保護(XDP) 11 XtremIO の先進データ保護スキームの概要 XtremIO のデータ保護スキームは RAID といくつかの点で非常に異なります。XDP は 常にオール フラッシュ ストレージ アレイ内で機能するため、重要な設計基準が複数 あります。 非常に低い容量オーバーヘッド:フラッシュ容量はディスク容量より高価です。つまり、 低い容量オーバーヘッドに極めて広いストライピングを使用するのが望ましいと言え ます。XDP は 23+2 のストライプ幅 *を使用します。これはわずか 8%の容量オー バーヘッドに相当します。 高度なデータ保護性能:XDP は N+2 スキームを持つので、各 X-Brick で 2 台の SSD が同時に故障してももちこたえます。 迅速な再構築時間:XDP の再構築は極めて高速に行われます。これは、基盤となる メディア テクノロジーでフラッシュが高速であるのに加え、XtremIO のコンテンツ対応 アーキテクチャでは、再構築するのが 1 台のドライブの書き込みスペースだけであ るためです。空のスペースは検出後、スキップされます。さらに、XDP はフラッシュ固 有のパリティ エンコード アルゴリズムを備えており(本ドキュメントで後述)、ドライブ への I/O サイクルを少なく抑えながら、再構築を行います。加えて、再構築が 24 個 の残りのドライブすべてで行われるため、再構築プロセスが加速化されます。 フラッシュ耐久性:XDP で必要なストライプ更新ごとの書き込み数は、その RAID アル ゴリズムより少なくて済みます。この機能拡張によりフラッシュの耐久性は標準的な RAID 方式に比べて、最大 2.5 倍長持ちします。 パフォーマンス:ストライプ更新ごとの I/O 処理を少なく抑えることで、XDP ではホスト (フロントエンド)I/O の使用できるドライブ I/O サイクル数が増え、結果的にアレイの パフォーマンスが上がります。 では、XDP はどのようにしてこれらの一見正反対に思える目標を同時に達成してい るのでしょうか? その秘密は、SSD 上のどこにでもデータを配置し、どこにあるデータ にもアクセスできるというアルゴリズムの特性にあります。従来の RAID アルゴリズム では、ディスク ドライブのヘッドの検索を避けるため、いかにデータを連続して配置 するかということを考慮しなければなりませんでした。XDP は、アレイ上のフラッシュ のようなランダム アクセス メディアを利用するため、効率的な方法で、データを配置 し、読み取ることが可能です。この方法は、ディスク ベースの RAID アルゴリズムに は大きな足かせとなりますが、XtremIO のオール フラッシュ アーキテクチャでは何の 問題もありません。 XDP は N+2 の行と対角線のパリティの変種を使用します。下の図 7 で XDP のデー タ レイアウトのサンプルを参照してください。 * 10TB スターターX-Brick(5TB)の場合、XDP は 11+2 ストライプ幅を使用します。 XtremIO のデータ保護(XDP) 12 k-1 D0 D1 D2 D3 D4 P Q 1 2 3 4 5 P1 Q1 2 3 4 5 1 P2 Q2 3 4 5 1 2 P3 Q3 4 5 1 2 3 P4 Q4 Q5 k = 5(主要) 図 7:サンプル XDP データ レイアウト XDP は行(P)と対角線(Q)のパリティ計算を活 用します。ここでは 5+2 のストライプを表示していますが、実際に XDP の使用するス トライプは 23+2 です。それぞれの XDP 保護ストライプでは 23 の列と 28 の行が使 用されます。 図 7 では、XDP の行ベースのパリティは赤の長方形で表示され、パリティ ブロックは 「P」列に格納されます。XDP の対角線パリティは青の長方形で表示され、パリティ ブ ロックは、「Q」列に格納されます。「Q」のパリティ ブロックの位置は、対角線の番号 スキーム(図の 4 つの数字)に相当します。 対角線上のパリティ(複数の行ベースのストライプに分散)を効率的に計算するため に、XDP は 23 *28 = 644 のストライプ サイズのデータ ブロックでデータを書き込み ます。その結果、全データがメモリにある間に、対角線上のパリティを計算できます。 XtremIO のデータ保護(XDP) 13 XDP での効率的なストライプの更新 ところで、従来の RAID と比較したとき、XDP のデータ レイアウトは XtremIO アレイにどのような 利点をもたらすのでしょうか? 答えはストライプの更新を実行するのに必要な I/O オーバーヘッ ドにあります。 パリティ ベースのいずれの RAID ス フル ストライプ更新とストライプ更新の比較 キームでも、ストライプの 1 つのブ XDP を含め、どのようなパリティ ベースの RAID アルゴリズ ロックを更新するよりも、フル ストライ ムでも、既存のストライプを新しいデータで更新するより、 プ書き込みを実行する(つまり、既存 「フル ストライプ」を書き込む方が、I/O オーバーヘッドの量 が少なくなります。フル ストライプ書き込みで必要なのは、 のロケーションにあるデータを更新す パリティを計算するための計算オーバーヘッドのみであり、 るより、空のロケーションにデータを ドライブ自体で必要になるのは新しいデータおよび関連づ 書き込む)処理の方が極めて高速で けられたパリティ ブロックの書き込みのみです。更新には す(I/O オーバーヘッドが低いため)。 既存のデータ ブロックとパリティ ブロックの読み取り、新し フル ストライプ書き込みで必要にな いパリティの計算、新しいデータと更新パリティの書き込み が必要になります。つまり、フル ストライプ書き込みの方が るのは、パリティの計算とデータの書 望ましく、アレイが空であれば実行するのも容易です。 き込みのみです。しかし、既存のスト しかし、アレイが埋まってくると、アレイで、フル ストライプ ライプを更新するとなると、まず、スト 書き込みを実行するための空のスペースを見つけるのが ライプ上のデータおよびパリティ ブ 困難になるため、ほとんどの書き込みは既存のデータ ブ ロックを読み取り、更新されたデータ ロックの上書きになり、結果的にストライプの更新の発生 を基に新しいパリティを計算し、その が増え、パフォーマンスは低下します。 後、データおよびパリティ ブロックを このような状況に対処するための一般的な戦略は、既存 のストライプ上で古くなったデータを探すガベージ コレク 書き込むことになります。たとえば、 ション機能を実装し、古くなったデータをフル ストライプとし RAID 6 では 1 ブロックの更新に 3 回 て再パック化してスペースの再利用を促進し、新しい書き の読み取り(既存のデータ ブロックと 込み用のフル ストライプが(できれば)常に存在するように 両方のパリティ ブロック)と 3 回の書 することです。フラッシュ アレイでは、これは望ましいアプ き込み(新しいデータ ブロックと再計 ローチではありません。ガベージ コレクションの動作は、 算したパリティ ブロック)が生じます。 予想不可能なパフォーマンス低下の原因となり(ガベージ コレクション機能自体が I/O サイクルとアレイの計算オー RAID 6 ボリュームへの書き込みの平 均 I/O オーバーヘッドを減らすコツは、 バーヘッドを消費するため)、フラッシュをより短い期間で 使いきってしまうことになります(1 つのロケーションから できる限り単独のブロック更新の回 データを取得し、新しいロケーションにそれを再度書き込む 数を減らし、フル ストライプ書き込み ことは、フラッシュ メディアが持ちこたえる書き込み数を減 の回数を増やすことにあります。ただ らすことになります)。 し、これはアレイが埋まるにつれ、ま XtremIO は、この問題に対する極めてユニークなソリュー ションを開発しました。XtremIO アレイは、ガベージ コレク すます困難になります。空き容量が ションの代わりに、アレイの使用期間が長くなるほどストラ 少なくなるとアレイのパフォーマンス イプの更新が重要になるという「仮定」を使用します。XDP が著しく低下する原因の 1 つがこれ のアルゴリズムは、アレイが埋まるに従って、一貫性のあ です。アレイは空のフル ストライプを る、予測可能なパフォーマンスを提供する一方、アレイ上 見つけられないため、部分的ストライ で最も空き容量の多いストライプに効率的に新しい書き込 みを行っていきます。XDP はガベージ コレクションによって プ更新を何度も実行しなければなら 生じる書き込みの増幅を回避します。その結果、XtremIO なくなるのです。これが原因で、バッ アレイは、従来の RAID 実装に比べて、フラッシュの寿命を クエンド I/O のレベルが高くなり、本 最大で 2.5 倍伸ばし、その一方で一貫したパフォーマンス 来ならフロントエンドのホスト リクエス を提供します。 トに対応することができたであろう ディスク IOPS を消費することになります。 XtremIO のデータ保護(XDP) 14 XtremIO アレイと XDP の動作は根本的に異なります。XtremIO アレイは論理アドレス上で はなく、個別のコンテンツ フィンガープリントを基にブロックを格納します。物理レイヤー上 では、新しいユニークなデータ ブロックを書き込む先について、XtremIO アレイは一切制限 を受けません(この性能はオール フラッシュ デザインでのみ実現可能です)。従来のアレ イは、ディスク上の同じ物理ロケーションの論理ブロック アドレスを更新します(このため、 ストライプの更新で I/O オーバーヘッドが高くなります)。オール フラッシュ アレイには通常、 古くなったデータを解放し、フルの空のストライプにしようとするガベージ コレクション機能 が備えられています。しかし、XtremIO 上の論理ブロック アドレスへの更新は、コンテンツ のフィンガープリントに基づいたディスク ベースの新しいロケーションに書き込まれます (コンテンツがすでにアレイ上に存在する場合は、ブロックは単に重複排除されます)。 従来の RAID と同様に、XDP は新しいブロックと変更されたブロックをまとめてアレイ上にあ る空のストライプにそれらを書き込むことで、可能な限り多くのフル ストライプ書き込みを実 行しようとします。しかし、XDP では、フル ストライプが使用できなくても、従来の RAID で生 じたような部分的なストライプの更新オーバーヘッドの増加を招いたり、XtremIO が特定の データを更新しないことが原因で他のフラッシュ アレイにあるようなガベージ コレクション が実行されることはありません。むしろ、アレイは常に、使用可能な最も空きの多いストラ イプにデータを書き込みます。また、後で触れますが、部分的なストライプの更新に対する XDP の I/O オーバーヘッドは通常、従来の RAIDs に比べてはるかに小さくなります。 その結果、XtremIO では、ストライプ更新に起因するフル RAID 6 の I/O オーバーヘッドは ほとんど発生しません。そうした操作での XtremIO の平均 I/O オーバーヘッドは、フル スト ライプ書き込み一回分とほとんど変わりません。実際に、XtremIO の平均的な更新パ フォーマンスは、RAID レベルで最高のパフォーマンスを誇る RAID 1 に比べて約 40%良い という結果が出ています。 この動作を説明するために、XtremIO アレイが 80%使用中、つまり、空き領域が 20%しか ない状況を考えてみてください。この例は、アレイが埋まりそうでも XDP がパフォーマンス を維持できることを示すために使っています。この状況は他のフラッシュ アレイ設計では問 題が生じます。なぜなら、新しい受信データのために完全に空の RAID ストライプを作成す る目的でデータを移動させる際に、ガベージ コレクション メカニズムに頼っているからです。 アレイが埋まるに従い、これはますます困難になります。書き込みワークロードが多い状 況ではさらにその傾向が強まります。 逆に、XDP ではフル ストライプを必要としません。XDP は反対に、部分的なストライプ書き 込みを扱うときにより優れた性能を発揮するように設計されています。部分的なストライプ 書き込みを行う状況は、アレイをしばらく使用していれば、通常の、安定状態の稼働条件と なります。 新しいデータが XtremIO アレイに入ってくると、XDP は最も占有率の小さいストライプを選 びます。パリティ更新のオーバーヘッドとディスク アクセスを最も低く抑えることができるた めです。この更新の後、このストライプはフルになり、平均的ではあるものの、ストライプの 残りの空き容量は、20%をわずかに上回ります。この書き込み/削除シナリオを 80%フル のアレイで繰り返すと、ゼロ(フル ストライプ)から 2 倍のアレイ空白スペース(このケース では 40%、(20% x 2 の空き)までの空き領域をストライプ中に均等に分散できます。 XtremIO のデータ保護(XDP) 15 図 8:XDP は、使用量に応じてすべてのストライプを評価し、常時、最も空き容量の 多いストライプに書き込みます。この簡略図では 10 台のデータ ドライブ(列)と 10 本のストライプ(行)があります。最も空き容量の多いストライプは一番下にランク付 けされます。この例は 80%使用されているアレイを示しています。 XDP には 644 のデータ ブロックがあり、ストライプの更新は、平均で、ストライプ (80%使用中のアレイ)の 40%の空き領域で実行されることになり、つまり、XDP に はユーザーの書き込みごとに使用可能なストライプに、ユーザー書き込みごとに 644 の 40% *、つまり約 257 のデータ ブロックが存在することになります。ストライプ が更新されると、パリティの再書き込みにオーバーヘッドが生じ、XDP には行パリティ が 28 ブロック、対角パリティが 29 ブロック、合計 57 + 257 = 314 の書き込み処理 があります。257 ブロック分のユーザー データを格納するための 314 回の書き込み 処理は、1.22 回の I/O オーバーヘッドということになります。ストライプ更新ごとの XDP の読み取りオーバーヘッドは 1.22 の I/O に等しく、更新済みのパリティの計算 を実行するために、既存データとパリティ ブロックの読み取りが必要になります。 * XDP の仕組みにより、XDP で最も空きの多いストライプには、システム レベルの空き領域よりも平均して 2 倍の空きブロック があります。 XtremIO のデータ保護(XDP) 16 図 9:XDP は常に最も空きスペースの多いストライプに新しいデータを書き込みます (スタックの一番下)。この例では 4 つのブロックが空いています(2 つが空で、2 つ が上書き可能)。XDP はこの方法を使用することで、ストライプ更新の I/O オーバー ヘッドをできるだけ効率的に使います。 図 10:ストライプが更新されるたびに、XDP は全ストライプを再評価するため、次回 の更新も最も空き容量の多い領域に実行されます。ホストが論理アドレスを上書き するのに応じて、SSD 上の古いロケーションは上書き可能な空きスペースとしてマー クされます。 XtremIO のデータ保護(XDP) 17 表 1: 対 XDP でのさまざまな RAID スキームの I/O オーバーヘッドを比較しています。 アルゴリズム ストライプ更新ご との読み取り 従来型アルゴリズ ムの読み取りの デメリット ストライプ更新ご との書き込み 従来型アルゴリズ ムの書き込みの デメリット XDP 1.22 — 1.22 — RAID 10 0 — 2 1.6x RAID 5 2 1.6x 2 1.6x RAID 6 3 2.4x 3 2.4x フラッシュ ベース システムでの従来の RAID に見られるデメリットは、パフォーマンス の低さだけでなく、フラッシュ メディアの寿命の短さにもありました。フラッシュ ドライ ブの書き込みサイクルの回数が有限であることから、XDP は XtremIO アレイのパ フォーマンスを改善するだけでなく、寿命も伸ばすことができます。これはエンタープ ライズ ストレージ アレイにおいては十分に優れたメリットと言えます。RAID 6 を実装 する別の製品と XtremIO を比べてみましょう。いずれも N+2 のデータ保護を提供し ますが、XtremIO は 2.4 倍優れた I/O パフォーマンスを実現する上に、フラッシュの 寿命は 2.4 倍長持ちします。 XDP のメリットは、更新に限られたものではなく、SSD の障害発生時の再構築など、 その他の重要なストレージ操作でも発揮されます。 XtremIO のデータ保護(XDP) 18 効率的な再構築 XDP の革新的な対角線ベースのパリティ スキームはドライブの再構築時にも重要な 役割を果たします。1 台のドライブに障害が発生した後、行ベースのパリティ情報の みで障害のあったドライブの再構築を実行することは可能です(障害の発生したブ ロックごとに K *ブロックの読み取りが必要になる)。しかし、これは XDP が使用する 方法ではありません。 D0 Q 行 4 D1 D2 D3 D4 2 3 4 5 1 3 4 5 1 2 4 5 1 2 3 5 1 2 3 4 P 5 5列 図 11:RAID では、1 台のドライブの障害(D0)は行ベースのパリティ(P)を使用して 再構築できます。これには、故障したドライブ上にある不足データ ブロックを再構築 するために、K1 ブロック(D1、D2、D3、D4、P)の読み取りが必要になります。XDP は この方法より格段に効率的な方法を取ります。 XDP は行と対角線の両方のパリティを使用して再構築を促進します。D0 が故障した とします。XDP は行パリティを使用して最初の 2 つのブロック(D0-1、D0-2)を復元し ます。従来の RAID を使用した場合、行ベースのパリティによる再構築プロセスは残 りの行で実行されます。 * K:ストライプにあるデータ列の数、またはストライプにあるディスクの総数。パリティ ディスクを除く。XtremIO ストレージ アレ イでは K=23。 XtremIO のデータ保護(XDP) 19 D0 D1 D2 D3 D4 2 3 4 5 1 3 4 5 1 2 4 5 1 2 3 5 1 2 3 4 P Q 5 図 12:XDP の高効率再構築プロセス。この例では、最初の 2 行が従来の行ベース のパリティを使用して再構築されます。 ただし、XDP を使用すると、システムがこの 2 つの行を読み取るにつれ、システムは メモリにデータ ブロックの一部を保持します。後で対角線ベースのパリティで再構築 を行うときに再利用できるためです。図 12 では D2-3、D3-4、D1-3、D2-4 のブロック が同じように保持されます。XDP では、このすでに読み取られた情報を使うことで、 あといくつかの追加ブロックを読み取るだけで対角線のパリティ ストライプを完了で きるので、再構築のために残りの行をすべて読み取る必要がなくなります。その結 果、SSD ごとの読み取り I/O は最小限になり、全体的な再構築プロセスの時間と効 率が改善されます。 たとえば、4 番のブロックの対角線ストライプ(D0-4、再構築が必要、D1-4、D2-4、 D3-4、Q-4)は、前の行ベースの再構築処理で、メモリ上にすでに D2-4 と D3-4 のブ ロックを保持しています。 D0 D1 D2 D3 D4 1 2 3 4 5 1 2 3 4 5 1 2 4 5 1 2 3 5 1 2 3 4 P Q 5 図 13:XDP は、D0-1 と D0-2 の再構築に行ベースのパリティを使用しています。これ により、メモリ内の緑色にマークされたブロックも保持されます。そのため、再構築を 完了するために再読み取りする必要はありません。このデータは、対角線のパリ ティ(Q)で再構築を完了するために使用されます。 XtremIO のデータ保護(XDP) 20 D0 D1 D2 D3 D4 1 2 3 4 5 1 2 3 4 5 1 2 4 5 1 2 3 5 1 2 3 4 4 P Q 5 図 14:XDP の対角線ベースのパリティでは、再構築に必要な I/O 処理の回数を減ら すことができます。ここで、D0-4 は D0-1 と D0-2 の行ベースの再構築中に保存され た情報と、対角線の情報 D1-4 および Q-4 を組み合わせて再構築されました。 つまり、D0-4 の再構築には、2 回の読み取り(D1-4 および Q-4)しか必要ではなかっ たことになります。ここで、従来の RAIDs であれば、5 回の読み取り(D1-5、D2-1、 D3-2、D4-3、P)が必要でした。同様に、D0-3 の再構築で必要になるのは、D4-3 と Q-3 の読み取りだけです。 再構築プロセスは、残りの 24 台のドライブすべてで同時に実行されます。システム は、XDP の残りの SSD をすべて使って同時に大量のストライプを再構築します。これ によってプロセスが加速化され、再構築の時間が削減されます。 この方法では、損失したパリティ列の再構築時にはメリットがないため、平均で 3K/4 をわずかに上回るだけの読み取りが必要になります(それぞれのディスクには、循 環パリティ スキームにデータとパリティの両方の列が含まれることを思い出してくだ さい)。こうしたスキームが、生き残ったディスク間に均等に再構築の読み取りを振り 分けます。 XtremIO のデータ保護(XDP) 21 表 2:XDP と RAID アルゴリズムの比較。 アルゴリズム K *幅の障害のあるディスク ストライプを再構築するための 読み取り 従来のアルゴリズムのデメリット XDP 3 K/4 — RAID 10 1 なし RAID 5 K 33% RAID 6 K 33% XDP の効率面のメリットは、再構築の高速化のほか、さらに、再構築の完了に必要 なバックエンド I/O を減らし、ユーザー データ用により多くのフロントエンド I/O を振り 分けられるようになることから、再構築中のアレイのパフォーマンスも改善できるとい う 2 つの利点があります。 * K:ストライプにあるデータ列の数、またはストライプにあるディスクの総数。パリティ ディスクを除く。XtremIO ストレージ アレ イでは K=23。 XtremIO のデータ保護(XDP) 22 XDP の管理上のメリット XDP のメリットは優れたデータ保護、パフォーマンス、容量使用率、フラッシュの寿命 などに限られたものではありません。アルゴリズムはソフトウェアへの実装度が極め て高いため(ASIC や FPGA などのハードウェア コントローラーと比較して)、将来の X-Brick の設計が明らかになったとき、大きな柔軟性を発揮します。この柔軟性は、 一般的な障害が発生したときに XDP がどのように動的に反応するかという点で実証 されています。 標準的な XtremIO X-Brick にはデータ用に 23 台、パリティ用に 2 台の計 25 台の SSD が含まれています。1 台の X-Brick に含まれる 25 台の SSD の 1 台が故障する と、XDP は素早く障害の発生したドライブの再構築を開始します。その一方で、アレ イに新しく書き込まれる全データに対し、N+2 のダブル障害保護を維持するために 22+2 のストライプ サイズに新たな受信書き込みをダイナミックに再構成します。いっ たん再構築が完了し、障害が発生したドライブが交換された後、着信書き込みは再 び標準の 23+2 のストライプで書き込まれるようになります。この適応性のおかげで、 XDP は連続して発生する SSD の障害に対応できるため、故障した SSD を交換する ためにデータセンターに急ぐ必要がなくなります。 XDP は、ドライブの再構築を行うためにリザーブ容量として約 5%を確保しており(こ のリザーブは XtremIO の有効容量には含まれない)、アレイに使用可能な容量があ る限り(フル X-Brick の場合は最大 5 つの故障まで、10TB スターターX-Brick(5TB) の場合は最大 4 つの故障まで)、ユーザーI/O を提供しながら故障したドライブを何 度でも再構築できます。アレイの使用できる容量は減っていき(問題のあるドライブ が交換されるまで)、稼働ドライブが少なくなるため、若干速度が落ちる可能性はあ るものの、健全で保護された状態が保たれます。これは極めてユニークな機能と言 えます。この機能のおかげで、管理者は都合の良いときまでドライブの交換を引き 延ばすことができるので、リモートのセキュアな「無人運用」型データセンターでは特 に重要です。この副次的な効果は、アレイにホット スペアが不要なことです。要する に、システム内のスロットごとにアクティブにデータを格納し、アレイのパフォーマンス を追加する SSD が存在しています。 XtremIO のデータ保護(XDP) 23 まとめ XtremIO のデータ保護スキームは、ストレージ アレイ テクノロジの進歩を体現してい ます。フラッシュ ストレージの独自のプロパティに合わせて設計し、それを活用する ことにより、XDP は、XtremIO アレイをより使いやすくし、コストは低く抑えながら、より 良いパフォーマンスと高い耐久性をもたらすことに成功しました。 XDP のメリットは次のとおりです。 • N+2 データ保護 • 8%という驚くほど低い容量オーバーヘッド • あらゆる RAID アルゴリズムを上回るパフォーマンス • どの RAID アルゴリズムより優れたフラッシュ持続性 • 従来のパリティ ベースの RAID アルゴリズムと比べて短い再構築時間 • システムに障害の発生したドライブが含まれていても、着信データを完璧に保護 する適応性の高いアルゴリズムのもたらす優れた堅牢性 • 同一個所の故障サポートによる管理性の向上 • SSD の再構築に「ホット スペア」ではなく「空き領域」を使用することで、耐久性を 向上し、アレイが満杯の場合でも少なくとも 1 つの SSD 障害の再構築が可能 これらのメリットによって、XtremIO のオール フラッシュ アレイは、ストレージ管理者 に世界最高品質を提供します。今後は、特定のデータセットに使用する RAID スキー ムに迷うことも、トレードオフもありません。XtremIO を使用すれば、最高のデータ保 護を行うのと同時に、最高のパフォーマンスも実現できます。 XtremIO のデータ保護(XDP) 24 詳細について XtremIO のストレージ アレイの性能や、パフォーマンス、運用効率、使いやすさ、総 所有コストが大幅に改善する方法について、より詳しいプレゼンテーションをご希望 の場合は、XtremIO([email protected])までお問い合わせください。会合または Web 会議を手配いたします。XtremIO には多くの環境でメリットがありますが、仮想 サーバー、仮想デスクトップ、データベース アプリケーションで特にその効果を発揮 します。 お問い合わせ お客様のビジネスやITに関する問題 の解決に役立つEMCの製品、サービ ス、ソリューションの詳細については、 EMCセールス担当者またはEMC認定 リセラーまでお問い合わせください。 あるいは、EMCのWebサイト japan.emc.com をご参照ください。 EMC2、EMC、EMCのロゴ、XtremIO、XtremIOのロゴは、米国およびその他の国におけるEMC Corporationの登録商標または商標です。VMwareは、米国およびその他の国におけるVMware, Inc.の登録商標です。© Copyright 2015 EMCジャパン株式会社 All rights reserved.(不許複製・禁無断転載) Published in the USA. 04/15 EMCホワイト ペーパー EMC Corporationは、この資料に記載される情報が、発行日時点で正確であるとみなしています。 この情報は予告なく変更されることがあります。 XtremIO のデータ保護(XDP) 25