DRAID
IBM Spectrum Virtualizeの強み
IBM Spectrum Virtualize ファミリーは 、IBM SAN Volume Controller(SVC)を起源にもつストレージ制御ソフトウェアを組み込んだ製品群であり、IBMのエントリーからミッドレンジ、ハイエンドまでをカバーする幅広いストレージ製品群である。
エントリー・タイプのIBM Storwize V5000、ミッドレンジからハイエンドをカバーするIBM Storwize V7000、Flash Coreテクノロジーを搭載したオールフラッシュ・アレイであるIBM Flash System 9100、市販されているIAサーバーをSVCにするIBM Spectrum Virtua lize soft ware、パブリック・クラウド上でSVCを実装するIBM Spectrum Virtua lize for Public Cloud (SV4PC)などがこれに含まれる。
ハードウェア仕様の違いにより能力に差はあるものの、これらの製品は基本的に操作性も機能性もほぼ同じように扱える点が、IBM Spectrum Virtualizeファミリーの強みである。
IBM Spectrum Virtualizeファミリーの備える特徴的な機能の1つとして、Distributed RAID がある。少々長い名称なので、通常 DRAID(ディー・レイド)と略される。
現在、DRAIDにはDRAID5とDRAID6の2種類がある。DRAIDは比較的新しく実装されたRAID技術だが、今では機能的優位性から、製品開発部門によりその利用が強く推奨されている。
最近では従来からあるRAID5やRAID6と、新しいDRAID5やDRAID6を混同しないよう区別するために、旧来からあるRAID5をTraditional RAID5、またはTRAID5(ティー・レイド・ファイブ)などと呼ぶことがある。RAID6 も同様に、TRAID6である。
本稿ではDRAIDと、従来からあるRAIDの混同を防ぐため、従来からあるRAID5とRAID6をTRAID5、TRAID6と表記する。
DRAIDの利用をユーザーに促すため、最新のIBM Storwize V5000E(Gen3と呼ばれる製品)では、すでにTRAID5やTRAID 6の設定ができなくなっている。
メディア・ドライブの技術動向と
潜在する課題
HDDは長い間、ストレージの主力メディアであり、ドライブとしてその座に君臨し続けてきた。しかしNAND型フラッシュ・メモリを利用したSSDの普及により、1万5000rpmである高速HDDはすでにSSDより容量単価が高くなっている。
SSDはHDDより速く、機械動作のない分、故障が発生しづらいので、市場では今やSSDが選択肢の第1候補とされている。残念ながら、高速HDDを継続利用していく合理的な理由はもはや見つからない。
これに対して、低速・大容量タイプのHDDは容量単価の面でまだSSDより廉価であり、記録密度の観点でも今後も向上していくことが見込まれる。このため、アクセス速度が低速であることを容認したエリアでは、今までどおり積極的に利用されていくであろう。
結果的にドライブ選択という観点では、高速な分野はSSD、低速でも大容量が必要な分野はHDDと二極化が進むと考えられる(図表1)。
この2つの選択肢は結果的にユーザーに対して、HDDの大容量化によるリカバリー時間の長期化と、SSDの書き込み寿命という2つの潜在的な課題を浮かび上がらせることになる。
HDDの大容量化による
リカバリー時間の長期化
従来からあるTRAIDでは、複数のデータ・ドライブ(HDDまたはSSD)の中をストライプして配置されたデータが、パリティとともに保存される。データとパリティは、各ドライブをまたがる形でローテートしながら分散配置される(図表2)。
ストライプのセット単位にパリティが1つ配置されるのがTRAID5であり、パリティが2つ配置されるのがTRAID6である。スペアー・ドライブはRAID構成上必須ではないが、これがあるとドライブ障害が発生した場合、正常状態へ回復させる処理が即座に開始できるので、用意することが常識化している。
従来からあるTRAIDでは、スペアー・ドライブは固定される。この役割分担は、スポーツ試合でのスターティング・メンバーと、残念ながら選ばれなかった控えの選手を想像すれば理解しやすいだろう。
実際にデータを記録しているドライブはスタメンのドライブであり、スペアー・ドライブはベンチで待っている控えの選手である。データ・ドライブが1本壊れると、そのドライブ上に存在していたデータを復旧させるために、制御装置はすべてのドライブをアクセスし、逸失データを1本のスペアー・ドライブへと復元していく。
たとえ予備のスペアー・ドライブが複数本用意されていたとしても、1本のデータ・ドライブに障害が発生した場合に使われるスペアー・ドライブは1本となる。これはスポーツの試合中に誰か1人が怪我をしたら、交代するメンバーは常に1人だということと同じである。
ここに10TB HDDが7本あり、6本のデータ・ドライブと1本のスペアー・ドライブで構成されたTRAID5があるとしよう(図表3)。
データ・ドライブが1つ壊れた場合、残った5本のドライブから1本のスペアー・ドライブへデータを復元することになる。
この結果、スペアー・ドライブへの書き込みスピードがリカバリー時間全体のボトルネックとなる。1TBの低速・大容量HDDへ全力でデータを書き込んだ場合、約6時間かかる。これをRAID状態、つまりデータへのアクセスと並行しながら回復目的のコピーを実行すると約24時間程度かかる。つまり1TBのHDDの障害復旧には、約1日かかると考えておけばよい。
この復元時間は、容量に正比例する。現在、HDD 1本のサイズは16TBのものさえ存在する。近い将来、1本20TB入るHDDも出現するだろう。上記例の場合では、10TBのデータが回復されるまでに10日程度かかってしまうことを意味する。
つまり1本のHDD容量が多くなればなるほど、リカバリー時間は長期化するのだ。この間、ユーザーはデータロストが確実に発生する2本目の障害が起こらないよう、ひたすら神に祈るしかない。
従来よりも高速な
リカバリーが可能なDRAID
DRAIDは独立したスペアー・ドライブを置かず、スペアー領域をデータやパリティと同じように各ドライブへストライプさせて保管するRAID方式である(図表4)。
スペアー領域も、データ領域と同様にローテートする。こうすることで、回復のための書き込み操作を複数のドライブに対して実行できる(図表5)。
つまり、スペアー・ドライブへの書き込みボトルネックが発生しない点がポイントである。従来のように1本のスペアー・ドライブに集中化しないので、ドライブの数が多くなればなるほど、リカバリー処理が速くなる。
またスペアー・ドライブ用領域はドライブの本数換算で複数設定できる。この場合、追加されたドライブ本数分だけ分散が広がるので、よりリカバリー時間は早くなる。
従来TRAIDでは、最大16本までのドライブでしか1つのRAIDを構成できなかった。これに対してDRAIDでは、最大128本までのドライブで1つのRAIDを構成できるのも、こうした理由による。
DRAIDによる
SSD書き込み寿命の延長
NAND型フラッシュ・メモリは、多くのSSDで利用されている記録用メモリである。NAND型フラッシュ・メモリにデータを書き込むと、記憶用のエリアに、ある程度のダメージを受ける。一定回数以上の書き込みを行うと、このダメージの累積が限界を超え、メモリの記録状態を保持できなくなる。これが書き込み寿命の課題である。
SSDの書き込み寿命を延ばすために、各社はドライブ・レベル、制御装置レベルでいろいろと工夫しているが、本稿の本題であるDRAIDを使うことで、確実にSSDの書き込み寿命を延ばせる点が注目に値する。
前述したのと同じように、10TB SSDが7本あり、6本のデータ・ドライブと1本のスペアー・ドライブで構成されたTRAID5を考えてみよう(図表6)。
SSD単体の書き込み可能回数を1万回とする。この装置が非常に優秀な均等配置を行った場合、すべてのデータ・ドライブでほぼ同時に寿命が減っていくことになる。
しかしドライブ障害が発生しなければ、スペアー・ドライブへの書き込みは起こらないので、書き込み寿命はまったく減らない。これは少しもったいない。ここでDRAIDの登場である。前述のとおりDRAIDはスペアー・ドライブをもたず、スペアー領域を各ドライブに分散できる。
このケースでTRAID5は7本で構成されているが、1本はスペアーであるため、実際には6本のSSDにデータを書き込むことになる。単純計算として、RAID全体として最大6万回の書き込みができるわけだ。
しかし DRAID6 なら7本すべてが稼働するので、最大7万回の書き込みができる。もし、DRAID全体の書き込み寿命をさらに延ばしたいなら、スペアー容量として、もう1本SSDを足すこともできる。この場合、8本分、8万回の書き込みに対応できる。
DRAID6は
最初に検討すべき選択肢
DRAIDは、今後使われる低速・大容量HDDのリカバリー時間を加速させられる。またSSDの書き込み寿命を延ばすなど、ほかに類を見ないユニークな利用メリットをユーザーにもたらす。今回は誌面の都合で取り上げなかったが、スペアー・ドライブをデータ・ドライブ化することでアクセス分散が図れるので、パフォーマンス向上も期待できる。
これまでストレージ装置を構成する場合、選択するドライブの種類、容量、保管するデータの重要度などによって、構成するRAIDの種類を検討してきた。だが、IBM Spectrum Virtualizeファミリーを利用する場合、現段階なら無条件にDRAIDを選択すべきであろう。
RAIDのサイズという点で考えると、パリティ領域がより少ないDRAID5を複数構成し、RAIDのサイズを小さくするよりも、大きなDRAID6を1つ構成するほうが容量効率の観点で有効である。
可用性、経済性、パフォーマンスのどれをとっても、DRAID6 は最初に検討すべきRAIDの選択肢であると言えるだろう。
著者
佐野 正和氏
日本アイ・ビー・エム株式会社
システム事業本部
ストレージ・エバンジェリスト
1986年に日本IBMに入社。30年以上にわたり、ストレージのテクニカル・サポートやビジネス企画などの業務に従事。2006年にストレージのエバンジェリストを拝命し現在に至る。通常業務のほかに、講演や執筆活動、Facebookを使った情報発信などさまざまな活動を行っている。
[IS magazine No.26(2020年1月)掲載]