RaspberryPiのファイルサーバ(Samba)をSMB2対応で高速化



RaspberryPiをファイルサーバに

RaspberryPi に、なんと 2TBで8000円だったUSB HDD を付けて、ファイルサーバ(NAS)として活用している。


 
RaspberryPi は消費電力が3.5W程度と、たいそう省電力でお気に入りだ。
加えて、省電力の工夫として、使わない時はHDDの回転を停止している。

RaspberryPiに接続したUSB HDDを、使っていない時は回転を停止(spindown)できないかチャレンジ

Raspberry Piのファイルサーバを高速化

ただ、Raspberry Pi はCPUがARM1176JZF-S 1コア(700 MHz)と非力で、

かつ、NICも100Mbpsとギガビットに対応しておらず、転送速度が遅いという課題がある。

そこで、今回はこの転送速度を改善することを試みる。

私は、接続端末としてMacBookを使っている。
そのため、これまではファイルサーバとして、Samba(SMB) と AFP を併用していたが、
Mac OS X 10.9(Lion)以降からは、
AFP(Apple Filing Protocol)ではなく、Samba(SMB2.0)を優先的に使うことになったとのことなので、
Samba(SMB)から、Samba(SMB2.0)に移行することにした。

ちなみに、SMB2.0 はSMBから下記のアップデートがあり、転送速度が向上している。
(1)TCP/IPパケットのオーバーヘッド削減
(2)バッファサイズの拡大
(3)同時接続クライアントの最大値撤廃
(特に、(1)(2)は高速化が見込まれる)

参考:http://itpro.nikkeibp.co.jp/article/COLUMN/20070712/277389/

では、SMB2.0への対応方法を記す。
ず、SMB2.0に対応したSambaかを確認する。



$ smbd -V

Version 3.6.6

Sambaバージョンが3.6以降は、SMB2.0プロトコルに対応しているので問題ない。

では、次に、SMB2.0を利用するようにSamba設定を変更。



  $sudo vim /etc/samba/smb.conf
 
  [global]
  max protocol = SMB2
 

このように、[global] に max protocol = SMB2 を書き加える。
(ちなみに、security = share になっていると、SMB2が有効にならないので注意)

これだけで、転送速度は1.5倍程度に高速化した。

加えて、sambaのログをSDカードに出力する場合、
SDカードのWrite速度はそれなりに遅いので、ボトルネックになる可能性がある。
そこで、ログ出力レベルを下げることで、高速化が図れる。

  $sudo vim /etc/samba/smb.conf
 

  [global]

  log level = 1 ★←「2」から「1」にする

上記設定を行うだけで、かなり快適になった。
BuffaloのNASを買おうか迷っていたが、環境にも優しいし、静音なので
もうしばらく Raspberry Pi をファイルサーバとして使うことにする。

この記事も読まれています

Raspberry Pi の HiFi DAC まとめ Raspberry Pi は、I2S (Inter-IC Sound)というインタ...
MINIBOSS I2S DAC Raspberry Pi の I2S インターフェースを使うことで、クロックジッタを低減...
Raspberry Pi を広告除去プロクシサーバに 広告が何かとウザいので、Raspberry Pi に広告除去...
hueが欲しいけど高い HomeKit に対応したスマート電球 hue が欲しいんだけど、電球のくせに1つ5,000円くらいのお値段がする...
Siri + IRKit + Homebridgeで家の家電を操作 最近は、Amazon Echo、Google Home、LINE Cl...
Raspberry Piで監視カメラ 超小型・超格安サーバの Raspberry Pi にUSBカメラを付けて、動きを検知する監視カメラを...
SoftEther VPN VPNというと、昔はPPTPがメジャーだったが、セキュリティ脆弱性等の理由から、最近はiPhoneのOS機能か...
Raspberry PiのGPIOに、気圧センサBMP085を接続することで、温度・湿度を取得し、muninによりグラフ表示できたのでメモ
RaspberryPiの電源回路にコンデンサを追加し電源強化することで、USB機器接続時のフリーズ改善
RaspberryPiにヒートシンクを装着してみた。実際にどれだけCPU温度が下がったのかをレポします
RaspberryPiをBluetoothオーディオレシーバ化して、iPhoneやPCからワイヤレス音楽再生を。
はじめに タイムドメイン(TIMEDOMAIN)社の由井さんの講義を聞く機会を得たので行ってきた。 周波数領域でフラットになるように...
ASIOとは ASIOとは「Audio Stream Input Output」の略で「アジオ」と読む。 オーディオドライバの規格の一種...



シェアする

  • このエントリーをはてなブックマークに追加

フォローする