企業向けストレージシステムとしての利用が広がっているフラッシュドライブ(SSD)と、その利用法の基本となるストレージ階層化について紹介する。
Solid State Drive(以下、SSD)は、コンシューマー製品などにも採用が広がっているのでご存じの方も多いと思う。SSDは書き換えが可能で、電源の供給なしにデータを保持することができる半導体メモリ(その意味ではRAMでもROMでもない)、いわゆるフラッシュメモリをHDDと同様に使うものである。フラッシュドライブと呼ばれることもある。高速・高信頼なファイバーチャネルのHDDと比べても飛躍的な利点があるため、企業向けのストレージにおいても採用が広がっている。EMCでは、コンシューマー向けに提供されてきたSSDとは一線を画すという意味で「エンタープライズ・フラッシュ・ドライブ(EFD)」として2008年2月にリリースした。では、企業向けのストレージシステムに使われているフラッシュドライブは、どのような点がコンシューマー向けのSSDとは異なるのか(本稿では企業向けSSDをフラッシュドライブと記述する)。
コンシューマー向けのSSDは通常、コストを重視して、1つのセルに複数のビットを書き込む「マルチレベルセル」方式を採用している。一方、フラッシュドライブでは、1つのセルに1ビットしか書き込まない「シングルレベルセル」を採用して耐久性やアクセス速度を上げている。さらに、信頼性を高めるために、同じセルに何度もデータを書き込まず、書き込みデータを空きセルに満遍なく割り振るウェアレベリング機能を搭載している。またフラッシュドライブでは、キャッシュ搭載、デュアルポートのインタフェースなどの機能も付加されている。
フラッシュドライブの最大の利点は、ミリ秒以下の高レスポンスタイムという圧倒的なパフォーマンスにある。従来の15000rpm(回転/分)ファイバーチャネルドライブと比べても、ドライブ単体で最大30倍のIOPS(秒間当たりに処理できるI/O数)を達成できる。企業向けストレージは、I/O処理を行うためのコントローラーと、書き込み/読み込みに使うキャッシュメモリで構成されている。ストレージとしてのパフォーマンスは、ドライブそのものの性能だけでなく、コントローラー、キャッシュメモリとの組み合わせによるためスループットという観点では環境に依存するが、最大10倍も高速である。
フラッシュドライブには、パフォーマンスに加えて多くの利点がある。ファイバーチャネルドライブと比べて、駆動部がなく機械的な動作が不要なので可用性に富み、RAIDの再構築にかかる時間が非常に少ないといった点だ。
なお、フラッシュドライブは駆動部がないことから省電力という点でも大変優れている。15000rpmファイバーチャネルドライブと比べて約38%消費電力を削減できるが、1つのI/Oを処理するという観点では、実に98%の消費電力を削減することができる。またフラッシュドライブは軽量であり、なおかつI/O処理に必要なドライブの数を減らすことができるため、設備コストの点においても優れている。
●フラッシュドライブの利用方法
このように多くの優位点を持つフラッシュドライブだが、ファイバーチャネルドライブと比べると価格がまだ高いため、コスト効果が得にくいと思われがちであるが実はそうではない。
まず、I/O要件が非常に厳しいシステムの場合、ファイバーチャネルドライブを複数台並べその外周のみを利用するというストライピングなどの手法を取ることが多いからだ。この手法は、ディスクドライブ1台当たりのデータ処理量を減らしてデータの読み書きの高速化を実現させるものだが、非効率な利用方法であるともいえる。このようなケースでは、ストライピングしているファイバーチャネルドライブをフラッシュドライブに置き換えることによって、パフォーマンス、電力、設置面積、コストのすべてにおいてすぐにメリットが得られる。
また一般的な統合ストレージ環境においても、階層化ストレージのアプローチによって、トータルのコストを抑えながらフラッシュドライブの利点を得ることができる。
ストレージ階層化とは、可用性とパフォーマンスなどの要求に応じて、データを階層1、階層2、階層3というように分類し、それぞれに合ったストレージ装置を利用することにより、トータルのコストを削減するものである。従来は、階層1にはハイエンドストレージ、階層2以下にはバックアップ用ストレージというように、異なるハードウェアデバイスを利用することも多かった。現在はフラッシュドライブに加えて、大容量化され、かつ消費電力を抑えたSATAなどディスクドライブの選択肢が広がっていることから、1台のストレージ筐体でも階層化による効果が非常に高くなってきている。
企業向けのストレージシステムは、一般的にはファイバーチャネルドライブで構成されることが多いが、ストレージ統合環境においては実際に要求されるパフォーマンスやアクセス頻度にはばらつきがあり、すべてのデータをファイバーチャネルドライブに置くのは非効率的でコスト高になることも多い。I/O要件の低いデータについては、コストの低い大容量SATAドライブなどを当て、パフォーマンスと可用性が求められる最も高い階層はフラッシュドライブに置くということで、下図で示すように全体のスループットを高めながら、購入・設備・電力などの維持コストも削減できる。
また、ストレージ階層化と仮想LUNマイグレーション技術を組み合わせることにより、要件の変化に柔軟に対応することができる。
仮想LUNマイグレーションでは、ホストからのアクセスを継続したまま、バックグラウンドでデータを異なるドライブタイプに移動することができる技術である。例えば、ファイバーチャネルに置かれているデータを、月次バッチに際してフラッシュに移動させるなどの利用方法を可能とする。また、パフォーマンス要件の上がったファイバーチャネルにあるデータをフラッシュに移動させるなど、要件の変化に伴い必要な場所にデータをオンラインで移動させることができる。LUNはLogical Unit Numberの略で、RAID構成された複数種類の物理ディスク(つまりファイバーチャネルやフラッシュ)に割り当てられた番号のことだ。これらの物理ディスクはサーバからは論理的に1つのディスクとして認識されるが、アクセスするにはLUNの番号が必要なのである。
●フラッシュドライブの活用法の進化――自動的にデータを適切な階層に再配置
仮想LUNマイグレーション技術によって要件変化への対応が可能となるが、そのためには利用者自身がI/O分析を行い、移動対象と保管場所の判断し、自身で最適化を図っていく必要がある。しかし最近では、階層ストレージにおいてSSDの適用を自動化する技術が実現されてきており、さらにコストを抑えながらサービスレベルを向上させることができるようになってきた。
下図は、ファイバーチャネルのみで構成していたシステムに、わずかなSSDを適用し、自動階層化機能(FAST:Fully Automated Storage Tiering)を使ってデータを自動再配置した場合のEMCでの検証例を示す。自動階層化機能では、I/O分析に基づいてシステムが対象となるデータを選定。これを自動的に、フラッシュ、ファイバーチャネル、SATAというインタフェースの異なるドライブの間でデータを移動させる。なお、どの業務システムを優先させるか、あるいは、データ移行はいつ行うのかなどについては当然考慮が必要であり、それはポリシーという形であらかじめ定めておく。
フラッシュドライブの価格は、この2年間で約3分の1に下がってきており、利用の拡大とともにこの傾向はまだ続く。増え続けるデータの効率的な保存には、フラッシュ、ファイバー、SATAという異なるインタフェースのドライブを使い分けるという方法が現実的な対応といえる。しかしドライブの階層化、そしてその自動化が進むにつれ、フラッシュドライブの利用は増していくと思われる。 3月31日1時21分配信
TechTargetジャパンhttp://headlines.yahoo.co.jp/hl?a=20100331-00000005-zdn_tt-sci