マジでアップロードし放題! 鈴鹿最高です! 徒歩?シャトルバス? 大人も子供も楽しめます! マジで面白い!
プライムフォトに写真3万ファイル380GBを一気にアップロード 控えめに言って最高のイベント 鈴鹿サーキット「モータースポーツファン感謝デー」 岩国基地フレンドシップデー 虎の巻 圧倒的物量!京都鉄道博物館 おっさん向け! おすすめマンガ

2017年04月30日

Raspberry PiにSambaをセットアップ!NASは実用レベルで使えるか?

201704_11_000

Raspberry Piはとにかくガジェット心をくすぐるアイテムなのですが、実際のところ買ってから「何に使えば良いのだろう?」となるのがパターンです。もちろんただ「いじってみたい」というのも立派な動機ですが、どうせなら何かに役立てたいですよね。そんなRaspberry Piの定番の使い道としてNASがあります。今回はLinuxのファイル共有サーバーの定番Sambaのセットアップや外付けHDDのマウントの仕方と、消費電力やパフォーマンス的に実用に足るものなのかをご紹介します。

Raspberry Piの初期セットアップは下の記事を参考にしてください。

この通りやれば出来る!Raspberry Piをセットアップ

外付けHDDは下の記事で紹介しているものを使用しました。

信頼のWD製!USB3.0 外付けHDD「Elements Desktop WDBWLG0040HBK-JESN」レビュー

外付けHDDのフォーマットはexFATで

Raspberry PiでNASを構築する場合は外付けHDDを使うことになりますが、まずRaspberry PiのUSBから供給できる電源には限りがありますので、外付けHDD自体に電源があるものが良いでしょう。もしポータブルHDDなどでUSBから電源供給を受けるタイプの場合はセルフパワーのUSBハブをかませる必要があります。セルフパワーというのはUSBハブ自体に電源を供給するACアダプタが付属しているもので、USBからの電源供給が弱くても電力消費の多いUSB機器を動作させることができるものです。初期のRaspberry PiはUSBからの電源供給が非常に弱くて無線マウスのドングルを挿しただけで電力不足になったりしていたので必須でした。私は下記の製品を使っています。

今回のRaspberry Pi 3 + ACアダプタ付きの外付けHDDの構成では必要ありません。

また、自動停止機能のある外付けHDDが良いです。一応Raspberry PiからHDDをスピンダウン(停止)させるコマンドはありますが、HDDによって動いたり動かなかったりしますのでHDD自体が自立的に自動停止するようになっていれば確実です。


外付けHDDのフォーマットはいくつか選択肢がありますが

1. WindowsでもMacでも直接USBに接続して使用できる
2. 2TB制限などがない
3. もちろんRaspbian(Linux)でアクセスできる

の条件を考慮してexFATにしました。大量のファイルをコピーしたい場合は直接WindowsやMacに繋いで転送しています。

Windowsの場合は普通にエクスプローラーで右クリックメニューの「フォーマット」でexFATを選択できます。一応クイックフォーマットのチェックは外しておきましょう。テラバイトクラスだと数時間かかりますが寝る前に実行する感じで。

201704_11_200


Macの場合もディスクユーティリティから普通にexFATを選択できます。

201704_11_210

Raspberry Piから中を見たときに分かりやすいようにフォルダやファイルを入れておきましょう。

201704_11_220

これで外付けHDDの準備完了です。Raspberry PiのUSBポートに外付けHDDを接続してRaspberry Piの電源を入れましょう。

外付けHDDのマウント

LinuxにはCドライブとかDドライブとかいう概念はなく、HDDを追加したときはディレクトリ構造のどこかに繋げるようなことをします。これを「マウント」といいます。

まずはRaspberry PiでexFATを扱えるようにするためのドライバーをインストールします。ターミナルで次のコマンドを入力してください。

sudo apt-get install exfat-fuse exfat-utils

201704_11_300


次に外付けHDDを一意に識別する為のUUIDを調べます。次のコマンドを入力してください。

sudo blkid

すると、下のスクリーンショットの赤枠のところにUUIDが表示されますので控えておきます。HDDのラベルがElements(フォーマットの時のスクリーンショットを参照)で、exfatであることも表示されています。OS上では「/dev/sda1」という名前で認識されています。これも控えておいてください。

201704_11_310


設定ファイルを変更して起動時に自動的にマウントするように設定します。設定ファイル(/etc/fstab)をエディタで開きます。

sudo nano /etc/fstab

最終行に下を追加してください。

UUID="C2C2-DC1A"    /mnt/hdd/usbhdd    exfat-fuse      async,auto,dev,exec,gid=65534,rw,uid=65534,umask=007    0    0

201704_11_330

UUIDでHDDを指定して/mnt/hdd/usbhddにマウントします。「usbhdd」は任意の名前で良いです。UUIDはもちろん自分で調べたUUIDに書き換えてください。

「ctrl+x」→「y」→「Enter」でセーブしてエディタを終了します。次のコマンドを入力してRaspberry Piを再起動します。

sudo reboot

再起動したら、次のコマンド入力してマウントされているかを確認します。

sudo df

201704_11_340

/mnt/hdd/usbhddにマウントされているのが見て取れます。あらかじめ作っておいた「NAS」フォルダや、その中の「みえてるかい?.txt」が見えていますね。ちなみに「ls」というのはWindowsでいうところのdirコマンドです。

NAS以外にも他のフォルダが見えますが、「$RECYCLE.BIN」「System Volume Information」はWindowsが勝手に作る隠しフォルダです。Macに繋ぐとMacも勝手に隠しフォルダを作ります。鬱陶しい。「Temp」フォルダは他の目的で私が作ったフォルダですので無視してください。

これで無事マウント終了です。外付けHDDがRaspberry Piで使えるようになりました。

Sambaのセットアップ

ここまででRaspberry Piで外付けHDDを使えるようになりました。今度はこの外付けHDDのフォルダ(今回は「NAS」)を公開して他のPC等からアクセスできるようにします。Windowsならばエクスプローラーで右クリックして共有すれば良いのですが、LinuxではSambaという仕組みを設定する必要があります。

まずは次のコマンドを入力してSambaをインストールします。

sudo apt-get install samba

途中なにか聞いてきたら「y」を入力してください。

201704_11_400


次に設定ファイル「/etc/samba/smb.conf」に設定を追加します。以下のコマンドを入力してエディタで開いてください。

sudo nano /etc/samba/smb.conf

末尾に以下を追記します。

[NAS]
  comment = USBHDD
  path = /mnt/hdd/usbhdd/NAS
  read only = no
  guest ok = yes
  force user = pi
  unix extensions = no

201704_11_420

「ctrl+x」→「y」→「Enter」でセーブしてエディタを終了します。

今回は外付けHDDのルートフォルダではなく、予め作っておいた「NAS」フォルダを公開します(ルートフォルダを公開しても構いません)

Raspberry Piを再起動します。次のコマンドを入力してください。

sudo reboot


Raspberry Piが再起動したら他のPCからアクセスしてみましょう。まずはWindowsです。エクスプローラーのアドレスに「\\raspberrypi」と入力してください。

201704_11_430

「raspberrypi」はデフォルトのホスト名です。アクセスできない場合は「raspberrypi」の代わりにIPアドレスでも試してみてください。Enterキーを押すとNASフォルダが見えます。

201704_11_440

 

Macの場合はFinderで「Command + k」を押してサーバーアドレスに「smb://raspberrypi」と入力して「接続」をクリックします。

201704_11_450

ログインユーザーを聞いてきますので「ゲスト」を選択して「接続」をクリックします。

201704_11_460

「NAS」フォルダを選択して「OK」をクリックします。

201704_11_470

「NAS」フォルダがFinderに表示されます。

201704_11_480

これで他のPCからアクセスできるNASが完成しました。

WindowsからNASに大きなファイルをコピーするとネットワークエラー(0x8007003B)になる時の対処

201704_11_500

WindowsからNASに2TBとかの大きなファイルをコピーすると「予期しないエラーのため、ファイルをコピーできません。」「0x8007003B: 予期しないネットワークエラーが発生しました。」のようにエラーになる事があります。これはRaspberry PiやSamba特有の問題ではなく、単にWindowsのファイルアクセスのタイムアウトが45秒であることが原因です。市販のNASなどでも起こりえます。

対策としてはWindowsのレジストリを変更してタイムアウトを変更します。ファイル名を指定して実行に

regedit

201704_11_510

と入力して起動したレジストリエディタの左側のツリーを

HKEY_LOCAL_MACHINE → SYSTEM → CurrentControlSet → Services → LanmanWorkstation → Parameters

と辿っていきます。「Parameters」に新しく「SessTimeout」を追加します。「Parameters」の上で右クリックメニューを表示させて「新規 → DWORD(32ビット)値」を選択して「SessTimeout」と入力してください。もし既に「SessTimeout」が存在する場合はこの操作は不要です。

201704_11_520

追加した(予めあった)「SessTimeout」をダブルクリックして表示されたダイアログに以下のように入力してください。値はタイムアウト秒です。ここでは300秒(5分)にしています。

201704_11_530

OKボタンでダイアログを閉じてレジストリエディタを終了させれば終了です。

パフォーマンスと消費電力

201704_11_600

まずパフォーマンスですが、ファイルコピー時の速度の実測値は大体11MB/秒ちょいくらいです。一般的に表記されるbpsだと90Mbps程度です。少し遅いのですがこれはRaspberry Pi 3の内蔵有線LANが100Base-TXだからです。理論値で100Mbpsですのでほぼ規格上の性能は出し切っています。この時Raspberry PiのCPU使用率は全然余裕があります。ちなみに初期のRaspberry PiではSambaによるファイルアクセスでCPUパワーを使い切ってしまい5MB/秒程度しか速度が出ません。

11MB/秒での使い心地は、ちょっと遅いけど充分に使えるといったところです。ではUSB接続のギガビット対応のLANアダプタを使用すればどうか?といえば今度はRaspberry Pi 3のUSBはUSB2.0ですのでそこがボトルネックになります。実は既に下のLANアダプタによるギガビットLANの転送を試していますが、結論から言えば20MB/秒程度の速度です。

ギガビットLANの理論値から言えばかなり低い値ですが、それでもRaspberry Pi内蔵LANの100Base-TXの倍の速度になりますのでおすすめです。こちらの記事も準備中ですので後日アップします。

201704_11_610

消費電力はファイルコピー中で2.5W程度です。アイドリングが2Wを切るくらいですのでNASとして24時間運用してもRaspberry Piの電気代は1ヶ月で30円少々といったところでしょう。今回使用した外付けHDDは省電力モード時が0W、HDDアクセス中の消費電力が7W程度でしたので毎日5時間使用(Raspberry PiもHDDも24時間電源は入れっぱなしで5時間HDDにアクセスするという意味)するとしてもRaspberry Piと合わせたNASシステム全体での1ヶ月の電気代は60円程度の計算です。素晴らしい省電力性能のNASができました。

Raspberry PiでNASは実用的か?

実は過去に初期のRaspberry PiでNASを作って「だめだこりゃ」と諦めていたのですよね。しかし今回Raspberry Pi 3で試したところ充分に使えるNASができました。速度面で少々物足りないのは確かですが、消費電力が少なく電気代を気にすることなく電源つけっぱなしにできるのは良いです。

ただし注意点はあります。まずOSのLinux(Raspbian)は初心者お断りのOSです。最近はUbuntuなど「初心者でも使えますよ〜」みたいな雰囲気ですが普通に無理です。今回は一応「この通りやればできる」ように記事を書いていますが、なにかトラブった時には全くの素人では対処するのは困難です。またRaspberry Pi 3本体、ケース、電源、ギガビットLANアダプタなどを揃えると1万円弱になります。それならばもう少し足してSynologyなどのNASキットを購入した方が無難でしょう。

ネットを見てみると「Raspberry PiでNASは簡単にできて安くておすすめ!」みたいなノリですが、ただ単に「安くできるから」みたいな人にはとてもおすすめできません。ただ、こういったものはガジェット心に刺さりますし、いじっていて単純に楽しいです。「Raspberry Piでやってみたい!」という人は多少の苦労は折り込んで突撃しましょう!

ではまた!

Raspberry PiやLinuxのギガビットLANアダプタはコレ一択!PLANEX「USB-LAN1000R」レビュー
Raspberry PiをDLNAサーバーにしてテレビで動画を見よう!
posted by ゆるガジェCHANNEL | レビュー
スポンサーリンク
  


格安SIMには必須知識 プライムビデオが凄い勢いで充実中 EXPANSYSの送料や関税 軽い!安い!キャンペーン情報付きkindl Fire TV StickをDLNAクライアントに!
ドコモ周波数帯まとめ プライムビデオやばい! EXPANSYSの税金・送料・保証 「キャンペーン情報付き」Kindleレビュー 新型Fire TV StickでDLNA!