最近NASがすこぶる遅いし容量差し迫ってきたし買い替えたいな、って思うんですよね。
今のNASについて
ReadyNas 104っての使ってます。
弾は3TB×4あって、自動でRAID5が組まれてほぼ9TBぐらい認識します。
が、これがまた遅い。
シーケンシャルR/Wで30MB/s~40MB/sぐらいしか出ない。
買った当初はもっと速度出たハズなんですけど。
と思って、ようやくReadyNasのSSH接続を開放して(※標準機能だけど使うとサポート外になる)性能調査をしてみました。
そうすると、それぞれのドライブに直にI/Oを出すと140MB/sぐらいでリードできる。
あ、測定はddコマンドでブロックサイズ1MBで読んで/dev/nullに捨ててます。
具体的にはこう。
dd if=/dev/sda of=/dev/null count=1024 bs=1048576
topだのvmstatだのを見ていると、どうもReadyNasが採用してるBtrfsが重たいらしく、I/Oが詰まるというよりはカーネル層のCPUで詰まる。
これはvmstatで言うと、cpuの”sy”だの”wa”だのの値の伸びから分かります。
syはカーネルランドのCPU使用率、waはIOwait率…のはず。ほんとうにディスクのI/O待ちならwaの値が上がるハズなのに、syの値が多いんですね。
つまりReadyNas 104はディスクの性能を使い切るまえにCPUネックで速度が落ちる。
ネットワーク構成について
で、どうやって改善しようかって話なんですけど、ウチのネットワーク構成って主に4種類あって。
- 母艦PC(いちばんメインで使ってるヤツ)
- 録画鯖(アニメ録画+エンコードに使うヤツ)
- NAS
- その他スマホ等モバイル機器
今回のNASは、録画鯖からデータがぶちこまれたり、長期保存目的の写真だの何だのが入っているんですわ。
そもそもNAS要るの?
今回NASが遅い原因ってNASのCPUなんだけど、これ改善しようとしたらCPUがつよいNASを買うことになるんよね。Btrfs自体が改善してるからバージョン上げれば改善するってウワサもあるけど…。
でもよく考えたら自分が家にいるときは母艦PCが起動してるし、NASを何に使ってるかっていうと…何に使ってるんだ?
母艦PCを落としててNASからデータを取りたいタイミングって、たとえば外出中とかだけど、それって最早クラウドストレージで良くない?
いやホント、今どき、NASが必要な部分ってクラウドストレージで良いやん?クラウドストレージの無料容量で事足りない?
長期保存が必要なデータは別にネットワーク繋がってなくてもいいやん?
適当にハードディスクケース買ってRAID1組んだら十分じゃない?
って思ってきた。みんなNAS使ってる?