クラウドストレージの活用を推進するStorSimpleのアプライアンス


 日々増大を続けるデータの保管先としてクラウドストレージに注目が集まっている。しかし、従来ながらのローカルストレージと比べると、通常のストレージプロトコルでアクセスできない点やWAN回線に由来するパフォーマンスの低下など、いくつかの課題もある。

 StorSimpleのアプライアンス製品(以下、SSアプライアンス)は、こうした数々の課題をローカルストレージとクラウドストレージを連携させるアプローチによって解決するソリューションだ。同社の製品は、その斬新さと将来性が評価され、2011年6月に開催されたInterop Tokyo 2011において、「プロダクトアワード部門 - PC・サーバ・ストレージ・周辺機器」のグランプリ(Best of Show Award)を獲得している。

 今回は、製品紹介のために来日したStorSimple, Inc. Worldwide SE ManagerのJai Desai氏に、このSSアプライアンスについて詳細を伺った。


StorSimple, Inc. Worldwide SE ManagerのJai Desai氏

 

十分な使いこなしにはシステム側の整備を必要とするクラウドストレージ

 企業が抱えるデータは、年率で50~60%も増加している。これらのデータを従来のローカルストレージにすべて保管しようとすると、設備投資や運用管理コストが企業の大きな負担となりかねない。

 このような中で、近年ではデータの保管コストを削減する目的で、アクセス頻度があまり高くないフィックスコンテンツをクラウドストレージに保管するユーザーも増えてきている。

 しかし、クラウドサービスにはいくつかの課題がある。例えば、アクセスプロトコルとして通常のストレージプロトコルではなく、HTTPや独自のREST APIを使用する。このため、アプリケーションとの統合が少なからず必要になる。

 また、WAN回線を経由してアクセスすることにより、スループットの低下や長いレイテンシがデータへのアクセスに影響を与えやすい。さらに、データのセキュリティー向上やコンプライアンス対応のために、自社で何らかのセキュリティソリューションを用意しなければならない場合もある。

 このように、クラウドストレージは手軽に導入できる反面、十分に使いこなすにはそれ相応のシステム整備が求められる。


クラウドストレージの課題(出典:マクニカネットワークス株式会社、以下同様)。クラウドストレージは手軽に導入できる反面、その使いこなしにはシステムの整備が必要だ。こうした課題に応えるのが、今回取り上げるStorSimpleのソリューションである

 

アプライアンス内部にはローカルドライブとしてSSDとSAS HDDを搭載

 StorSimpleは、このような「使いこなし」の部分をアプライアンスがすべて提供・自動化するアイデアを発案した。ユーザーからは、従来のローカルストレージと同じように扱えながら、バックグラウンドではクラウドストレージとも連携できるようにしたのだ。

 ユーザー側のサーバーとSSアプライアンス間では、アプライアンス本体に装備されているGigabitもしくは10Gbit Ethernetポートを使用し、ブロックレベルのiSCSI経由でやり取りが行われる。また、SSアプライアンスとクラウドストレージ間では、LANやWAN(インターネット、IP-VPN)を通じて相互に連携がとられる。

 SSアプライアンスは、2011年8月時点でSS5010とSS7010の2モデルが提供されている。そして、いずれのモデルもローカルドライブとしてSSDとSAS(Serial Attached SCSI) HDDを搭載する。

 SSアプライアンスは、これらのローカルドライブとクラウドストレージ間で透過的なティアリングを行う。基本的には、頻繁にアクセスするワーキングセットをSSD、次いでアクセス頻度の高いワーキングセットをSAS HDD、それ以外のデータをクラウドストレージへと保管する形となる。

 大部分のI/Oは、アクセス頻度の高いワーキングセットを持ったSSDまたはSAS HDDに集中することから、クラウドストレージを併用することによるパフォーマンスの低下を最小限に抑えている。

 同社は、このようなストレージ階層化のアイデアを「Cloud-as-a-Tier」と呼んでいる。そして、このアイデアを具現化するStorSimple独自のテクノロジーが「BlockRank」だ。blockという言葉からも分かるように、階層間のデータ移動はファイルレベルではなく、より細やかなブロックレベルで実行される。


データ量は年率50~60%という勢いで増大を続けているが、頻繁にアクセスするワーキングセットはその一部にすぎない。StorSimpleは、このワーキングセットをローカルストレージに保管し、アクセス頻度の低いデータをクラウドストレージに保管する専用のアプライアンスを開発した

 

論理的なストレージ階層を多く持たせたStorSimpleのBlockRank

 SSアプライアンスが使用する物理的なストレージ階層はSSD、SAS HDD、クラウドストレージの3種類だが、BlockRankで定義されている論理的なストレージ階層は以下のようにさらに細分化されている。

  1. SSD linear領域
  2. SSD dedup領域
  3. SAS HDD データ領域
  4. バリアー(SAS HDD内の一部領域)
  5. クラウドストレージ

 サーバーからSSアプライアンスに対してデータの書き込みが行われると、まずデータブロックがチャンクと呼ばれる小さなデータ単位に分割される。後述するデータ重複排除はチャンク単位で行われるため、重複排除の効果を最大限に高める目的で16~64KBという可変長のチャンクを採用している。

 SS5010には、SLCベースのフラッシュメモリを搭載した100GB SSD×4台、SS7010には同一の100GB SSD×6台が内蔵されている。これらのSSDは、優れたアクセス性能とデータ保護を両立するためにRAID 10でRAIDボリュームを構成している。つまり、SSDが提供するデータ領域は、SS5010が200GB、SS7010が300GBである。

 SSDのデータ領域は、さらにlinear領域とdedup領域で等分されている。つまり、各領域のネイティブ容量はSS5010なら100GB、SS7010なら150GBとなる。

 linear領域には、使用頻度が最も高く、またアクセス日時が新しいチャンクを保管する。一方のdedup領域には、linear領域から押し出されたチャンクのうち、データ重複排除済みのチャンクのみを保管する。

 まず、チャンクがlinear領域に書き込まれると、チャンクごとのフィンガープリントと保管場所(チャンクが保管されるストレージ階層)を管理するマップ情報が作成される。
 ここでいうフィンガープリントとは、メタデータ(チャンクのサイズ、アクセス頻度、作成からの経過時間)とチャンク自身(実データ)を組み合わせて作られるID情報だ。


SSアプライアンスは、本体に内蔵されているSSDとSAS HDD、そして外部のクラウドストレージに対する透過的なティアリングを行う

 

データ重複排除技術を利用してローカルストレージの使用効率を高める

 linear領域にチャンクが次々と書き込まれ、空き容量がゼロになると、一部のチャンクがdedup領域へと押し出されていく。こうすることで、linear領域に対して新しいチャンクを継続的に書き込めるようにする。

 優先的に押し出すチャンクの条件は特に開示されていない。Jai氏は、取材中にGoogleのPageRankにも似たアプローチを採用していると表現していたので、少なくともキャッシュメモリのように古いデータから順番に押し出ていくLRU(Least Recently Used)方式よりもはるかに高度なアルゴリズムがとられているように想像される。

 なお、dedup領域にチャンクを押し出す際には、linear領域にあるマップ情報を書き換えるとともに、チャンク本体のデータ重複排除も同時に行われる。すでにdedup領域にあるチャンクと重複する内容を持つチャンクが現れたら、この新しいチャンクがdedup領域に重複して配置されないようにする。

 SSアプライアンスのデータ重複排除は、他社のデータ重複排除技術と同じく、チャンクの重複判定にハッシュ情報を使用する。ハッシュ情報はSHA-256によって生成され、そのハッシュテーブルはdedup領域に保管される。

 他社のデータ重複排除技術では、データ重複排除時に使用されるハッシュ情報をフィンガープリントと呼ぶのが一般的だが、StorSimpleはチャンクのID情報をフィンガープリント、重複判定のための情報を単にハッシュ情報と呼んでいる。

 データの重複排除率は、一般的なプライマリストレージ用途で2倍程度、仮想マシンのバックアップ用途で5倍以上を想定している。とりわけ重複排除の効果を期待できる用途は、複数世代にわたるデータバックアップや多数の仮想マシンが稼働するサーバー仮想環境などである。

 重複排除の効果はチャンクのサイズにも依存するが、Jai氏は「チャンクのサイズを小さくすれば、重複排除がさらに効きやすくなります。SSDの非常に優れたランダムI/O性能を生かし、将来的にはチャンクをさらに細分化することも検討しています。ただし、あまりチャンクサイズを小さくしてしまうと、今度は処理が複雑になりすぎてパフォーマンスの劣化が懸念されます。結局はバランスの問題なのです」と説明している。

 

データ重複排除とデータ圧縮を組み合わせて保管効率を最大限に高める

 dedup領域は全体の85%までを使用し、この85%を超えたものがSAS HDDのデータ領域に押し出される。SS5010は1TBのSAS HDD×6台、SS7010は2TBのSAS HDD×6台を内蔵している。SSDと同様にRAID 10によってRAIDボリュームが構成され、SAS HDD領域のネイティブ容量はSS5010が3TB、SS7010が6TBである。

 dedup領域からSAS HDD領域にデータを押し出す際には、マップ情報を書き換えるとともに、チャンクの圧縮処理も実行される。ここでは、チャンクを1つのファイルに見立ててtar.gzによって圧縮をかける。つまり、圧縮時の符号化方式にはZiv-Lempelアルゴリズムを採用している。

 StorSimpleが公表しているスペック情報によれば、SAS HDD領域の容量はSS5010が10TB、SS7010が20TBとなっている。しかし、この数字はあくまでも重複排除や圧縮を行ったあとの実質的な容量を表している。ネイティブ容量(3TBと6TB)と比較すると、データ保管効率が3倍以上に向上することを想定しているようだ。

 BlockRankは、重複排除や圧縮技術によってデータの保管効率を最大限に高め、できるだけ多くのデータがローカルストレージに保管されるようにティアリングを行う。これにより、アクセス性能の向上とクラウドストレージの課金削減につなげている。


SS5010とSS7010の本体外観。SS5010は100GB SSD×4台と1TB SAS HDD×6台、SS7010は100GB SSD×6台と2TB SAS HDD×6台を内蔵している。高い可用性を実現するために、コントローラーや電源ユニットも冗長化されている

 

SSアプライアンス側でデータ暗号化を施してクラウドストレージに保管

 SAS HDD領域からあふれたチャンクは、さらにクラウドストレージへと押し出される。ここでは、ローカルストレージとクラウドストレージ間に大きな速度差があるため、SAS HDD領域にバリアーと呼ばれる特別なキャッシュ領域(サイズは非公開)を設けている。

 バリアーは、SAS HDDとクラウドストレージ間でやり取りされるチャンク入出量のバランス調整を行う。また、中身が空であるIPパケットを排除するなど、WAN回線でのデータ転送効率を最大限に高めるWAN最適化も施される。

 バリアーからクラウドストレージにチャンクを移動する際には、チャンクのマップ情報を書き換えるとともに、強度の高いAES-256によって暗号化を行う。そして、各チャンクをhttps経由でクラウドストレージへと押し出していく。こうすることで、データ自身のセキュリティーをSSアプライアンス側で担保している。

 なお、SSアプライアンスが管理可能なストレージ全体の容量は、ライセンス契約によって定められる。基本容量は、SS5010が20TB、SS7010が40TBであり、10TB単位の契約更新によってストレージ容量を柔軟に拡張していく。最大容量は、SS5010が100TB、SS7010が200TBとなっている。


システム構成例。サーバーとはGigabit Ethernetや10Gbit Ethernetで接続し、iSCSI経由でアクセスを行う。クラウドストレージとの接続には、例えばAmazon S3やWindows Azureストレージのようなパブリッククラウドであれば、インターネットやIP-VPNのようなWANが併用される

 

事業継続やディザスタリカバリーを実現するD2Cのデータ保護機能

 SSアプライアンスは、クラウドストレージを活用するデータ保護機能として、クラウドスナップショットとクラウドクローンを備えている。

 クラウドスナップショットは、SSアプライアンスが管理しているプライマリボリュームのスナップショットをクラウドストレージ上に保管する機能である。複数世代のスナップショットを保持でき、従来のデータバックアップ同様にデータの世代管理が可能だ。

 クラウドクローンは、プライマリボリュームを丸ごと複製する機能である。初回はフルバックアップによって複製が行われるが、それ以降は前回からの変更分のみを対象としたインクリメンタルバックアップを日次(にちじ)で実行する。

 クローンボリュームはプライマリボリュームと同じように扱えるため、障害発生時にはクローンボリュームにマウントすることで迅速にデータの復旧を行える。もし、SSアプライアンスが置かれたサイト自体に大きな災害が発生しても、ほかのサイトに代替のSSアプライアンスを配置し、設定情報とキーを転送するだけでサービスを復旧可能だ。

 このように、クラウドストレージ上にバックアップデータを置くD2C(Disk to Cloud)の手法は、大規模災害に対するディザスタリカバリーや事業継続で大きな力を発揮する。

 Jay氏は、「多くの企業は、テープバックアップとカートリッジのトラック搬送、もしくはサイト間のデータレプリケーションなど、かなりの手間とコストをかけてディザスタリカバリや事業継続を実現しています。今後は、より手軽なD2C(Disk to Cloud)も新たな選択肢として加わることになります」と説明する。


SSアプライアンスは、クラウドストレージを活用したD2C(Disk to Cloud)のデータ保護機能を備える。クラウドストレージ上にスナップショットやクローンボリュームを保管することで、サイト全体に及ぶ大規模災害への対応(ディザスタリカバリ)や事業継続が可能になる。将来的には、プライマリボリュームが置かれた場所と異なるクラウドストレージ上にクローンボリュームを配置できるように改良される予定だ。こうすれば、クラウドストレージ自体の障害にも対応できるようになる

 

大手ストレージベンダーに対するStorSimpleの立ち位置とは?

 ローカルストレージとクラウドストレージを密接に連携させるソリューションは、おそらく大手のストレージベンダーもすでに注目しているはずだ。例えば、EMCやNetApp、IBM、HPといったベンダーが、こうしたクラウド連携ソリューションを提供し始めたときに、StorSimpleのような小さな会社がどのように立ち回ればいいのか。

 Jai氏は、この点に関して「大手ベンダーは、一般の顧客よりもむしろクラウドストレージサービスの事業者に対してストレージ製品を販売したほうがはるかにもうかります。一般の顧客にこのようなストレージを販売しようとすると、クラウドストレージを活用することでローカルストレージの容量が減り、ストレージの販売価格が相対的に下落します。これでは、ベンダー自身の首を絞めることにしかならないのです。このため、StorSimpleのビジネスとはバッティングしづらいと考えられます」と語る。

 では、日本国内では今後どのように展開していくつもりなのか。StorSimpleと販売代理店契約を締結したマクニカネットワークスは、「米国では、SharePointやExchange、Windows VMなどとの連携ソリューションを推進しています。しかし、日本の市場を考えると、マイクロソフト製品に強くひも付いたソリューションでは訴求しづらいと考えています。まずは、用途を限定せず、ローカルストレージとクラウドストレージでティアリングが可能な汎用ストレージ製品としてマーケティング活動を進めていきます」と説明する。

 StorSimpleは、Guru Pangal氏とUrsheet Parikh氏によって設立されたストレージ専門のベンチャー企業である。Guru Pangal氏は、Brocadeにおいてストレージネットワーキングの中核となるスイッチソリューションを、Ursheet Parikh氏は、Cisco SystemsにおいてWAN最適化やアクセラレーションに関するビジネスを先導してきた第一人者である。それ以前にもストレージやネットワーキング関連のビジネスを手がけてきており、両氏の経歴を考えればStorSimpleの設立は非常に自然なことだっただろう。

 また、彼らに同調してStorSimpleに参加したスタッフの多くも、EMCやNetAppなど、今をときめくストレージベンダーで活躍してきた。そんな彼らが1つになることで、エンタープライズストレージ分野に新たな旋風を起こせるかもしれない。StorSimpleはそんな可能性を秘めた会社であるといっていい。

関連情報