第3回 今、フラッシュストレージを選択したい人へのヒント「攻めのIT」時代のストレージの基礎知識

前回の、「フラッシュメモリは企業向けストレージでなぜ注目されるのか」に続き、今回は多様なフラッシュストレージ関連製品からどう選択するかについて、ヒントとなりそうなポイントをご紹介します。

» 2014年11月19日 19時00分 公開
[三木 泉,@IT]

連載バックナンバー

 フラッシュメモリを活用したストレージ製品はあまりにも多様で、比較検討が難しく感じられるかもしれません。しかし、いったん整理してしまえば、意外に分かりやすいと思えるでしょう。

 フラッシュメモリを活用する企業向けストレージソリューションは、大まかには下記のように分類できます。

1. 既存ストレージ装置上に、SSDなどのフラッシュメモリを搭載、これをキャッシュとして利用

2. 既存ストレージ装置に、ハードディスクドライブの代わりにSSDを搭載、これをデータ格納領域として利用

3. フラッシュメモリのために開発された専用ストレージ装置(いわゆる「オールフラッシュストレージ」あるいは「オールフラッシュアレイ」)を採用。これにデータを格納する

4. フラッシュメモリとハードディスクのハイブリッド構成ながら、新しい設計のストレージ装置を採用。これにデータを格納する

5. サーバーに、PCIeスロットに挿すアダプター型のフラッシュストレージ(筆者は「PCIeフラッシュ」と呼んでいます)あるいはSSDを搭載、これをキャッシュとして使用する

6. サーバーにPCIeフラッシュを搭載、これにデータを格納する

7.物理サーバーにPCIeフラッシュあるいはSSDとハードディスクを搭載。複数のサーバー上のSSDあるいはPCIeフラッシュ(およびハードディスク)で、単一のストレージプールを構成。これを共用ストレージとして用い、データを格納する

 上記のうち、最も導入が楽なのは1.です。既存ストレージ装置がフラッシュメモリによるキャッシュに対応しているなら、これを搭載するだけで、ある程度の高速化が期待できます。その次に楽なのは、5.でしょう。ストレージ装置の構成を変更することなく、サーバー側のちょっとした作業だけで、高速化が可能です。5.の場合は、キャッシュソフトウェアを併用するわけですが、一般的なキャッシュソフトウェアでは、サーバー群全体を対象としてキャッシュプールを構成することができません。物理サーバー単位のキャッシュであるため、高速化の効果が限定される可能性があることに注意が必要です。

データベース高速化のためのフラッシュ利用

 では、重要なデータベースを高速化したい場合に、便利な選択肢はどれでしょうか。

 現在、一般企業が、真っ先に検討するストレージソリューションは、3.のオールフラッシュストレージです。ファイバチャネル、NFS、iSCSIといった既存のストレージプロトコルだけでなく、RDMAなど、よりオーバーヘッドの少ないデータの読み書きが可能な製品があり、アプリケーションの動作するサーバーと別の箱だからといって、サーバー内蔵のストレージに比べた場合の性能の差は少なく、性能を比較する対象によってはサーバー内蔵ストレージより優れています。ただし、フラッシュメモリだけを記憶媒体として使うため、高価な製品が多いというデメリットもあります。単一のアプリケーションのために専用のオールフラッシュストレージを割り当てるのは困難なケースもあるでしょう。その場合には、複数のアプリケーションで単一のオールフラッシュストレージを共用することを考えるべきです。

 一方、共用ストレージの利用にあまり興味を持たないWebサービス系の企業を中心に、データベース用途でのPCIeフラッシュの利用が広がっています。PCIeフラッシュは容量が少ないため、データベースのインデックスファイルのみを配置するなど、ユーザー企業の側で運用を工夫しなければならないのが難点とされてきました。しかし、最近では容量の大きな製品が登場し、データベース全体を格納できるケースが増えて、この問題は解消されつつあります。ただし、可用性については、PCIeフラッシュを搭載するサーバーに障害が発生した場合にどう対処できるかという問題が残ります。Webサービス系の企業では、多くの場合アプリケーションレベルの対策を講じていますが、PCIeフラッシュは基本的に、ハードウェアレベルでの冗長化がしにくい点が、一般企業における利用では不利です。

 貴重なフラッシュメモリのリソースを、複数のアプリケーションで共用することで、投資を正当化したいなら、サーバー仮想化との併用が視野に入ってきます。

 サーバー仮想化を前提とすれば、さまざまな製品が選択肢となります。既存ストレージを使った1,、2,のような選択肢も、もちろんあります。4.で筆者が想定しているのは、「仮想化環境専用ストレージ」と呼ばれる製品です。この種の製品は、アプリケーション(仮想マシン)単位のパフォーマンスをリアルタイムで測定し、これに基づいて自律的にパフォーマンスを制御することができます。

 7.はストレージの機能を、全てサーバー側に持ってくるのに加え、これにフラッシュの性能を活用しようという考え方です。専用ストレージ装置を使わず、サーバーに内蔵のフラッシュメモリやハードディスクを使って、ストレージの機能も果たしてしまいます。6.の場合と異なり、いずれかの物理サーバーがダウンしてしまったとしても、データのコピーを複数用意しているため、データが失われることはありません。

 このお話の延長線上に、デスクトップ仮想化もあります。

 デスクトップ仮想化は、データベースと並んで、フラッシュメモリのメリットを受けやすいアプリケーションです。エンドユーザーにとっての使い勝手が、デスクトップ仮想化の成否を大きく左右するからです。問題は、デスクトップ仮想化では重要なデータベースに比べ、コスト効率が厳しく問われるということにあります。デスクトップ仮想化にフラッシュの性能を活用したい場合は、コスト効率の高いソリューションを選択するか、一般的な業務アプリケーションなどとフラッシュメモリのリソースを共用することが考えられます。前者の観点からは、5.のようなサーバー側のフラッシュメモリによるキャッシュも、視野に入ってきます。

フラッシュメモリは単なる記憶媒体ではない?

 一般的にいえば、既存のストレージのキャッシュやデータ記憶媒体として、フラッシュメモリを利用するという方式では、フラッシュメモリの可能性を最大限に引き出すことはできません。しかし、ハードディスクの代わりにSSDを並べて使うだけで、従来に比べて大幅に性能が向上できるため、これで十分だというユーザー組織は多いはずです。

 既存ストレージでは、データの自動階層制御機能を備えた製品が登場しています。こうした製品にSSDを搭載すれば、例えばデータに頻繁にアクセスする、高速なI/Oの必要なデータベースアプリケーションのデータは、ストレージが自動的にSSDへ配置します。そうでないアプリケーションのデータは、HDDに配置するといったことができます。

 上記のような構成により、ストレージを統合する一方で、SSDの活用により、アプリケーションのニーズに応じたI/O性能提供することが可能です。

 自動階層制御をはじめ、既存のストレージは、多様なデータ管理機能を備えています。一方でオールフラッシュストレージなどをはじめとする新しいソリューションは、従来型のデータ管理機能を十分に備えていないケースが多々あります。ただし、4のような仮想化環境専用ストレージに見られるように、フラッシュの活用をきっかけとして、ストレージの運用方法を変えるべきだという考え方も出てきます。

 多くの人々は、フラッシュメモリを記憶媒体として考えます。ただ、それだけではなく、「ストレージ、あるいはデータ管理の方法を、既成概念にとらわれずに見直すいい機会を提供してくれる存在」と表現することもできます。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。