米PernixDataは、VMware環境のストレージ性能をキャッシュを使って高めるソフト「PernixData FVP」の開発会社である(関連記事:ネットワールド、フラッシュを共有キャッシュ化してVMwareのストレージI/Oを高めるソフトを発表)。サーバーが内蔵しているフラッシュストレージを外部ストレージのキャッシュとして利用する。日経コンピュータは、米PernixDataのCTOでVMwareのクラスターファイルシステム「VMFS」の開発者としても知られているSatyam Vaghani氏に、PernixData FVPを開発した背景を聞いた。

(聞き手は日川 佳三=日経コンピュータ


なぜPernixData FVPを開発したのか。

写真●米PernixData、共同設立者でCTO(最高技術責任者)のSatyam Vaghani氏
写真●米PernixData、共同設立者でCTO(最高技術責任者)のSatyam Vaghani氏
[画像のクリックで拡大表示]

 企業は従来、一つのストレージ製品で容量と性能を同時に確保しようとしてきた。ところが、このやり方は効率が悪い。理想は、既存のストレージ製品を使って容量を確保した上で、ストレージとは独立した手段でストレージI/Oの性能を確保することだ。容量の確保と性能の確保を分離することだ。これを可能にするソフトウエアがPernixData FVPだ。

 古典的なストレージ、つまり、米EMCや米NetAppが以前から販売しているストレージを購入した場合、容量を増やすことは簡単だが、後から性能を上げるのは難しかった。高い性能が欲しい場合はフラッシュメモリーを活用した高性能なストレージが使われるが、こうした新しいストレージへの置き換えが必要になっていた。

 これまでの企業は、性能を改善したいのに、容量を増やすための製品、つまりストレージアレイ装置に目を向けてしまっていた。この問題に対する解決策が、容量の確保と性能の確保を分離することであり、ストレージ製品とは独立したソフトウエアであるPernixData FVPだ。既存のストレージ装置のそのまま使いながら性能だけを高められる。

PernixData FVPの仕組みと特徴は。

 PernixData FVPは、外部ストレージに対するキャッシュ層を、ストレージ装置側ではなくサーバー側で実現するソフトだ。容量を確保するためのストレージ装置と、ストレージ性能を確保するためのサーバー機を、この両者を明確に分離する。性能のためにストレージへの追加投資が要らないので、ストレージにかけるコストが安く済む。

 サーバー仮想化ソフトであるVMware vSphere(ESXi)のカーネルに組み込んだ状態で動作し、サーバー機が内蔵しているフラッシュストレージ(PCIe接続またはSSD)を、外部ストレージのキャッシュとして利用する。リード(読み込み)キャッシュとしてもライト(書き込み)キャッシュとしても機能する。

 サーバー側という、アプリケーションに近いところにキャッシュを置くことで、ストレージアクセスのレイテンシー(遅延時間)を小さくできる。米PernixDataの検証では、外部ストレージ(FibreChannel接続)とフラッシュの組み合わせにおける遅延時間が850マイクロ秒であるのに対して、PernixData FVPの遅延時間は70マイクロ秒で済んでいる。

 エンドユーザーの視点では、VDI(デスクトップ仮想化)環境における活用シナリオを検証済みだ。同時に立ち上げる仮想デスクトップの台数と、個々の仮想デスクトップの起動時間の関係を計測した。PernixData FVPを使った時の起動時間は仮想デスクトップの台数に寄らず一定だが、PernixData FVPを使わなかった時の起動時間は仮想デスクトップごとにばらつきがある。

 データベース管理システム(DBMS)のデータを格納する使い方も検証済みだ。PernixData FVPはライトキャッシュとしても機能するので、書き込みI/Oが頻ぱんに発生するDBMSの使い方に適している。キャッシュにデータが書かれたタイミングで書き込み完了とするライトバック型の動作が可能なので、外部ストレージへのI/Oがボトルネックにならない。