技術資料
Top / サポート情報 / 技術資料 / ダブルレイヤーL2-SSDキャッシュ

ダブルレイヤーL2-SSDキャッシュ

InfiniCloud株式会社のクラウドシステムは、データの保全性を最重視するため、逆に書き込み速度が劣化する傾向があります。

一般に、共有SANストレージを使ったクラウドシステムにおいて、ストレージサーバの応答遅延は、仮想サーバ群に対して深刻なダメージを与えます。あるサーバがストレージに対して大きなインパクトを与えたとき、同一収容されている仮想サーバはストレージに遅延が発生します。

ハイパーバイザ型の仮想化システムの場合、仮想化OSから見たときのストレージはローカルストレージのように見えるため、仮想サーバにとってのストレージの応答遅延は、ディスクが不安定のように見えます。

コンテナ型の仮想化システムの場合、ディスクアクセスはグローバルゾーン(ベアメタル上のOS内)で行うため、準ネットワークストレージとして利用し、仮想サーバのプロセスがからみてディスクの応答性の劣化に見えます。

ハイパーバイザ型にくらべてコンテナ型の方がSANストレージの応答劣化には(ゆるやかに)強いのですが、いずれにしてもSANストレージの応答性劣化が仮想サーバに与える影響は深刻です。

Double-Layer-SSD-Cache.png

そこでInfiniCloud株式会社のクラウドシステムでは、ストレージの高速化のために、2段階の高速なSSDを用いたストレージのオフロードを行っています。

1つは、仮想サーバの収容機上に存在するL2ARCとSLOG、もう1つはSANストレージ層に用意したL2ARCとSLOGです。

左図のうち、下の方からデータを読み出すほど遅延が発生しますが、データ自体が確実に保持されているのは、一番下のストレージのみです。

仮想サーバがデータを読み出す時、次のような流れで読み取ります。

  1. 収容サーバのメモリ上にデータがキャッシュされていた場合、メモリ上のキャッシュから応答します(収容サーバのARCヒット)
  2. 収容サーバのメモリに無かった場合、収容サーバに接続されているSSDを用いたL2ARCからデータを読み込み応答します(収容サーバのL2ARCヒット)
  3. 収容サーバのメモリにもL2ARCにも無い場合、SANストレージに照会、SANストレージ内のメモリ上にデータがキャッシュされていた場合、SANストレージ内のメモリ上のキャッシュから応答します(SANストレージのARCヒット)
  4. 収容サーバのメモリにもL2ARCにも無く、SANストレージのメモリにも無い場合、SANストレージに接続されているSSDを用いたL2ARCからデータを読み込み応答します。
  5. どのキャッシュにもない場合、実際のディスクアレイからデータを読み取ります。

一方、書き込みの場合は、次のような流れとなります。

まず、通常の書き込みは、ある程度まとめてスケジューリングされたタイミングにて、ディスクアレイに直接、書き込みします。

しかしアプリケーションなどから、SYNC要求(ディスクに書き出しなさいという指令)が発生した場合、下記のような手順で書き込みを行います。

  1. 収容サーバ上のSLOGに対して、書き込みが要求を出す。書き込みが終了した場合は正常終了を返す。

※収容サーバ上のL2ARCとSLOGは、仮想サーバ単位に接続されております。また、全てのお客様の仮想サーバに接続されるものではありません。一定の条件を満たすご契約が必要になります。※

Private CloudPrivate Cloud
StorageStorage
NetworkNetwork