2010年6月号よりソリッドステートストレージに対する関心が高まっている。実装できるソリッドステートストレージの種類が増え、新たなテクノロジーが次々と登場している今、ソリッドステートストレージが自分のストレージ環境をどのように強化できるか、真剣に考えてみるときではないだろうか。データストレージのプロがソリッドステートストレージの導入を検討する場合、考えられるアーキテクチャはいくらでもあるだろう。さまざまなフォームファクタで提供されているソリッドステートドライブ(SSD)を使ったシステムもあれば、キャッシング方式の実装もある。アプライアンスで提供されているものもある。実装に際しては、ソリッドステートストレージと従来の磁気ディスクドライブが混在した製品を使うのか、それともSSDストレージオンリーのサブシステムを使うのか、決めなくてはならない。本当に重要なのはハードウェア選びではないだろう。企業はまず、どのデータをソリッドステートストレージに保存するかを決定する必要がある。今なおかなり高価なリソースをできるだけ有効に使うために、データをソリッドステートストレージに移す際に自動化ソフトの使用を検討してみるといい。どのデータをソリッドステートストレージに保存するか、そして、どうやってそのデータをそこに置くかを考え出すと、ソリッドステートストレージのオプション選びがますます複雑になるが、これは後々まで影響することになるから、選択は慎重に行わなければならない。ソリッドステートオンリーのストレージ環境はまだ遠いあと数十年もすれば、企業のデータストレージは、ソリッドステートストレージが主流となり、場合によっては唯一の形態となるかもしれない。現状を考えると、そんな日は(来たとしても)遠い未来の話のように思える。コストのことを考えなければ、今ある電子機械的な磁気ディスクドライブを、すべてソリッドステートストレージに置き換えられたらどんなにいいだろうと思う。現在、半導体メーカーが供給できるストレージ容量は、IT部署が抱えている全ストレージ容量を満足させるには程遠い。企業向けのハードディスクドライブ(HDD)に比べ、同じく企業向けのソリッドステートストレージの価格が下がりつつある。最近まで、企業向けのソリッドステートストレージは、同容量の企業向けHDDの40倍もの値段がついていた。ソリッドステートストレージ製品にもよるが、両者の価格比は現在、およそ2~4倍となっている。このように、容量に比して価格が低下した結果、データストレージを扱うマネージャやアドミニストレータが、従来の形式のストレージを補完するものとして、ソリッドステートストレージに注目している。彼らは高性能、低レイテンシー、あるいは省電力の必要なところに、このソリッドステートストレージを使用したり、使用を計画したりしている。ソリッドステートストレージ技術の実装には、大きく分けて2つの方法がある。・ソリッドステートストレージを直接、プライマリストレージとして使う・ソリッドステートストレージを、回転式ディスクのフロントに置いて、キャッシュとして使ういずれの実装方法にもそれぞれ長所と短所があり、その方法はストレージのベンダによってそれぞれ異なる。今は一方の実装方法に対応しているが、向こう半年から1年のうちには、もう一方の実装方法への対応を計画しているベンダもある。フォームファクタとインターフェースソリッドステートストレージはさまざまなフォームファクタで市場に流通している。Expressバスカードなどがある。Expressバス形式のフォームファクタはサーバやワークステーションで使用され、超高速のストレージアクセスを実現する。企業向けのSSDは、2.5インチないしは3.5インチドライブの形で流通しており、現行のサーバおよびストレージシステムと互換性がある。Channel(FC)である。SATAは、多くのSSDで利用でき、特にコンシューマ向け、およびデスクトップ市場ではよく使用されている。Channelは、SANのインターフェースとして道が拓けているが、ディスクドライブのインターフェースとしては、そろそろ終わりが近づいている。Channelを使用しなくなり始めている。Channelインターフェースは、同サイズのディスクサブシステムが企業に相当数存在するため、そのスペアパーツとして今しばらく残っていくだろう。Channelのインターフェースをほとんど搭載しなくなると考えられる。プライマリストレージとしてのソリッドステートストレージの使用ソリッドステートストレージを直接プライマリストレージとして実装するベンダの場合、標準のディスクドライブ・フォームファクタを使用することが多い。この実装方式はシンプルでわかりやすく、現行のサブシステム設計や構成プロセスとも互換性がある。このやり方で問題なのは、現在あるコントローラやサブシステムが、高速性能を備えたディスクドライブ向けに設計されていないことだ。したがってベンダは通常、SSDを多数搭載する大規模システムをサポートしていない。この状況は、ベンダがコントローラの設計を改良し、より多くのSSDを扱えるようになっているため、徐々に変わりつつある。これはなかなかの朗報で比較的少ない数、例えばドライブシェルフ1台分あるいはそれ以下の数のSSDで、パフォーマンスを飛躍的に向上させられる可能性があるということだ。ある一定のワークロードに対して、比較的容量の小さなソリッドステートストレージで、パフォーマンスが5倍から8倍向上したと報告しているユーザもいる。ソリッドステートオンリーのストレージ製品の数も増えつつあり、今後数カ月のうちにリリースを控えている製品もある。これらのシステムは、ソリッドステートストレージをプライマリストレージとして使用することを想定して設計されたものであり、容量は、現在ある製品で数テラバイトから数十テラバイト。容量の大きな製品も、まもなくリリースされる。ソリッドステートストレージをプライマリストレージとして実装しているユーザにとって大きな問題は、どのデータをソリッドステートストレージに置くかということである。ソリッドステートストレージに置くデータにはいくつか候補があって、たとえばデータベースのインデックスや、頻繁にアクセスするデータベースのテーブル、一時的なスクラッチファイル、ログファイル、あるいはその他のホットスポットなどが挙げられる。場合によっては、今日ホットなデータが明日はホットはないこともあるので、ストレージやデータベースの管理者、あるいはその他のIT技術者は、データの利用パターンを継続的にモニターして、ある程度定期的に調整を行ったほうがいいかもしれない。この作業負荷の増分はかなりの負担になる可能性があり、その分のコストがI/Oの性能向上分と相殺になることもある。すればいいかということだが、その答えは、ストレージシステムを自動化して使用頻度の高いデータを見極め、それをソリッドステートストレージに自動で移してしまうことだ。その後、そのデータがソリッドステートストレージほどの高速性能を必要としなくなったら、それをより低速のストレージに移せばよい。多くのベンダが、まさにこの自動化作業をやってくれる階層化ソフトウェアを提供している。このソフトウェアは、一定時間I/Oパターンを観察して、その後データをホストアプリケーションにトランスペアレントな形で移動させる。した自動化ソリューションを利用すれば多くの場合、管理者はどのアクティビティレベルが「ホットな」データかを見極め、観察時間を区切るとともに、パラメータを設定して(1時間から1週間まで自由に)データ移動の頻度を制御することができる。したソフトウェアのなかには、観察結果に基づいて、SSD混成環境と回転磁気ディスクの比が10%対90%というように、データの階層化を推奨してくれるソフトウェアもある。現在、これら自動データ移動ソフトウェアの多くは、LUNレベルでデータの移動を行っている。サブLUNのレベルでデータの移動を行う製品は、向こう半年から1年のうちに、複数のベンダからリリースされる見込みである。ソリッドステートオンリーのストレージ製品であれば、どのデータも高速ストレージ上に置かれるため、高速ストレージから低速ストレージにデータを移す必要がなくなる。したがって、すべてのアプリケーションとデータをソリッドステートストレージ上に置いておきたいユーザには、こうしたシステムが魅力的に映るだろう。現在の価格では、このタイプのソリューションはきわめて重要なアプリケーションにのみ利用される傾向が高くなる。それらを利用するかどうかの決定(および予算)は、IT部門よりも基幹業務のオーナーやアーキテクトの意見によることが多い。ソリッドステートストレージを使ったキャッシングもう1つの基本的な実装方法は、ソリッドステートストレージを回転式ディスクのフロントに置いて、キャッシュとして用いることだ。この方法は、つねにリアルタイムのホットなデータが高速で利用できるというメリットがある。ほとんどの場合キャッシュにはホットなデータしかないからだ。ソリッドステートストレージはキャッシュとして機能しているため、どのデータをそこに置くか管理者がわざわざ決める必要もない。キャッシュのサイズはどれくらいが適当か、ソリッドステートデバイスを最も有効に使うには、どのワークロードをキャッシュに誘導すればいいかという問題が、根本的な問題として残る。ソリッドステートストレージを利用したキャッシングソリューションには、既存のストレージシステムの中に組み込まれているものと、外部アプライアンスとして提供されるものとがある。フラッシュメモリをストレージサブシステム内にキャッシュとして追加すると、最近のコンピュータに組み込まれているプロセッサによく見られるL2キャッシュとあまり変わらない、「レベル2」キャッシュが得られる。このキャッシュの容量追加分によって、すべてではないにしても、ほとんどのタスクでパフォーマンスが向上する。フラッシュメモリは不揮発性であるため、このキャッシュは万が一の停電に備えた保護強化にもなる。キャッシュコヒーレンシなどの問題のほか、キャッシュはDRAMベースにするのか、フラッシュメモリベースにするのかといった問題が残る。一般的には、キャッシュはプロセッサあるいはコントローラ1つにつき1つという形で結びつけられているが、複数のプロセッサあるいはコントローラと、複数のキャッシュをうまく連携して機能させる管理方法は何通りもある。ストレージシステムがキャッシュを利用している場合、システムのOSに特別な機能を追加してキャッシュを正しく認識させ、さらに柔軟性を高めることもできる。具体的には、ストレージシステム上のボリュームごとに、異なるI/Oプライオリティを割り当てることも可能になる。外部アプライアンス型のキャッシングソリューションの場合、既存のサーバあるいはストレージシステムを一切変更しなくていいというメリットもある。これらのアプライアンスは、ストレージネットワークに容易に追加することができ、同時に異なるストレージサブシステムにデータを送る場合でも、そのすべてのI/O速度を高速化できる。どのボリュームを高速化する場合でも、ライトバック、ライトスルー、パススルーを選んで設定できるアプライアンスも数多くある。メモリモジュールがホットプラグ対応になるよう設定されたアプライアンスもあり、その場合、アプライアンスの電源をすべて落とさなくても、メンテナンスや拡張が行える。キャッシング方式の実装の場合で特に気になるのは、キャッシュの容量はどれくらいあれば足りるかということである。どのようなワークロード、あるいはアプリケーションであっても、キャッシュは当該アプリケーションに割り当てられているトータルストレージ容量の5%から20%もあれば、パフォーマンスが大幅に向上することが多い。ある程度パフォーマンスの向上を実感したければ、全ボリュームの保存ができる分の大容量が必要になるワークロードもある。すべてはパフォーマンスのためどのような実装方法であれ、ソリッドステートストレージはパフォーマンスを大幅に向上させるものだ。実際に世の中で利用されている各種アプリケーション(Eメール、データベースなど)を使ったわれわれのラボテストでは、アプリケーションに応じた構成をすれば、全体で7倍から9倍のパフォーマンス向上が確認された。これほどパフォーマンスが上がる可能性があるのに、何が気に入らないというのだろうか。それなら、回転式の磁気ディスクの性能を上げるために現在使われている、「ショートストローキング」といったさまざまなメソッドを考えてみるといい。ショートストローキングは、できるだけ多くの「スピンドル」を使うことで、パフォーマンスを向上させようとするやり方で、データを各ドライブのほんの一部にしか入れず、数多くのディスクドライブに分散させて保存する。求めるパフォーマンスを達成するために、7:1、8:1、9:1という比を使って、会社のディスクドライブのストロークを短縮する人もいる。これはつまり、各ドライブについて、利用可能な容量の1/7、1/8、1/9しか利用していないということだ。企業向けSSDの価格が、ショートストローキングを行う磁気ディスクドライブの10倍ないし15倍だったとしても、そのアプリケーションデータは、SSDに移したほうが正解かもしれない。SSDなら必要なパフォーマンスが得られて、電力もスペースも削減できるのだから。今は、ほぼすべてのデータストレージシステムベンダが、企業向け磁気ディスクドライブの詰まったアレイに代えて、ソリッドステートストレージとエンタープライズSATAストレージの組み合わせを提供している。Martin氏は1980年よりIT業界に携わり、コンピュータ市場の分析およびテストを行う企業の創設者兼プレジデント。TechTarget*この翻訳記事の翻訳著作権はJDSFが所有しています。このページに掲載されている記事・写真・図表などの無断転載を禁じます。表示させるためには、JavaScriptを有効にしてください。