Special
» 2014年08月26日 10時00分 UPDATE

もう専用外付けストレージは要らない?:汎用サーバーを高速スケールアウトストレージに変える「ScaleIO」とは

EMCは2014年6月、汎用サーバーをスケールアウト型共有SANストレージに変えるソフトウェア製品「EMC ScaleIO(スケールアイオー)」を国内で本格的に販売開始した。複数の汎用サーバーの内蔵ディスクをソフトウェア定義でプール化し、必要に応じて拡張できることで、社内で簡単にパブリッククラウドのようなオンデマンド・ストレージリソースを展開できるようになる。

[PR/@IT]
PR

ITのギャップとトレードオフ

 企業規模に関わらず、多くの企業で課題となっているのが、今後のITへの期待に反して予算がそれほど増加しないという点だ。ITには、すさまじい勢いで増加するデータを分析・活用できる仕組みと基盤を作ることや、ビジネスに対応したコストで、アプリケーションのアジャイル開発・展開をするためのリソースの俊敏な提供が求められている。

 しかしながら、実際にインフラを導入する場面では、サイロ化された設計や詳細なリソースプラニング、サイジングに時間を費やし、複雑化したインフラの維持・運用が重荷となることで、ビジネスに応じたコストや迅速なリソースの展開・拡張の要件に対応できない、というのが多くの企業が直面してきた課題ではないだろうか。

 昨今その解決策をパブリッククラウドに求める動きが加速している。同時に、多くの人が機密データを外に置くことに対するセキュリティ上の懸念や、サービスの継続性の不安を感じている。また、ワークロードのQoS、サービスとしてのSLA、個別要件に対する柔軟性、規模が大きく利用期間が長くなると社内で構築・運用したほうが安くなるケースが多いというコストの問題などもあり、パブリッククラウドが全てを解決してくれるわけではない。

 ここにギャップが生じている。パブリッククラウドが提供しているメリットは、これまでの課題を解消するものとして魅力的だ。しかし、それを得るには新たな課題とのトレードオフが必要だ。

 その点に関して、EMCジャパン マーケティグ本部プリンシパル マーケティング プログラム マネージャー 若松信康氏は、「では、もしそれらの新たな課題が生じない社内で、これまで通りITのコントロール下で、パブリッククラウドのように、インフラリソースの展開を従来よりも安く即座にスモールスタートできて、必要に応じて大規模にまでスケールでき、要らなくなったら規模の縮小も簡単にできるとしたら、どうでしょうか? EMCのScaleIOは、ストレージの世界でこれを可能にする製品です」という。

パブリッククラウドの技術を社内で活用する

 ストレージといっても、従来の専用外付けストレージを使用するソリューションではない。

 「ScaleIOは、様々な汎用サーバーの内蔵ディスクを統合・プール化して、スケールアウト型ブロックストレージに変えるソフトウェア製品です」と若松氏は説明する。

 ではそのScaleIOの正体について、パブリッククラウドのメリットとして挙げられる以下の点を元に、紐解いてみたい。

(1)必要に応じたリソース:リソースの弾力性

(2)クラウドスケールの拡張性:容量と性能のスケールアウト

(3)運用の手間がなく簡単に状況を把握できる

(4)安い

メリット(1): 必要に応じたリソース:リソースの弾力性

 まず、ScaleIOは、ハードウェアに依存しない。CPUがx86(インテル/AMD)であれば、OSがWindowsでもLinux(CentOS、Red Hat、SUSE)でも、それらの混在でも構わない。だから、ScaleIOがあれば、社内に余っているサーバーをそのまま持ってきてストレージプールとして使用できる。さらに、サーバーは、物理サーバーでも仮想サーバーでも構わない。ハイパーバイザーにも非依存で、Hyper-VでもvSphereでもXenでも構わない。内蔵ディスクについても、HDDでも、SSDでも、PCIeフラッシュカードでも構わない。様々なハードウェアをソフトウェア定義でプール化し、必要に応じて利用することができる。

利用に当たっては、それらのサーバーに軽量なScaleIOのエージェントをインストールし、プールを定義するだけだ。社内にあるサーバーをそのまま転用する場合、10〜15分もあればリソースの準備は完了するだろう。

im_ait_scaleiopr02.jpg ScaleIOでサーバーを統合・プール化することで提供できるストレージリソース

 また、ビジネスに応じたリソースの増減も、オンラインで容易にできる。ストレージ容量の増加・削減は、サーバーのディスクリソースをプールに追加または除去するのみである。追加すれば、ワークロードは自動的に追加したディスクに配分され、除去すれば、自動的に残っているディスクのみで運用を継続する。これは、単に容量だけでなく、性能についても同様だ。それを可能とするのが、超並列分散処理である。

 ストレージではディスクの追加によって性能を上げたい場合、ディスク間のデータ量の偏りをなくす(分散平準化させる)というのが定石である。なぜなら、ディスクの性能はデータ量に反比例するため、データ量の偏りが性能の違いを生む。データが完全に分散平準化されていれば、性能のホットスポットがなく、どこを読みにいっても同じ性能を維持できる。ScaleIOでは、ディスクを追加したときに自動分散平準化されることで、足した分だけ性能もスケールする。

 逆に、プールからディスクリソースを取り除くときも同様である。そのときも、残っているサーバー間で、自動的にデータを再分散・平準化し、性能最適化された状態に維持される。

 第三者機関である米国ESGのラボで行われたScaleIOのテストでもそれを裏付ける結果が確認されている。ここでは、Oracle RAC環境の8台のサーバー(Cisco UCS 240 M3 /Oracle Linux 6.4)に、ScaleIOの容量として5TBのSLC SSDと40TBのcMLC SSDを割り当てたケースであるが、最初の8台構成のときにIOPSが56万5000だったのに対して、サーバーを2台取り除いて6台にすると、43万7000と23%減少、その後8台に戻すと、元の56万5000へ回復した。つまり、除去した分だけ、または足した分だけ性能はリニアに変化する。

 汎用サーバーの追加や除去で簡単に性能と容量を調整できる弾力性のあるリソースプールとなるため、余剰リソースを確保する必要性も削減できる。

im_ait_scaleiopr03.jpg ScaleIOノードの増減による性能のリニアな変化

メリット(2):クラウドスケールの拡張性:容量と性能のスケールアウト

 ScaleIOは、パブリッククラウドのようにスモールスタートで始め、大規模に拡張できる。

 サーバー3台から始めて、最大で数千台にまでオンラインで拡張可能だ。ただ単にストレージ容量を拡張するだけではなく、性能もスケールアウトできる。

 ESGのラボで行われた拡張性に関するテストでは、700GBのPCIeフラッシュカードを搭載した53台のCisco UCS C240M3サーバーによる構成で、4KBのランダム読み取りIOに対して850万IOPS、4KBのランダム書き込みIOに対して370万IOPSを記録した。また、64KBのランダム読み取りIOに対して114GB/秒のスループットを記録しているが、これはScaleIOの最大構成ではない、53台のサーバー構成時であり、最大数千台にまで拡張できるScaleIOの性能は、さらに無尽蔵なほど向上させることが期待できる。

im_ait_scaleiopr04.jpg ESGによる性能検証結果
im_ait_scaleiopr05.jpg ESGによる性能検証結果画面

 また、ScaleIOのストレージプールを作るためのソフトウェアは、2つの軽量なエージェントに分かれていることで、2パターンの柔軟な構成と拡張が可能である。ScaleIO Data Client(SDC)と呼ばれるエージェントは、ブロックデバイスドライバの役割をし、アプリケーションに対してScaleIOのつくったボリュームを提示する。そのボリュームを作るのがScaleIO Data Service(SDS)であり、ハードウェアを抽象化することで、サーバーの内蔵ディスクをプール化する。

im_ait_scaleiopr06.jpg ScaleIOが提供する2つの軽量なエージェント

 この2つのエージェントを同一のサーバーにインストールする「統合構成」の場合、アプリケーションサーバーの内蔵ディスクをそのままスケールできるストレージとして使用できる。つまり、従来のサーバー、ネットワーク、ストレージを1つのサーバーに統合した統合インフラストラクチャとなり、アプリケーションのコンピューティングリソース、ストレージの性能、容量の全てを、サーバーの追加によってシンプルにスケールアウトできる。しかしながら、アプリケーションのコンピューティングリソースは足りているが、ストレージの容量または性能が足りないというケースも発生しうる。その場合には、2つのエージェントを分けてインストールする2層構成をとることで、従来のサーバーと外付けストレージの組み合わせと同じ構成にすることができる。アプリケーションサーバーのコンピューティングリソースはそのままに、ストレージの容量と性能だけ追加していくことも可能である。

im_ait_scaleiopr07.jpg ScaleIOが実現する2つの柔軟な構成と拡張

メリット(3):運用の手間がなく簡単に状況を把握できる

 次に、ScaleIOでプール化したストレージリソースの状態は、ScaleIOのGUIベースのダッシュボードで簡単に把握できるようになっている。

 ダッシュボード画面では、リビルド(データの再配置)やリバランス(ワークロードの再分散)の実行状況が確認できる他、ワークロードのIOPSや業務への影響などが色分けして分かりやすく表示される。この分かりやすいダッシュボードは、パブリッククラウドを利用するよりも簡単に、運用担当者が稼働状況をリアルタイムで把握し、コストと利便性の両立を積極的に図っていけるという点で、非常に魅力的だ。

im_ait_scaleiopr08.jpg ダッシュボード画面。円全体がプール化したストレージ、下がシステム構成と健康状態。色で直感的に分かるデザインになっている

メリット(4):安い

 では、コストはクラウドサービス並みに安いのか、という点が気になるところだろう。そこで某クラウド事業者のブロックストレージサービスとScaleIOによるストレージの価格を定価ベース(2014年8月時点)で比較した。

 この比較は、12TBのブロックストレージ容量を3年間使用するケースだ。この試算によると、ScaleIOのほうが、クラウドサービスよりもコストを5%安く抑えることができる。さらに、ScaleIOは、サーバーのハードウェアやOS、保守が必要なため、それらを含んでいるが、クラウドサービスは、ストレージ容量のみである。つまり、ScaleIOは、前述の統合構成にすることで、アプリケーション用の環境を別途構築する必要がない。同構成内のコンピューティングリソースをそのままアプリケーションに使用できる。それに対して、クラウドサービスの場合は、アプリケーション用のコンピューティングリソースのために別のサービスを組み合わせる必要がある。そのケースでは、ScaleIOのほうがさらにコストメリットが大きくなるだろう。

im_ait_scaleiopr09.jpg クラウドサービス並みの低コストを実現するScaleIO

エンタープライズ機能もソフトウェア定義で付加できる

 さらにScaleIOは、データ保護の信頼性の向上やセキュリティ、性能の制御、データ運用の効率化が可能なエンタープライズ機能もソフトウェア定義で追加して使用することができる。主な機能に以下の5つがある。

im_ait_scaleiopr10.jpg ScaleIOが提供するエンタープライズ機能

1. 保護ドメイン:ScaleIOのサーバグループを、テナントやアプリケーション毎に保護ドメインというグループに分けることで、障害の影響を分離することができる。例えばデータは、保護ドメイン内のストレージプールにおいて、ScaleIOのデータ保護機能によって常に2つのコピーがメッシュミラーリングされることで保護されるため、サーバーの障害による影響は、所属する保護ドメインの外には及ばない。また、その保護ドメイン内のプールを構成するSDSノード(サーバー)は、個別に登録ができるため、物理的なリスクを共有するサーバー(例えば同じ電源を共有するサーバー)を別の保護ドメインに分けることで、電源供給ライン等によるエリア障害の影響を分散(保護ドメイン内のサーバーの同時障害のリスクを削減)してサービス停止を防ぐことも可能となる。

2. ストレージ階層化: HDD、SSD、PCIeフラッシュカード等複数のメディアタイプが混在するサーバー環境において、それぞれのメディアタイプ毎のストレージプールを1つの保護ドメイン内に構成し、階層化ストレージとして使用することができる。

3. IOPSリミッター:複数のアプリケーション間でサーバーリソースを共有するクラウドサービスでは、他のユーザーのIOがスパイク(急増)したときに、他のユーザーの性能に影響を与えることがある。ScaleIOでは、IOPSリミッターという機能を使用することで、アプリケーションに割り当てたストレージプール毎にIOPSの上限を定義することができる。そのプール内でIOを処理する(IOスパイク時には、そのプール内でIO待ちをして処理をする)ことで、他のアプリケーションへの影響を防ぎ、性能に関するSLAを維持することができる。

4. 暗号化:標準化されたハードウェアを使用しているクラウドサービスの環境では、ディスクを物理的に他のサーバー上で使用してデータを読み取られるリスクが比較的高い。ScaleIOでは暗号化の機能をサポートすることで、ScaleIOのプール上でのみデータを読むことができるため、物理的なメディアの盗難によるデータ漏洩のリスクを削減できる。

5. 書き込み可能なスナップショット:既存のボリュームのスナップショットを高速に取得できる。複数のボリュームから同時に取得したスナップショットをコンシステンシグループとして定義することで、そのグループの操作(削除等)を一元的にシンプルに行えることで、テスト環境等におけるデータ運用を効率化できる。

もう専用外付けストレージは要らなくなる?

 これらのエンタープライズ機能が提供されることで、従来の専用ストレージの位置付けはどうなるのだろうか? 将来的に要らなくなるのか? そこで最後に、製品の位置付けについて若松氏に聞いた。

 「サービスの継続性や可用性が最もビジネスにインパクトを与えるようなミッションクリティカルなアプリケーションは、従来通り専用外付けストレージで信頼性を担保すべきでしょう。そこは今後も変わらないと考えています。グレーゾーンとみられるのは、おそらくミッションクリティカルではないが、パブリッククラウドには出せないと考えているアプリケーションです。例えば、機密データやそれを含む業務データを分析するアプリケーションをなぜパブリックに出せないのかというと、サービスとしての継続性はクリティカルではないが、データの扱いがクリティカルだからです。他には、長期運用することを前提としたアプリケーションに関しては、規模が大きいほど自前でインフラを構築・運用したほうがパブリッククラウドより安くなるケースが多いため、コストの点から社内を選択するでしょう。とはいえ、そういった領域の中には、パブリッククラウドのメリットであるオンデマンドのリソースの利用やリソースの弾力性、拡張性といった要件もあるでしょう。ITのビジネスへの貢献の期待が高まっている中で、今後そういった要件が増えていくと考えています。そこにフィットするのが、ScaleIOです。パブリッククラウドのメリットをオンプレミスのプライベートクラウドに持込み、適材適所のストレージの選択肢を広げることがScaleIOのミッションと位置付けることもできます」という。

 ScaleIOは、EMCが提供するSoftware-Defined Storageの1つとして、今後も重要な位置付けで展開されることになるだろう。

Copyright© 2017 ITmedia, Inc. All Rights Reserved.


提供:EMCジャパン株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2014年9月25日

関連リンク

RSSについて

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

メールマガジン登録

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