NetApp Tech OnTap NetApp Logo
NetApp Tech OnTap
     
SolidFire:次世代データセンターのためのオールフラッシュ
Dave Wright
Dave Wright
SolidFire設立者、バイス プレジデント兼GM

2016年2月、ネットアップは、次世代データセンターのためのオールフラッシュ ストレージ システムの市場リーダー、SolidFireの買収を完了しました。そこで今月のTech OnTapでは、SolidFireの設立者であるDave Wrightを迎え、読者の皆様にSolidFireのテクノロジをご紹介します。SolidFireは、Daveが創業した3つ目の会社で、世界がクラウドを利用する方法を進化させるためのパフォーマンス、自動化機能、拡張性を提供する、独自のフラッシュ ストレージ アーキテクチャを構築することを目指し、2010年にスタートしました。

パブリック クラウド アーキテクチャが企業やサービス プロバイダのデータセンターに浸透するにつれて、管理者は新たな一連の課題を抱えるようになっています。コンピューティング、ネットワーク、ストレージのプールが動的に割り当てられるクラウド モデルで成功を収めるためには、コスト効率が極めて高く、拡張性、自動化機能を備え、マルチテナンシーや混在ワークロードをサポートするインフラが必要です。SolidFireは、まさにこうした原則を中核に据えて設計されています。

ネットアップを長年利用されている方は、SolidFireについて詳しく知りたいとお思いになっていることでしょう。この記事では、SolidFireの設計を他のオールフラッシュ アレイとは一線を画すものにしているテクノロジについて、いくつかご紹介したいと思います。

何も共有しない、スケールアウト対応アーキテクチャ

PureやXtremIOをはじめとするほとんどのオールフラッシュ ストレージ システムは、デュアルコントローラ設計を採用してデータを障害から保護しています。2つのコントローラは一連のドライブへのアクセスを共有し、障害が発生した際には一方のコントローラが他方のコントローラをテイクオーバーします。データはいずれかの種類のRAIDを使用して保護されます。

これに対し、SolidFireは異なる設計アプローチを採用しており、何も共有しないスケールアウト対応アーキテクチャを使用しています。SolidFireの各ノードは一般的な1Uのx86システムで、10台の内部MLCまたはTLC SSDを搭載しています。各ノードのインターコネクトには10GbEネットワークが使用されており、ノード間では何も共有されていません。ホストは、iSCSIまたはファイバチャネル ブロック プロトコルを使用してデータにアクセスします。

SolidFireのクラスタは、4ノード構成から始め、100ノードにまで徐々にスケールアウトできます。データはクラスタ内のすべてのノード間で自動的に分散されるため、ノードを追加するごとに、パフォーマンスと容量がリニアに拡張します。単一コントローラのパフォーマンス上の限界によって、ストレージ ボリュームが制約を受けることは一切ありません。

図1)SolidFireは、何も共有しない設計によって、パフォーマンスと容量のリニアなスケールアウトを実現します。

出典:SolidFire、2016年

このアプローチは、次のような大きなメリットをもたらします。

無停止でのスケールアウト / スケールイン:ノードの追加時や削除時にサービスを停止する必要がなく、Quality of Service(QoS)が低下することもありません。データはすべてのノード間にバックグラウンドで自動的に再分散されるため、システムが拡大してもバランスが維持されます。

リソースを即座に利用可能:新しく追加したストレージ リソースは、システム内のすべてのボリュームで瞬時に利用でき、新しいドライブにボリュームを再割り当てする必要がありません。

ノードの混在に対応:一部のスケールアウト システムではノードが同一でなければなりません。SolidFireでは、種類や世代が異なるノードを混在させることができます。パフォーマンスや容量ポイントを選択できるため、ニーズに合わせて拡張できます。

キャパシティ プランニングを簡易化:1Uの単位でスケールアウトできるため、パフォーマンスや容量を非常にきめ細かく追加できます。このため、数年先に必要な容量やパフォーマンスの予測に頼る必要がありません。また、あらかじめオーバープロビジョニングする必要もないため、時間とともに価格が下がってから拡張を行えます。

大掛かりなアップグレードが不要:次世代のノードを既存のクラスタに簡単に追加できます。また時期が来たら、古いノードを取り外して撤去したり、他の用途に転用できます。ストレージ ノード間の互換性は保証されており、ノードを追加する際には、毎回最新のテクノロジを追加できます。

データ保護

データの冗長性を実現するために、SolidFireは各データ ブロックの2つのコピーを分離された2つのノード上に維持します。これが、SolidFireのElement OSオペレーティング ソフトウェアに組み込まれているHelix™と呼ばれるテクノロジです。このテクノロジによって、障害が発生したあとでも、クラスタはアプリケーションのパフォーマンスを維持することができます。また、分離されたストレージ シェルフ間でドライブのアクセスを共有する必要がないため、よりシンプルなハードウェア構成でコストも抑えることができます。たとえばSolidFireは、コストの高いエンタープライズクラスのデュアル接続SSDではなく、シングル接続のSSDを採用しています。

システムは短時間で自己修復するため、冗長性がリストアされる前に次の障害が発生するリスクが抑えられます。また、ノードのオフライン化にクラスタがスムーズに対応するため、ハードウェアやソフトウェアのアップグレードも無停止で容易に実行できます。

障害からの自己修復

システム内のすべてのリソースは常にアクティブなプール内にあり、障害に備えてスペアのドライブやノードをアイドル状態にしておく必要はありません。

ドライブ障害:ドライブに障害が発生すると、システムはメッシュ化されたリビルド プロセスを使用してデータのコピーを再分散し、完全な冗長性を自動的にリストアします。リビルドの際にデグレード モードで運用する必要はなく、パフォーマンスが低下することもありません。リビルド プロセスは通常5分程度で完了します。完全な冗長性が高速でリストアされるため、一般的なシステムではRAID 6よりも高いデータ保護レベルが実現されます。

ノードの障害:データのコピーが別のノード上に分散されるため、1ノードに障害が発生しても、すべてのデータに継続してアクセスできます。障害が発生したノードへの接続は、他のノードへ自動でリダイレクトされます。各ブロックの2つのコピーが確実に維持されるため、ドライブ障害の場合と同様に、完全な冗長性が短時間で自動的にリストアされます。

障害が発生したのがドライブ、ノード、バックプレーン、ネットワーク、ソフトウェアのいずれであっても、リカバリ プロセスは同じです。リカバリ ワークロードがクラスタ内のすべてのノード間に分散されるため、冗長性は短時間でリストアされ、単一のノード(またはアプリケーション ワークロード)のパフォーマンスが低下することもありません。クラスタ内のノードの数が多いほど、処理は短時間で完了し、全体への影響も小さくなります。

図2)ノードに障害が発生すると、障害ノードのすべてのブロックの新しいコピーが残りのノード全体に分散され、データの冗長性がリストアされます。パフォーマンスと容量利用率は、すべてのノード間で均一に向上します。

出典:SolidFire、2016年

パフォーマンスを保証

単一のクラスタでアプリケーション ワークロードの混在とマルチテナント環境をサポートするために、SolidFireはQoSの保証機能を備えています。QoSをベストエフォートベースで提供する実装とは異なり、SolidFireは各ワークロードにパフォーマンスを保証することができます。

パフォーマンスと容量は、システム内の各ボリュームに個別に割り当てることができます。ボリュームの作成時に目的に合ったサイズを設定し、3つのQoSパラメータ(Min、MaxBurst)の内の1つを指定するだけです。ボリュームの設定を変更すると、新しいレベルでのサービスの提供がすぐに開始されます。

Min設定では、IOPS単位で(I/Oサイズで重み付け)最小限のパフォーマンス レベルを定義します。Minを設定したボリュームでは、どのような状況下でも、そのレベル以上のパフォーマンスの提供が保証されます。Max設定では、ボリュームが消費できるIOPS数を定義します。レートのハード リミットは、VDIの一時的なブート ストームのように、アプリケーションに問題を生じさせることもあるため、Burstパラメータも用意されています。このパラメータでは、最大のリミットで実行中のアプリケーションが認識され、必要に応じて短時間のバーストが許可されます。

図3)QoSの保証。左側の図は、QoSが無効になっている時の「モンスターVM」の影響を示しています。問題が発生しているいくつかのワークロードが、他のすべてのパフォーマンスを奪っています。右側の図は、QoSが有効になっている時を示しています。ワークロードごとに設定を変えていることもわかります。

出典:SolidFire、2016年

Enterprise Strategy Group(ESG)の調査は、QoS保証を設定したSolidFireがストレージに関連する従来の問題を最大で93%を解消すると見積もっています。たとえば、ワークロードのバランスの悪さ、特定のリソース セットの独占、プール内のリソース不足、VMの移動、非効率的な階層化、コントローラのボトルネックといった問題が解消されます。そして同調査は、QoSの保証と負荷分散の自動化によって、企業はより多くの種類の異なるワークロードをシングル ストレージ システムに統合できると結論付けています。これに対し、従来のストレージを使用していて、QoS機能もない場合は、パフォーマンスの問題の解決により多くの時間を取られることになるか、問題を最小限に抑えるためにストレージ アレイをオーバープロビジョニングすることになります。

自動管理

SolidFireは、自動化を難しくする要因となる複雑さの多くを排除するように設計されています。パフォーマンスと容量はグローバルにプールされており、ワークロードはクラスタ間に自動で分散されます。プロビジョニングも極めてシンプルに行え、次のような従来のストレージ タスクもほとんど実行する必要がありません。

  • パフォーマンスの調整や負荷分散
  • 階層化、優先順位付け、キャッシュの管理
  • ショート ストローキングまたはオーバー プロビジョニング
  • RAIDグループとスペア ドライブの管理
  • 世代間アップグレードまたはプラットフォームの移行

SolidFireのすべての機能は、包括的なRESTベースのAPIを通じて利用できます。自動化は、複雑な管理タスクに伴う人的なエラーのリスクを軽減します。

図4)SolidFireのREST API。SolidFireのREST APIは、SolidFireのあらゆる管理インターフェイス、プラグイン、ツールの土台であり、カスタム統合を容易にします。

出典:SolidFire、2016年

SolidFireのAPIを使用すると、管理プラットフォームやオーケストレーション プラットフォームとの緊密な統合を実現でき、ストレージを制御するユーザインターフェイスを開発することもできます。また、アプリケーションやサービスの導入もすばやく行えます。SolidFireのすべてのツールと、VMware、OpenStackなどのサードパーティ向け統合機能は、すべてAPIを使用して構築されています。

ESGは、SolidFireを利用することで、管理者は従来のストレージと比較して仮想マシンの運用開始までにかかる時間を81%短縮でき、運用コストを最大67%削減できると結論付け、SolidFireの自動化機能のメリットを明確に示しています。

インライン型のデータ効率化機能

SolidFireは、グローバルなシンプロビジョニングやスペース効率に優れたスナップショット、クローンなど、さまざまなストレージ効率化テクノロジを備えています。こうしたテクノロジは、多くの方にとってすでにおなじみのネットアップのテクノロジと原理的には同じです。

これらのテクノロジは、マルチレイヤ圧縮機能やグローバルなインライン重複排除機能と組み合わせることで、SolidFireクラスタのストレージの実効容量を増やします。

SolidFireの各ノードには、書き込みキャッシュとして機能するPCIe NVRAMカードが搭載されています。ホストがデータを書き込むと、書き込みは4KBのブロックに分割され、即座に圧縮されてNVRAMに格納されます。圧縮された各ブロックは、追加のストレージ ノードに同期レプリケーションされます。両方のノードでNVRAMにデータが格納されると確認が返されるため、書き込みは極めて高速で、パフォーマンスも予測できます。

圧縮された各ブロックは、セキュアな暗号ハッシュ アルゴリズムを使用してハッシュされ、生成された値がBlockIDとして機能します。BlockIDによってブロックの配置が決まるため、業界をリードするオブジェクト ストレージで使用されているものと同様の、コンテンツにアドレスが付けられたストレージ システムが実現します。ハッシュ アルゴリズムがランダムな方法でブロックをすべてのノードに分散するため、負荷が均一に分散されます。

SolidFire Deduplication Block Serviceは、BlockIDに基づいてブロックが書き込み済みかどうかを特定します。ブロックがすでに存在する場合、メタデータが更新され、重複が破棄されます。

この重複排除プロセスはインラインで実行され、かつグローバルです。つまり、重複排除がボリュームやノード単位ではなく、クラスタ全体で実行されます。

インライン圧縮とグローバルな重複排除が組み合わされていることによって、次のような大きなメリットがもたらされます。

  • ドライブの消耗を軽減:書き込みが繰り返されないため、SSDの寿命が延びます。
  • システムのパフォーマンスが向上:システム リソースの消費が最小限に抑えられます。
  • ホット スポットを解消:ワークロードがクラスタ全体に均一に分散されます。

インライン圧縮のアルゴリズムは、スピードを基準に選択されています。またSolidFireは、バックグラウンドでポストプロセス圧縮も実行します。より演算密度の高い圧縮アルゴリズムによって、パフォーマンスに影響を与えることなく、ストレージ容量がさらに最適化されます。

包括的なストレージ機能

この記事では、SolidFireのオールフラッシュ スケールアウト ストレージ プラットフォームならではの特徴をご理解いただく足がかりとなる情報をご紹介しました。重要なポイントについてはかなり触れることができましたが、最後にSolidFireが包括的なストレージ サービスを提供していることを付け加えたいと思います。

  • レプリケーション(同期 / 非同期)
  • クラウド統合バックアップ
  • スナップショットとクローン
  • 保存中のデータを256ビットで暗号化
  • 包括的なロギング
  • クラウドベースの監視
  • セキュア マルチテナンシー
  • 同時マルチプロトコル サポート(FC / iSCSI)
  • VMware、OpenStack、CloudStackとの緊密な統合

SolidFireの詳細については、この記事のサイドバーに掲載されている参考資料リストにアクセスするか、またはsolidfire.comをご覧ください。

Dave Wrightは、1998年にスタンフォード大学を去ってGameSpy Industriesの創業に加わり、バックエンド インフラを構築するチームを率いました。このインフラは、現在では数千のゲーム、数百万人のゲーム愛好者を支えています。その後Daveは、GameSpyを買収したIGNでチーフ アーキテクトを務めました。

そして2007年には、クラウドベースのストレージとバックアップの先駆的な企業となるJungle Diskを設立しました。Jungle Diskは2008年にRackspaceによって買収され、DaveはRackspaceのクラウド部門と緊密に連携して、数万人の顧客をサポートするクラウド プラットフォームを構築しました。Daveは2009年12月にRackspaceを去り、SolidFireを創業しました。

2016年 4月

 

SolidFireに関する参考資料

ビデオ、ブログ、記事

ポッドキャスト

Tech OnTapポッドキャスト チームがお届けしているSolidFireの最新情報をご覧ください。


Storage Field Dayビデオ

Dave WrightとSolidFireチームによる、Storage Field Day 5でのプレゼンテーション(抜粋):


SolidFireを
選択したUltimate Software

Ultimate Softwareは、人材管理(HCM)ソリューションをソフトウェア サービス(SaaS)として提供している、業界屈指のプロバイダです。150カ国の2,800社を超える顧客がUltimateのUltiPro® Suiteを利用しています。

Ultimateは北米にポッド アーキテクチャを基盤とする4つのメイン データセンターをホストしており、ポッドごとの顧客数は200~500社です。ストレージ パフォーマンスの問題に悩まされたUltimateはSolidFireを採用することを決め、当初SF3010を5ノード購入したあと、すぐにSF2405を66ノード追加しました。さらに44ノードを追加で購入する計画もあります。

パフォーマンスに加えて、セキュリティ、可用性、OpenStackとVMwareの両方と統合されることも、SolidFireを選択した理由でした。SolidFireがサポートするポッドはパフォーマンスが4倍に向上し、他のポッドで見られていた「モンスターVM」の問題もQoS機能によって解消されました。

Ultimate Softwareのユーザ事例をご覧ください。

TRUSTe
お問い合わせ   |   購入方法   |   フィードバック   |   採用情報  |   登録   |   プライバシー ポリシー   |   © 2016 NetApp