- Sunからの情報
- Solarisインターナルズ
- OpenSolarisコミュニティー
- ブログ
- Solaris 10 と OpenSolaris でのzpoolバージョン比較
- zpool(ストレージフォーマット)のバージョンは、以下のコマンドで確認できる。
- 2009年12月時点では、Solaris 10 10/09が最新。
- アップグレードしてしまうと、戻せないので注意。OSのアップグレート時、zpoolについてはしばらくアップグレードを保留したほうが良さげ。
- SSD導入でのZFS性能強化
- 参考資料
- 考察
- ハイブリッド・ストレージ・プールとして、二つの機能がサポートされている。
- ZIL(Write用ログ領域): データ書き込み時のsyncをSSDで受け、素早く完了させる。物理メモリー容量の半分程度のSSD容量を使用する。
- L2ARC(Read用拡張2次キャッシュ): 静的データをSSDに溜め、HDDの苦手なランダム読み込みを高速化する。SSDが大容量であるほど効果も高いと考えられる。
- 必要な特性
- ZILは(保持時間は短いが)信頼性が要求される。必要に応じてミラーリングも構成できるが、SSD製品ではSLC型が妥当と思われる。
- L2ARCの信頼性はほどほどで良い。チェックサムで誤りが見つかればSSDのデータは読み捨ててディスクから読み直す。また、システムをシャットダウンすると内容は破棄され、システム起動時は空の状態になる。SSD製品は、廉価なMLC型で良いと思われる。
- Sunのプロモーション資料では、ZIL用SSDが32GB×1、L2ARC用SSDが80GB×1の構成で、SATAがSASより早くなると謳われている。
- 容量からSSD製品を推定すると、恐らく、ZILにはIntelのSLC型、L2ARCにはIntelのMLC型を採用しているのではないか?
- ZILが真価を発揮するのは、重い多重トランザクション処理でコミット性能が響くケースと考えられる。個人用途では、L2ARCのみで十分な改善効果を期待できるのではないか?
- 実機での導入確認
- L2ARCサポートが導入されたSolaris 10 10/09リリースは、不具合を持つ地雷品と思われるため、実機導入はしばらく保留とする
- Solaris 10/09、OpenSolaris 2009.06での書込み性能低下
- ZILの動作に変更があったためか、改版以降、ZFSへの書込み性能に低下が見られる。
- 改版前は、100Mバイト/秒ほどの速度で書込みをしても、数秒間バッファリングされ、物理ディスクへの頻繁な書込みはなかった。
- 改版後は、小刻みな書込みが行われるようになった。
- ZILの無効化を設定すると、この性能低下は回避できるようだ(Sunは推奨していない)。そのため、ZILの動作が何らかの形で関係していると考えられる。
- 無効化の方法は、下記の資料に記載されている。しかし、同時にこの資料では、無効化設定を利用環境に適用してはいけないと強く言っている。リスクとして挙げられているのは、データの整合性であるが、ファイルシステムとしての整合性は壊れないようにも読める。
- ZILは、ZFSのバージョンアップに伴って機能拡張されているが、ZILそのものはZFSの初期段階から実装され、その機能目的も変わっていないようだ。
- ZILの目的については、以下のブログが詳しい。
- ZILの内部構造については、以下のブログが詳しい。動作回数を確認するためのDtraceスクリプトも挙げられている。
- 改版前もZILは実装されていたことを考えれば、ZILを無効化しての回避策は、デグレードと考えられる。
- COWは絶対ではない
- SCSI・SASディスクや最近のSATAディスクには、コマンドキューイング機能が実装されている。コマンドキューイング機能が働くと、ZFSのウリのひとつであるCOW(Copy-On-Write)の原則が崩れ、SYNCができずにシステムが停止した場合には、ファイルシステムの整合性を保証できなくなるのではないか?
最終更新:2011年09月14日 08:30