ファイルサーバ化計画 ~HDDの速度が遅い~ 3/4
今日もいい天気。
最近は暑さを感じるくらいの天気だ。
さて、Sambaの設定はうまくいった。
次は・・・
どのくらいの読み書きの速度が出るのだろう?ということ。
ネットで検索してみると、最近のNASは、シーケンシャルであれば、100MBps(800Mbps)ほど出るとのこと。
ネットの帯域1Gbpsに近い数値だね。
僕の使っているVortexboxのPCは、数年前のもの(XP時代のノートPC)なので、そこまでの性能は求めないにしても、そこそこのスピードが出てくれると嬉しい。
その速度を計測するために、CrystalDiskMark 5.0.2を使わせてもらった。
100MBのデータの読み書き。
うん?なんで?
読み込みはそこそこ出ているのに、書き込みが遅い!
でも、Random R/W 4KBの値は直付USB接続のHDDよりはるかにいい結果。
Sequential Read (Q= 32,T= 1) : 94.442 MB/s
Sequential Write (Q= 32,T= 1) : 30.641 MB/s
Random Read 4KiB (Q= 32,T= 1) : 24.090 MB/s [5881.3 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 14.267 MB/s [3483.2 IOPS]
Sequential Read (T= 1) : 70.039 MB/s
Sequential Write (T= 1) : 25.581 MB/s
Random Read 4KiB (Q= 1,T= 1) :7.251 MB/s [1770.3 IOPS]
Random Write 4KiB (Q= 1,T= 1) :6.136 MB/s [1498.0 IOPS]
このPCは古いこともあって、USB2のポートがない。
でも、Express Cardのスロットがあり、随分前にUSB3のカードを購入。
そこに、USB3のHDDを接続。
もしかしたら、こういうのが影響している?
シーケンシャルの書き込みが遅いというのが納得いかない。
あれやこれやとやってみた。
Sambaのキャッシュやバッファーの設定も変えてみた。
あまり変化なし。
うーん、なんで?と思いながらも、ふと思って、USBメモリを接続。
すると、そこそこのスピードが出た。
どういうこと?
気付いた。
フォーマットが違う!
調べてみると、Linuxに接続する時、NTFSだとどうもオプション的な扱いで、きちんとした性能が出ないらしい。
そこで、ntfs-3gというドライバー(?)をダウンロードして、それを経由して接続。
すると。
Sequential Read (Q= 32,T= 1) : 90.875 MB/s
Sequential Write (Q= 32,T= 1) : 62.620 MB/s
Random Read 4KiB (Q= 32,T= 1) : 23.198 MB/s [5663.6 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 25.197 MB/s [6151.6 IOPS]
Sequential Read (T= 1) : 70.036 MB/s
Sequential Write (T= 1) : 31.664 MB/s
Random Read 4KiB (Q= 1,T= 1) :7.501 MB/s [1831.3 IOPS]
Random Write 4KiB (Q= 1,T= 1) :7.936 MB/s [1937.5 IOPS]
シーケンシャルの書き込み速度がほぼ倍になった!
そういうことか。
じゃぁ、と思って、フォーマットを変えて検証。
【exFAT】(exFATのドライバーをダウンロードして接続)
Sequential Read (Q= 32,T= 1) : 94.247 MB/s
Sequential Write (Q= 32,T= 1) : 67.938 MB/s
Random Read 4KiB (Q= 32,T= 1) : 23.629 MB/s [5768.8 IOPS]
Random Write 4KiB (Q= 32,T= 1) :4.295 MB/s [1048.6 IOPS]
Sequential Read (T= 1) : 69.625 MB/s
Sequential Write (T= 1) : 53.048 MB/s
Random Read 4KiB (Q= 1,T= 1) :7.526 MB/s [1837.4 IOPS]
Random Write 4KiB (Q= 1,T= 1) :2.429 MB/s [593.0 IOPS]
【ext4】
Sequential Read (Q= 32,T= 1) : 93.559 MB/s
Sequential Write (Q= 32,T= 1) : 73.706 MB/s
Random Read 4KiB (Q= 32,T= 1) : 23.382 MB/s [5708.5 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 25.021 MB/s [6108.6 IOPS]
Sequential Read (T= 1) : 69.413 MB/s
Sequential Write (T= 1) : 58.511 MB/s
Random Read 4KiB (Q= 1,T= 1) :6.991 MB/s [1706.8 IOPS]
Random Write 4KiB (Q= 1,T= 1) :8.070 MB/s [1970.2 IOPS]
なるほど。
やはりLinux標準のext4が無難なようだ。
よくわからないのが、exFAT。
Random Writeの4KBが極端に遅い。なんで?
互換性を考えると、exFATかと思っていたけれど、これが極端に遅いのでよくない。
色々と情報を読んでいると、NTFSであれ、exFATであれ、これはLinuxにとっては、オプション扱い。
信頼性のことを考えると、よろしくないようだ。
よって、Linuxでファイルサーバを立ち上げる時のHDDのフォーマットは、ext4やext3にしておくのが無難、ということだろう。
(当然、NASではそれでフォーマットされている。)
じゃぁ、Windows PCにUSB接続したい場合、それを読み書き出来るの?
世の中すごいね。
「Ext2Fsd」というソフトを使えば出来るとのこと。今は、ext4もOK。
実際にそれで読み書き出来た。
(ちなみに、ext4にフォーマットしたHDDをWindowsにUSB3で接続してベンチマークを取ってみたけれど、NTFSのものとほとんど変わらない結果だった。優秀だね。)
今回、こういう検証をしていて、いくつか疑問が出てきた。
・上記の情報は、SSDでのもの。これをHDDにしても、ほとんど同じ結果。性能差で言えば、SSDの方がいいのに、違いがあまりないのはどうして?
・どうして、このPCだと、書き込み速度が遅いの?
この2点が疑問点として出てきた。
1つ目の方は、正直、明確な答えはわからない。
HDDで計測しても、Random R/Wの性能がかなりあるので、Sambaが一つのバッファー的な役割を担っているのではないかと。
Windowsで言えば、メモリを使用した、Ramdiskのようなものと言っていいかな?
だから、接続されているのがSSDであれ、HDDであれ、ほとんど性能差が出てこない。
これは僕の憶測なので、正しいかどうかわからない。
実際、ネット上にある情報では、Samba経由での接続なのに、HDDであれば、直付したのと同じような速度になっているものが結構ある。つまり、Random R/Wは遅い。
僕のこの結果であれば、HDDの欠点である、Random R/WをSambaが吸収してくれているので、これはこれでいいと思う。
2つ目の方は、他のPCを使って検証。
同じ環境は出来ないので、UbuntuのLive CDを使ってみた。
UbuntuのLive CDであっても、新規にソフトウェアのインストールって出来るのね。
どこに格納されているのかはわからないけれど。(苦笑)
Sambaは標準では入っていなかったので、インストール。
慣れたもので、ものの数分でWindowsから接続できるようになった!
これは、今回の勉強の賜物だ。(笑)
まず、一つ目。
これはDesktop PCで、USB2のポートに、USB3のHDD(NTFS)を接続。
Sequential Read (Q= 32,T= 1) : 91.668 MB/s
Sequential Write (Q= 32,T= 1) :109.145 MB/s
Random Read 4KiB (Q= 32,T= 1) : 28.961 MB/s [7070.6 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 17.311 MB/s [4226.3 IOPS]
Sequential Read (T= 1) : 92.912 MB/s
Sequential Write (T= 1) : 53.055 MB/s
Random Read 4KiB (Q= 1,T= 1) :5.984 MB/s [1460.9 IOPS]
Random Write 4KiB (Q= 1,T= 1) :6.482 MB/s [1582.5 IOPS]
こっちは、ノートPCで、USB3のポートに、USB3のHDD(NTFS)を接続。
Sequential Read (Q= 32,T= 1) : 88.224 MB/s
Sequential Write (Q= 32,T= 1) :117.740 MB/s
Random Read 4KiB (Q= 32,T= 1) : 23.585 MB/s [5758.1 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 26.354 MB/s [6434.1 IOPS]
Sequential Read (T= 1) : 77.170 MB/s
Sequential Write (T= 1) : 58.891 MB/s
Random Read 4KiB (Q= 1,T= 1) :5.808 MB/s [1418.0 IOPS]
Random Write 4KiB (Q= 1,T= 1) :1.513 MB/s [369.4 IOPS]
どれも、ntfs-3gでマウント。
面白い結果だ。
シーケンシャルの書き込みがどちらも速い!
どちらも、Random Write 4KBに違いがあるのが面白い。この違いはなんだろう?
ちなみに、Vortexboxの入ったノートPCに、Express CardのUSB3に、USB3のHDD(NTFS)を接続。
Sequential Read (Q= 32,T= 1) : 68.621 MB/s
Sequential Write (Q= 32,T= 1) : 31.509 MB/s
Random Read 4KiB (Q= 32,T= 1) : 22.733 MB/s [5550.0 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 13.246 MB/s [3233.9 IOPS]
Sequential Read (T= 1) : 52.421 MB/s
Sequential Write (T= 1) : 23.064 MB/s
Random Read 4KiB (Q= 1,T= 1) :5.488 MB/s [1339.8 IOPS]
Random Write 4KiB (Q= 1,T= 1) :4.972 MB/s [1213.9 IOPS]
やはりシーケンシャルの書き込みが遅い。
この件についての僕なりの結論としては、ハードウェア構成によって、速度の違いが出てくる、というもの。
あと、詳しくは書かないけれど、USB3のポートに接続しても、USB2のポートに接続しても、性能差はそんなにないようだ。これも面白い。
もちろん、USB2のポートの方が数値の低いものもあるけれど、その程度か、と思えるもの。
上記結果の簡単なハードウェア構成。
Desktop PCは、Core2Duo E6420 2.13GHz、メモリ4GB。
ノートPCは、i5 3317U 1.70GHz、メモリ6G。
VortexboxのPCは、T5500 1.66GHz、メモリ2GB。
もちろん、マザーボードの違いやら何やらあるだろうけれど、そこは割愛。
ちなみに、普通にファイルコピーをした場合、例えば、300MBくらいのファイルをWindowsからSamba経由でコピーした場合、どういうファイル・フォーマットであっても、どういうハードウェア構成であっても、それぞれのシーケンシャル・ライトの性能に近い値が出ていた。
とまぁ、今回、Sambaに関して色々と調べてみて思った。
そこそこの性能のあるPCがあるなら、それをファイルサーバにしてもいいだろうけれど、それなりの性能がほしいなら、餅は餅屋に、ということだと思う。
となると、やはりNASに心は傾く。
でも、ふとあることが疑問に。
NASの起動時間ってどのくらいなのだろう?
ネットで調べても、きちんとした答えは得られなかったけれど、数分掛かるらしい。
NASは、日々電源のオンオフをしない常時起動が前提なので、普通の人であれば、起動時間は気にしないのだろう。
でも、常時起動にするつもりがないので、毎回数分待つというのもなぁ、と思う。
Vortexboxは、起動が結構速い。
(ちなみに、Vortexbox2.3は、Fedora20がベースになっている。)
GUIはなく、CUIだけなので、40秒もあれば起動する。もちろん、シャットダウンも速い。
CDプレーヤーの起動時間を考えると、とても遅いけれど、NASとして考えると、かなり速い。
どちら、つまり、性能を取るか起動時間を取るか、だね。(笑)
とにもかくにも、今回の検証での結論。
・Linuxをファイルサーバにする時のHDDのフォーマットは、ext4かext3にするべし
Linuxで動かすのだから、その方が安全だし、信頼性を考えるとその方が良い。
これは僕の環境だけかもしれないけれど、VortexboxのPC(T5500 1.66GHz、メモリ2GB)の場合、Sambaの設定、キャッシュサイズやバッファーサイズ、を変えても、悪くなることはあっても、それほど数値が良くなることはなかった。誤差と言っていいくらい。
よって、smb.confの中で、あえてキャッシュサイズやバッファーサイズを入れず、デフォルトのままでもいいのかもしれない。
続く。
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- もっと早くやっておけばよかった(2025.04.20)
- ブックマークの並びが(2025.02.28)
- 一安心(2025.02.12)
- 準備が整ってしまった(2025.02.11)
- 隙あらば(2025.02.10)
コメント