【ラズパイ】Raspberry piに外付けHDDを接続してNAS構築【NAS】

夫です。

ラズパイと外付けHDDを組み合わせてNASサーバを構築します。また、外付けHDDにある音楽・映像データをPS4から再生できるよう、DLNAサーバーの設定も行います。

f:id:daredemosmart:20181230131317p:plain

必要なもの

Rasbperry Pi3 Model B+

これがないと始まりません。

HDD

Raid用に以下を2つ購入しました。

WesternDigital Red 3.5inch IntelliPower 3.0TB 64MBキャッシュ SATA III WD30EFRX

WesternDigital Red 3.5inch IntelliPower 3.0TB 64MBキャッシュ SATA III WD30EFRX

 

 外付けHDDケース

USB3.0RAID対応で値段も安かった以下を購入しました。Raspberry Pi自体はUSB3.0に対応していないためUSB2.0としてしかアクセスできませんが、他の用途で使用する可能性を考慮して、USB3.0対応の方がいいでしょう(というか、対応していないほうが少ないか)。

 

接続

HDDケースにHDDを挿入し、USBケーブルでRaspberry PIに接続するだけでOKです。

f:id:daredemosmart:20181230131317p:plain

設定

外付けHDDのフォーマット・自動マウント設定

外付けHDDのフォーマットはexFATにしました(WindowsでもMacでもLinuxでもアクセスできるようにするため)。以下コマンドで、exFATフォーマットのためのユーティリティをインストールします。

$ sudo apt-get install exfat-utils

以下コマンドで、外付けHDDをexFATでフォーマットします。

$ sudo mkfs -t exfat /dev/sda

以下がコンソールに出力されればOK

mkexfatfs 1.2.5
Creating... done.
Flushing... done.
File system created successfully.

マウントディレクトリを作成し、マウントします。ディレクトリ名は任意でOKです。バックアップ用途でNASを構築するため、Backupというディレクトリ名にしました。

$ sudo mkdir /media/Backup
$ sudo mount /dev/sda Backup

以下コマンドで、HDDのバルクIDを確認します。

$ sudo blkid

「UUID=」の後のダブルクォーテーションに囲まれた文字列がバルクIDとなります。

/dev/sda: UUID="(バルクID)" TYPE="exfat" PTTYPE="dos"

fstabの一番末尾に、自動マウント設定を追記します。

$ sudo nano /etc/fstab
UUID="(バルクID)" /media/Backup exfat-fuse async,auto,dev,exec,gid=65534,rw,uid=65534 0 0

再起動後、 外付けHDDが指定したディレクトリにマウントされていればOKです。

$ df
ファイルシス   1K-ブロック      使用     使用可 使用% マウント位置
:
/dev/sda        2930266496 435039360 2495227136   15% /media/Backup
:

ファイルサーバー設定

以下コマンドで、Sambaをインストールします。

$ sudo apt-get install -y samba samba-common samba-common-bin

 Sambaの設定を行います。

$ sudo nano /etc/samba/smb.conf

末尾に共有フォルダの設定を追記します。以下はID・パスワードなしで読み書き可能設定で共有する場合の設定例です。

[Backup]
path = /media/Backup
public = yes
read only = no
writable = yes
browsable = yes
guest ok = yes
create mode = 0777
force user = pi

再起動後、Windowsエクスプローラーから、「\\raspberrypi\Backup」のパスにアクセスできれば設定OKです。

f:id:daredemosmart:20181230132233p:plain

DLNAサーバー設定

以下コマンドでminidlnaをインストールします。

$ sudo apt-get instasll minidlna

minidlnaの設定ファイルを編集します。

$ sudo nano /etc/minidlna.conf

 以下の項目を編集します。

media_dir=(公開したいディレクトリ)
port=(任意のポート)
inotify=yes
notify_interval=10

再起動後、PS4メディアプレーヤーを起動し、Raspberypiのminidnalが認識されていればOKです。 

速度測定

構築したものの、読書速度がかなり遅く感じたので定番ソフト「CrystalDiskMark」で速度計測しました。

f:id:daredemosmart:20181230141617p:plain

うーん・・・遅いですね。USB3.0接続&ギガビットLANなら改善されるでしょうが、Raspberry Piはどちらも対応していません。用途はバックアップ用なので、まぁこれぐらいでもOKですが、動画を貯めて再生したりしたい場合はUSB3.0やギガビットLANで接続できるPCじゃないとストレスがあるかもしれません。

[2019/02/02 追記]

USB3.0及びギガビットLANで接続できるLinuix PCで速度計測しました。ランダムアクセスの速度はあまり違いありませんが、シーケンシャルアクセスの速度に3倍近く差があります。やはり、USB2.0もしくはLANアダプタで律速しているようです。Raspberry PiNASとして使うのは、用途によってはイマイチかもしれません。

f:id:daredemosmart:20190202152308p:plain

[2019/03/02 追記]

Windows10でアクセスできない場合の対処法

Sambaで共有したフォルダがWindows10 PCからアクセスできない現象が起こり、しばらく詰まりました(Pingは互いに通る)。ネットの記事で多かった対処法が、「SMB1.0/CIFS File Sharing Support」を有効化する、というものでした。

f:id:daredemosmart:20190302183946p:plain

しかし、これを実施しても解決されず・・・。

結局、レジストリエディタで以下のレジストリを「0→1」に変更すると解決されました。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\AllowInsecureGuestAuth

 上記レジストリは、共有フォルダへのゲストアクセスを許可するかどうかを切り替えるもののようで、Enterprise版や1804以降のCreators updateを実行していると、上記レジストリが0に設定されるようです。

以上