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を探すといろいろ出てくるよ。
osakana さん
nimble storage って本当に面白いですね。紹介文はすごく分かりやすい。ありがとうございます