時代遅れながら、2.5インチのSSD8台でRAID-Z2を組んで高速なNASを構成してみた。
本当ならば、CrucialのMXシリーズを使うべきだが、そこは費用との相談で、SiliconPowerのA58シリーズを用いてみた。
SiliconPowerにはA58とA55が存在しているが、その違いがどうもはっきりしない。
色々調べた結果、コントローラーに違いがあり下記のようになっていた。
A55・・・SMI SM2258XT DRAMレス
A58・・・Phison S11 チップ内32MByte内蔵
(ただし、実際にどのコントローラとなっているかは、おみくじとなっている模様)
どちらの方がよいのか正しく把握できていないですが、このクラスになるとキャッシュ切れを起こすと、パフォーマンスが大きく落ちることは確実なので安いほうということで、A58を選択しています。
色々とくみ上げて、いざ転送してみると直ぐに、数KByte程度の転送速度になってしまっていました。いくらキャッシュ切れにしても遅すぎる。RAIDをZ1に落として組みなおしても、さらに悪化してしまう状況。匙を投げかけたころに、メーカーのツールで、SP ToolBoxを使ってすべてのSSDをSecure Eraseしたところ、キャッシュ切れを起こすまでは、Etherの帯域を使いつくす程度になった。
キャッシュ切れを起こしても8並列であればそこそこ行けるのではと期待していたのだが、3GB程度の転送でキャッシュ切れ状態となり、30MB/s程度の転送レートまで落ちてしまった。HDDの方が安定して転送できていたことから、素直に大容量のHDDを購入しておけばよかったと後悔しています。
まあ、細かいファイルの転送にはそれなりに使えているので、それなりの使用になりそうだ。
2025年8月31日追記
その後、色々と触っているとDsikErrorを吐き出すようになったので、何かやはりおかしいと思い少し構成を見直してみました。SATAの拡張にM.2にSATAポートを増設するタイプを使用していたのですが、PCIeに8Port接続できるタイプに変更したところ、DiskErrorを吐き出すことはなくなった。しかしながら、やはりキャッシュ切れを起こすと30MB/S程度に落ちてしまう。

もともとPCIeには10Getherを接続していたのですが、ドライブの安定が優先ですので、上記形でしばらく運用してみようと思います。そのうち、M.2にPCIeを延長して、X520-DA1に接続できるアダプタを購入して再度10GEther構成を構築しなおしてみます。

さらに追記
どうも起動直後は、上記動作になっているのだが、起動して30分後くらい経過した後に、大容量のファイルを転送すると、0kB/sになったり6MB/s程度になったりを繰り返すようになり、実使用に耐えない状況となった。
調べてみた結果、zfs_dirty_data_maxの値が4GBに設定されていることから、4GBを超えたあたりで問題事象が発生しているようだ。
zfs_dirty_data_maxを変更するために以下のパラメータを変更した。
1)zfs_dirt_data_max_max 21474836480
2)zfs_dirty_data_max_percent 25
3)zfs_dirty_data_max 21474836480
18GBのファイルを転送してみたところ、最後まで1GbpsのEtherの帯域を使い切った状態で転送を完了した。

これも結局は問題の先送りでしかないので、根本解決にはなっていないと思われますが、ひとまず良いかなと思っています。


コメント