Truenas ScaleでDRAMレスSSDでの安定動作

Truenas

 DRAMレスSSD2TB×8を用いて、RAID-Z2で運用していたのだが、どうやらDRAMレスSSDを用いてRAID-Z2等を構築すると、SCRUB動作時に、メタデータの書き換えが頻発し、SSDの寿命を低下させると共に安定動作が行えない状況になることが分かった。
 安定動作については、HW的なHBAの問題も絡み複雑な状況だが、以下の構成で安定動作させることができた。
 (写真は、不安定だったRTL9101が搭載されたHBA)

1)HBAをLSI9300-8i(FAN付き)
 (FANは重要。低発熱なら9500シリーズを使うとよさそうだが3万以上するので購入できていない)
2)Special VDEVを追加する
 この時に、使用するSSDはMX500-250GBを2個使用し、DRAM付きのSSDにてMirrorにて作成
3)DatasetのAdvanced設定の中のRecordSizeを1Mに変更
 (この設定が効いたのかは不明)

 NASにおいて、HBAの重要性を改めて再認識した。RealtekのRTL9101を使用したPCIeカードのHBAを使用して、発熱も少なく安定動作していると思っていたが、リシルバーを走らせたときに、1ポートだけ、READ 3 Write 97のエラー検出状態で必ず止まるようになってしまった。
 LSI9300-8iに変更したところ、上記状態は収まり安定動作するとともに、RTL9101を使用していた時は、個々のSSDでReadが200MB/s程度で動作していたのが、400MB/sで動作するようになった。
 転送レートについては、zpool iostat -v 2 にて目視確認レベルでの数値なので、おおよその数値です。

 Special VDEVの追加は、メタデータをDRAM付きの高速なSSDに追い出すことで、パフォーマンスと安定化に寄与するとのことで採用したが、データはRAID-Z2であっても、このSpecialVDEVが故障するとデータに異常がなくてもデータがすべてぶっ飛ぶとのことで、Mirror化は必須とのこと。

 Record Sizeを1Mとしたのは、RTL9101を使用していて、Special VDEVを追加した状態での確認だったため、元の128Kのまま、LSI9300-8iを使用してれば問題なかったような気がする。

 DRAMレスSSDのRAID-Z2の運用は幾度となく不安定を経験していた。上記対策後はSCRUB時の動作を確認していたが、安定して3GByte/sの転送レートで読み出しが行えていた。リシルバー時の動作としても書き込みはSLCキャッシュが切れる時まで、400MB/s程度を出せていたので文句がない状況になった。

 様々な設定を行ってきたが、HBAを信頼のおけるものを使用し、ファンをつけて冷却も確保し、HWとして問題ない前提で、設定をいじるべきだった。
 リビルド時にRAIDが崩壊するとのよく記事を見かけるが、HBAの安定動作あっての話だと思うので改めてHBAって重要だなと思いました。

コメント

タイトルとURLをコピーしました