株式会社ネットワールドのエンジニアがお届けする技術情報ブログです。
各製品のエキスパートたちが旬なトピックをご紹介します。

発想の転換:世界で最も早いストレージを作る! その1

いつも翻訳記事ばかりですが、年の瀬になってきましたのでVMworldレポート以来のオリジナル投稿です。

今回の話題は「世界で一番早いストレージを作る!」です。

オールフラッシュを期待していた方、違います。フラッシュよりも早いものがあるのです。フラッシュよりも早い? 3DXpoint(スリーディークロスポイント)でしょうか?それもまた違います。この先に予定されているNV-DIMM? 違います。それはDRAM、つまりメモリです。

Fig330

メモリでストレージを作るという発想

馬鹿な!と思う方がいらっしゃると思います。メモリが早いというのは周知のとおりですが、もう一つ、メモリは揮発性メディア、すなわち電源がなくなると保持されているデータが失われてしまいます。こんなものでストレージを作れるはずがないと思うのではないでしょうか?

そのとおりです。ストレージはデータの保管庫ですのでこれまでは必ず不揮発性のメディアが必要でした。高速な書き込みを実現できると謳っているストレージであっても、書き込んだデータを失わないようにするため、NVRAM(メモリよりも低速だが、電源断時もデータを保持できるメディア)を利用しています。ですが、この考え方を変えるべき時が来ているのです。

ストレージは一体何を提供しているのでしょうか?

世の中にはハイエンドからローエンドまで、また記憶メディアとして磁気ディスク、フラッシュなどを採用するものなど広く数多に種類がありますが、提供しているものは結局のところ以下の4つです。

  • キャパシティ(どれだけのデータを格納できるか)
  • パフォーマンス(どれだけのスピードでデータにアクセスできるか)
  • データサービス (データに対してどんな操作を行うか/スナップショット、レプリケーション、圧縮、重複排除、暗号化等)
  • マネージメント (データの状況を表示、分析)

この4つのうち何を重視するかでどのストレージを選ぶかが変わってくるはずです。たとえばキャパシティを再優先するのであればオブジェクトストレージになるでしょうし、DRのために重複排除率・圧縮率そしてレプリケーションが重要ということであればEMCのData Domainという選択もあります。データの分析が重要ということであればData-Awareストレージという新しいジャンルのストレージも登場し始めています。

Software-Defined Storage(SDS)

もう一つ新しいジャンルとして立ち上がり始めているストレージがSoftware-Defined Storage(SDS)です。各社それぞれの定義があり、非常にバリエーション豊かなストレージのジャンルですが、ここでは@ITの三木さんの定義をお借りします。

「Software Definedとは、利用者がやりたいことを最短距離で実現できるようにするための、ITインフラ製品の機能および利用方法」

特定の技術ではなく、利用者にとって非常に分かりやすい定義だと思います。フラッシュ、次世代フラッシュと高速な不揮発性のメディアが登場してきています。ただ、これはストレージが上の4要素すべてを提供するハコ(ハードウェア)として考えた場合において、更に最速な選択肢が出てきたというだけです。ですが、SDSは別段ストレージの4要素全てを提供する必要はありません。欲しいのはストレージのパフォーマンスだけ、という利用者だって当然いるわけです。

さて、今回我々は世界で最も早いストレージを作りたいわけです。最短距離で考えると

世界で最も早いストレージ(ストレージのパフォーマンスを可能なかぎりあげたい)を作るのであれば、世界で最も早いメディア(=DRAM)を使うのが最短距離です

という考えに至ります。

PernixData社のビジョン

PernixData社はVMwareファイルシステムの父であるSatyam氏、Oracle ExaDataの父であるPoojan氏によって創業されたスタートアップ企業ですが、そのビジョンは単に「ストレージを高速化する」というだけのものではありません。Satyam氏、Poojan氏はすでに非常に大きな実績を持っているにもかかわらず、口をそろえて

もっとすごいことをやるためにPernixDataを始めたんだ。今は詳しくはいえないけれど、すぐにみんながわかる形にしてみせるから、楽しみにしていて。ストレージの世界をVMwareの様に変えてみせる。

とおっしゃっていました。当時はストレージのパフォーマンスだけを後から提供するFVP製品しかありませんでしたが、今年はストレージのマネージメントだけを提供するArchitectという製品がリリースされました。もしかするとキャパシティだけを提供する製品、データサービスだけを提供する製品が今後リリースされてくるかもしれません。しかも、ソフトウェアでリリースされてくるのです。ストレージを全く違うものにする、それは今年国内でいくつも導入事例を発表させていただきましたが、すでにもう始まっているのかもしれません。

ちょっと話が横にそれましたが、PernixData FVPを利用することでストレージのパフォーマンスを分離(De-couple)してソフトウェアで外から提供できるようになっています。そして高速なメディアを利用することと、SANネットワークやストレージコントローラーなどの物理的なオーバーヘッドを排除することで高速なメディアのスピードを可能な限り失速させないようにして利用可能にしています。

Fig331

最後に残ったオーバーヘッドにサヨナラを

PernixDataはメモリを使ってのストレージパフォーマンスの提供を実現していますが、どうしても取り去れないオーバーヘッドが残っていました。それはWriteデータの冗長化のためのホスト間通信です。こればかりはいくらパフォーマンス優先とは言え「データを失っても良い」わけではありませんのでどうしても最後に残ってしまう問題です。最近のネットワークの遅延は小さく、PernixDataのデータ転送プロトコルも非常に軽量なものになっているとはいえデータ転送によるオーバーヘッドは4Kブロックサイズで250マイクロ秒程かかってしまっています。メモリ自体は数マイクロ秒程度で動作していることから考えると、この値はまだまだ大きいと言わざるを得ません。Readについては数マイクロ秒まで小さくできるのに、Writeは250マイクロ秒が限度となると非常に残念な結果になってしまいます。

Fig332

これは「サーバが落ちるもの」である以上しかたのないことなのですが、逆に言えば「落ちないサーバ」ならネットワークを使って冗長化する必要はなく、遅延を最小に抑えられるという意味にもなります。そこでストラタステクノロジー様のftServerの登場です。

Fig333

人類史上最速のメディアであるメモリをストレージとして使えるプラットフォーム

このサーバとPernixData FVPを組み合わせると以下のような、Read/Write両方についてネットワークの遅延を気にすることなく応答するシステムを実現可能となります。

Fig334

いかがでしょうか? これでRead/Writeをメモリで行ってもデータを失う心配のないストレージ環境が実現しました。実際のパフォーマンスについての検証結果については次回の記事、今年の最後の記事でお伝え致します。アゴが落ちないようにしっかりと支えておいてください!

結果のチラ見せ

来週まで待てない方のためにちょっとだけお見せします。

Fig335

ではまた来週!

記事担当者: マーケティング本部 三好哲生 (@pernixdata_netw)