CentOSでストレージサーバ(RAID5)を組んでみる – その3(不具合解析とその後の処理編)

■ホストPC -> ストレージサーバへの転送速度が遅い(6MB/s)
難関かなと思っていたSambaの設定が無事終了し、ホストPC(win10)からストレージサーバにファイル転送してみたところエクスプローラの表示で平均6MB/s程度しか出ていなかった。
そこでサーバの適当なディレクトリをネットワークドライブとして設定し、CrystalDiskMarkで転送速度を計測してみた。

 

遅い。
接続構成図としては[ホストPC] <-> [外付けwifiアダプタ] <-> [AP] <-> [オンボードwifiアダプタ] <-> [ソフトウェアRAIDコントローラ] <-> [RAIDディスク]といった感じ。
wifi通信規格は全てIEEE 802.11.ac接続。また双方のwifiアダプタはアンテナ有りモデルでAPにビームフォーミングも搭載されており、何より半径3mには全てのデバイスを置いているため感度は良好。
ここからボトルネックを探してみる。

ディスク自身の書き込み速度

■ストレージサーバ内の書き込み速度計測
まずは一番簡単な測定。
今回はパリティ計算が必要で負荷の大きいRAID5をソフトウェアRAIDで組んでいるため、書き込み速度がCPU性能に依存する。
CPU性能が要求スペックを満たしていない場合、RAIDコントローラからのRAIDディスク書き込みがボトルネックになっていることは十分考えられる。
ただ今回製作したサーバは未使用パーツの寄せ集めということもあって、ストレージサーバとしては高性能なIntel i3-4160を使っており考えにくいのだが。。。

Linuxシステムでの書き込み速度計測方法としては、ddコマンド
・linu側書き込み速度計測
http://naoberry.com/tech/dd/

hdparmコマンドとddコマンドでハードディスクの簡易ベンチマークをする

結果、ここは問題無し。

RAIDだからパリティ計算をソフトでやってるので遅いのかも。

$ dd if=/dev/zero of=/tmp/testing bs=1M count=1024
1024+0 レコード入力
1024+0 レコード出力
1073741824 バイト (1.1 GB) コピーされました、 4.52573 秒、 237 MB/秒

 

iPerfの導入

にアクセスし、以下の

firewall設定

# firewall-cmd --list-all
# firewall-cmd --zone=public --add-port=5001/tcp
# firewall-cmd -reload

 

仕方ないためpingで計測。

全部無線

転送速度

pingコマンドによる

C:\Users\xfire>ping -l 60000 -n 30 ***.***.***.***
***.***.***.*** に ping を送信しています 60000 バイトのデータ:
***.***.***.*** からの応答: バイト数 =60000 時間 =113ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =118ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =122ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =117ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =117ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =115ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =120ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =118ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =114ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =116ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =117ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =118ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =108ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =110ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =122ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =124ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =129ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =128ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =119ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =116ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =157ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =117ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =124ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =114ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =184ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =114ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =113ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =107ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =109ms TTL=64

***.***.***.*** の ping 統計:
    パケット数: 送信 = 30、受信 = 29、損失 = 1 (3% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 107ms、最大 = 184ms、平均 = 120ms

サーバだけ有線

転送速度

ping

C:\Users\xfire>ping -l 60000 -n 30 ***.***.***.***
***.***.***.*** に ping を送信しています 60000 バイトのデータ:
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =8ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =9ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =8ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =8ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =8ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =8ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =6ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =8ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =7ms TTL=64

***.***.***.*** の ping 統計:
    パケット数: 送信 = 30、受信 = 30、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 6ms、最大 = 9ms、平均 = 7ms

 

全部有線

転送速度

ping

C:\Users\xfire>ping -l 60000 -n 30 ***.***.***.***
***.***.***.*** に ping を送信しています 60000 バイトのデータ:
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64
***.***.***.*** からの応答: バイト数 =60000 時間 =2ms TTL=64

***.***.***.*** の ping 統計:
    パケット数: 送信 = 30、受信 = 30、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 2ms、最大 = 2ms、平均 = 2ms

 

ちなみにだけど

購入したイーサケーブル。10m

https://www.amazon.co.jp/%E3%82%A8%E3%83%AC%E3%82%B3%E3%83%A0-LAN%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB-%E3%83%96%E3%83%AB%E3%83%BC%E3%83%A1%E3%82%BF%E3%83%AA%E3%83%83%E3%82%AF-LD-TWST-BM100/dp/B00CR9DX0Q/ref=dp_ob_title_ce

モールで配線

以下のサイトを参考にモールを購入。

ホストPCーAPとサーバーAPのクロストークノイズ

以上。