SSD+SATAのハイブリッドストレージ Nimble Storageについて調べてみた

Nimble Storageというストレージプロダクトがあるらしい。
それについて調べたことを書いてみる。
うたい文句をみるとTintri VMstoreと似てる感じがするなぁ・・・と思いつつ内容を調査した。

なお、これは以前書いた「Nimble Storage」という記事についてのアップデートです。
簡単に言えば、書いた記事には誤りがあったための更新ついでに、競合との比較です。

Tintri VMstoreと大きく違う点

・Nimble StorageはiSCSIストレージ
 汎用的に使えるiSCSIストレージ
 VMware/Hyper-V/通常のWindows/Citrixで使える
 TintriはNFSストレージで、さらにVMware以外は公式にサポートしない

・SSDはRead Cacheとして使用
 実体は全てSATA HDD上に置かれている
 Tintriは、SSDとSATA HDDのどちらかに置かれており、必要に応じて自動的に移動する

・Web GUI以外の管理手法が完備されている
 SNMP MIB、CLI操作が使える
 Tintriは、Web GUI以外に無い

・vSphere関連のプラグインが一通り揃っている
 VAAI, vSphere Client plugin, SRM pluginがある。
 2013年5月現在TintriはVAAIのみ

・VSS連携も可
 WindowsのVolume Shadowcopy Serviceとの連携も可能

・レプリケーション機能を初期リリースからサポート
 Tintriは、最新のver2.0でサポートのはずだが、2013年5月現在入手できず。

・容量拡張手法がいくつかある
 容量が足らない→Shelf増加(パフォーマンス低下は無い)
 パフォーマンスが足らない1→SSDの容量アップ(オンラインで実施可能)
 パフォーマンスが足らない2→システム追加+クラスタ化
 Tintriの場合、「システム追加」しかない

・複数システムをクラスタ化できる
 複数のNimble Storageを1システムの様に取り扱うことができる
 ユーザはNimbleを使い分ける、ということを意識する必要は無い
 Tintriの場合、明示的に使い分ける必要がある。

・Web GUIからシステムアップデートができる
 Web GUIからシステムアップデートができる、というのは良くあるが
 アップデートするバージョンを複数から選択できる、というのは珍しい。
 最新は嫌、とか、導入済みのものと合わせたい、という場合に便利。
 Tintriは、本体にキーボードとUSBメモリを取り付けて、コンソール操作でのアップデート。

細かな話

・実データをHDDに書くけど遅いんじゃないの?
もちろん、まともに書くと遅いので、うまくごまかしています。

書き込まれたデータはある一定サイズになるまで、メモリ(NVRAM)上にため込まれます。
既定サイズを超えたら、データ圧縮をおこない、HDDに書き込みます。
ここで既定されているサイズは、SATA HDD 11本で構成されたRAID6に書き込む際に、最速シーケンシャルwriteになるように設定されている。(以降「writing block」と呼びます。なおこの表記はオフィシャルではありません)
つまり、速度が落ちるランダムwriteを排除している、ということになる。

・データ書き換え時ってどうしてるの?
データが書き換えられた時は、書き換え後のデータは通常のwriteデータと共にメモリ上にため込まれます。
そして、通常の書き込みプロセスと同様にwriting block単位で圧縮書き込みされます。
書き換え前のデータは不要になりますが、これはひとまず、メタデータ上のみで無効化されます。
その後、システム負荷を見計らいつつ、データ再配置処理がおこなわれ、空き領域が回収されます。

・え?データは圧縮されてるのに、再配置ってどうやるの?
はい、データが圧縮書き込みされているので、単純な再配置処理ではありません。
再配置は、不要になったデータが含まれているwriting block単位でおこなわれます。
まず、writing block内にある有効なデータをメモリ上に読み込みます。
この読み込んだデータと、通常のwriteデータを合わせて、新規のwriting blockとして、ディスクに書き込みをおこないます。
その後に、元々のwriting blockを無効化し、再利用可能状態にします。

・SSDを冗長化してないけどいいの?
キャッシュでしかないので問題ない。
壊れたらそのSSDを使わなくなるだけで、他のSSDを使って改めてキャッシュされる。
SSDを交換したら、改めて使用される。

・いろいろモデルがあるけどどういう違い?
CS2xxとCS4xxは、CPUの違い
CS220/240/260およびCS420/440/460は、それぞれSATA HDDの容量の違い。
Baseモデルとx2 Flashモデル、x4 Flashモデルの違いは、4本入っているSSDの容量の違い。
例えば、CS220のBaseモデルだったら80GB SSDが4本で320GB、という感じ。

・複数Shelfとかクラスタを組んだ時とかってデータ配置どうなるの?
初期配置としては、均等になるようばらばらに割り振る。
使っていくうちにデータ使用量の偏りが出てくる。
そのような場合は、Re-balance処理が実施され、均等になるように再配置される。
Re-balance処理は低プライオリティで実行されるためパフォーマンス影響は少ない。

・いい資料が見付からないんだけど
Nimble storage Communityを探すといろいろ出てくるよ。

ネットワークストレージ業界の標準ハードウェアSupermicro 6036ST-6LR

ここ2年ぐらいの間に、いろんな形でのSSD/FlashとHDDを組み合わせた形で高速化を図っているネットワークストレージ(NFS/iSCSI)の製品が出ています。

以前、うちのblogでも紹介したTintri VMstoreNimbleStorageがそんな感じの製品です。

で・・・Tintri VMstoreは特徴がそのままだったので、すぐにわかったのですが、
NimbleStorageも、よくよく調べてみれば情報があり、正体がわかってきました・・・

どっちも、Supermicro社のSuper Storage Bridge Bay (SBB)シリーズSYS-6036ST-6LRでした。(日本の代理店ページ)

まぁ、マザーボードを2枚積んで、両方のシステムからストレージベイにアクセス出来るようなサーバ筐体で、汎用的な製品が他にないので、こうならざるおえないですけどね。

1筐体にマザーボードが2枚積まれていますが、マザーボード間は10GbpsのNIC 2組でクロス接続されており、そこを使ってアクティブ/スタンバイ監視をおこなったり、キャッシュ情報のやりとりなどをおこなったりします。
(まぁ、そこらへんは、ソフトウェア実装に依存しますが)

また、マザーボードには拡張スロットが3つ(PCIe x8が1,PCIe x4が2)と、SASポートが1つあるので、拡張性という面でもまずまずなところです。

Tintri VMstore T540の方は、拡張筐体をサポートしていませんが、
NimbleStorage CS2xxシリーズの方は、拡張筐体をサポートしています。

まぁ、肝心なのは上に載せるソフトウェアの問題なので、ハードウェアが一緒であったとしても、違いが出せれば問題ないですけどね

Nimble Storage

2013/05/21追記

Nimble Storageについて 2013年版」にて最新情報を公開しています。
また、以下の記述には、間違った情報が含まれていますので、きちんとした情報を知りたい人は上記のURLにアクセスしてください。


Nimble Storageというプロダクトがあるらしい。

うたい文句をみるとTintri VMstoreと似てる感じがするなぁ・・・と思いつつ内容を確認。

コントローラヘッド筐体+SAS接続のディスクShelf、というのが基本形。
そこから性能を上げる選択肢がいくつかある。

・1セットの容量を増やすためには、ディスクShelf追加
・パフォーマンスアップのためにSSD追加
・さらパフォーマンスと容量を上げるには、別セットを用意し連携させる
Nimble Storage Technology & Features Primer」より

「Base Flash Capaticy」「x2 Flash Capacity」「x4 Flash Capacity」という感じの3種類があり、低ランクではBaseしかないし、高ランクだとx2/x4だけだし、という感じで、アクセス速度はここのSSDによるキャッシュに依存しているようだ。
(現状は2400GBが最大上限である模様)

で・・・ディスクShelfの方のスペックを見てみると、こちらにも「Flash Capacity」とある。
コントローラヘッド内にも(PCIeの)SSDがあるのか、それとも、ディスクShelf側にHDDの代わりにSSDを入れて高速化を図るのか、どちらなのかがよく分からない。

もし、ディスクShelf側にSSDを入れるとなると、全体容量が犠牲になるわけですし、評価が難しいところ。

サーバとNimble Storageの接続はiSCSIである模様。
VMware / Hyper-V / Citrixで使える、ということになっている。

以下は参考資料

BEST PRACTICES GUIDE: Nimble Storage Best Practices for Scale-Out

BEST PRACTICES GUIDE: VMware on Nimble Storage
BEST PRACTICES GUIDE: Nimble Storage Best Practices for Microsoft Hyper-V R2
BEST PRACTICE GUIDE: Nimble Storage for VMware View VDI

Tintri VMstore T540

先日紹介した、Tintri VMstore T445。
先日開催されたvForum2011にて実物があったので、いろいろ聞いて見た。

おおむね想定通りだったけど、いくつか記事のアップデートが必要な点があった。

ハードウェア的な構成についての話
・機種が2つ、廉価版で4UのT445と、ヘッド冗長性ありで3UのT540がある。
 (T540のが後に出てきた)

・廉価版 4UのT445のハードウェア
想定通りSUPERMICROの4U SuperChassis 846シリーズだった。
HDDが24スロットで、160GB SSDを9本でRAID6、1TB HDDを15本でRAID6としている。
オンボードNICは1Gbps 1つ+管理用1Gbps 1つと結構貧弱。

・冗長性ありの3U T540のハードウェア
Tintriのページにある背面画像から考えるとSUPERMICROの3U SuperServer 6036ST-6LRあたり。
HDDが16スロットで、300GB SSDを8本でRAID6、3TB HDDを8本でRAID6としている。
オンボードで10Gbps NICが2つついているというのが利点であろう。
その他に管理用として1Gbos NICが2つある。

・消費電力の謎。
ノックスのカタログではT445の消費電力が1200Wで、T540の消費電力が500Wとなっているが、デュアルヘッドなのにほんとか?
と思い、Tintri公式のリソースにてダウンロードできるdatasheetを確認したところ、T445・T540のどちらとも「Typ(標準値)が500W」としか書かれていなかった。
T445の消費電力1200Wというのは、おそらくシャーシの最大消費電力 1200Wから来ていると思われる。
であれば、T540も、シャーシの最大消費電力 1200Wとなるのであろう。
(2011/12/21追記: 上記に記載した、ノックスカタログにおける消費電力の件は500Wに修正されていた)

・T540でのヘッド間ディスク共有方法はStorage Bridge Bayを利用
T540では、ヘッドの冗長性アリ、となっているが、どうやって2つのヘッドを1つのディスク群にアクセスさせているのかを、シャーシ側の資料を確認してみたところ、Storage Bridge Bayという仕組みを利用しているとのこと。
SSBについては、Storage Bridge Bayからの出発 ~SBB規格がもたらすストレージの未来像~という日本語の記事があったので、こちらを見てください。

ストレージとしての動作について
・最終的なデータの置き場所はHDD上
・書き込み/読み込みキャッシュ的な感じでSSDをフル活用する
・エンクロージャの増設等は現状考えられてはいない
 (ただし、T540はハードウェア的には外部SASポートがあるのでできなくはないはず)

・VMware専用のNFSストレージで、他のOS用には考えられていない
 とはいえ、Citrix Xenに関しては対応する可能性がある。

Tintri VMstore T445

この記事についてのアップデート内容をTintri VMstore T540に記載しています。
下を読んだあとに、上記記事を見てください。
— 2011/11/21 追記分はここまで —
VMware vSphere Blogの「VMworld 2011 – Interesting Storage Stuff.」でいくつかストレージが紹介されている。

その中で、Tintri社のTintri VMstore T445って、なんだろ?と調べてみた。

VM(Virtual Machine)に特化したストレージ、ってことは、どーせまたiSCSIストレージなんでしょ?と見てみたんですが、NFSストレージ、と書いてあってちょっとびっくり。

ハードウェアとしては・・・

4U筐体にヘッド部分とストレージが含まれており、1筐体で8.5TBを提供する、とのこと。
ストレージ自体は、「160GB SSDを9本」+「1TB HDDを15本」で、どちらも3.5インチ形状。

というか、データシートの製品写真を見る限り、3.5インチディスク24本構成で、4Uで、このカラーリングってことは、SUPERMICROの4U SuperChassis 846シリーズってことですよね・・・たぶん。

ソフトウェア的には特に書いていないですが、Linuxベース・・・なんでしょうかねぇ?

おもしろそうな点

・NFSストレージであること

・vSphere Client用のプラグインがある
 各VMごとのストレージパフォーマンス(IOPS/MBps)が見れるようだ
 それも、時系列変位のグラフも提供できるようだ
 (Eliminate VM Performance Bottlenecksより)

マイナス点

・SSD/HDD共にRAID6を組む、という記述。(Redundancy RAID6 + hot spare for all SSDs and HDDs)
 SSDにもRAID6組む、というのはSSDの寿命的にどうなの?
 SSDとHDDの使い分けは?
 SSDにもRAID6組むぐらいだから、キャッシュ扱いではなく、メインで使用?

・標準ではギガイーサ2本しかない
 ただのIntelマザーボードだから増設すればいいんだけど・・・

・アラート機能がメール通知とHTTPS管理画面での通知のみ(Alerts SMTP for email alerts, HTTPS for polling)
 NetApp風のAutosupportをサポートを用意している(Autosupport HTTPS (optionally through proxy))のはいいんだけど・・・

・拡張性が0
 これ系だと良くうたわれている「Scalability」が一切書いてない。
 まぁ、8.5TB割り切り型、と考えればいいのかもしれない。

一番の問題点

・ヘッドが壊れたら全滅っぽい
 筐体の冗長性については、一切触れられていませんでした。
 (Tintri VMstorage Datasheet, Virtualize more with VM-aware storage, Eliminate VM Performance Bottlenecksの確認した結果)

安くて、それなりに早いストレージが欲しい、という要件であればいいのかもしれないです。

つまりは、クラウド系で、一時作成系のVMを置く場所として、という要件ぐらいですかねぇ。

データを保持し続ける用途で使うには、バックアップ機能が無い、とか、ヘッドの冗長性が無い、とかいうことを考えると、かなり難しい気がします。

そうそう、ノックスが取り扱うようで、ascii.jpにノックス、VMware専用NAS「Tintri VMstore T445」を投入という記事が出ています。

最大の特徴は、VMwareとAPI連携するファイルシステムで、LUN(Logical Unit Number)を廃し、1ノード=1データストアという構成で利用する。運用中でもノンストップで拡張できるほか、仮想マシンごとに優先順位を付けたり、パフォーマンスの統計をとることが可能だという。

なんて記述がありますが、ここでいう記述はいろいろ誤解を招きそうな感じで、Tintriの資料を読んだ限りでは、「VMwareとAPI連携するファイルシステムで、LUN(Logical Unit Number)を廃し、1ノード=1データストアという構成で利用する」とは「VMwareとはAPI連携し、VMwareとのアクセスはNFSで行い、1ノード=1データストア=1 NFS共有で利用する」という意味で、
「運用中でもノンストップで拡張できる」というのは、「各VMに割り当てた専用データストアの容量が拡張できる」という意味だと思われます。

後者の「ノンストップ拡張」は、NFSデータストアで一般的な仕様で有り、特に注目するべき点ではないような印象を受ける。

もうちょっと資料が出てきてくれないかなぁ・・・