ラズパイは消費電力の低さが特長の1つです。つまり、常時電源を入れておくようなシステムに活用しやすいわけです。
というわけで今回は、Raspberry Piを使ってNASとDLNAを構築してみました。構築手順を解説しているので、自分も作ってみたい方は参考にしてみてください。
NASとDLNAの構築方法
準備するもの
NASとDLNAを構築するために、下記のものを準備する必要があります
- Raspberry Pi
ネットワーク接続できるものであればどれでも良いが、拡張性などを考えると『Raspberry Pi 4』がオススメ - ストレージ(HDDやSSD)
SSDの方が高速だが、ネットワークがボトルネックになるのでHDDでも十分。そのため、余っているHDDを使ったりしても良い
構築手順の概要
構築手順は大きく2つのパートに分かれます。
ラズパイが使える状態になっている前提で手順を解説するので、もしラズパイの初期設定が済んでいない方は、先に下記記事を参考にしてラズパイの初期設定をしてください。
SambaでストレージをNAS化
まずはラズパイにストレージを接続してNAS化する手順を解説します。
手順1:ストレージを接続
ここではラズパイのUSB端子にストレージを接続して、ラズパイに認識させます。
とりあえずUSB端子に差し込みます。
差し込んで少し待った後(30秒ほど)、下記コマンドを実行します。このコマンドによってストレージがどのように認識されたか確認します。
dmesg
私の環境では"sda"として認識されました。
パーティションが切られているストレージであれば"/dev/sda0"や"/dev/sda1"のように認識されますし、切っていなければ"/dev/sda"として認識されます。また、複数ストレージ接続していると"/dev/sdb"といった感じに認識されます。以降のコマンド等は自身の環境に合わせてください。
さて、認識されたストレージですが、このままでは使用できないのでマウントします。下記コマンドを実行してマウントしましょう。(マウント先を"/mnt/hdd"としていますが、自由に変えても良いですよ)
sudo mkdir /mnt/hdd
sudo mount /dev/sda /mnt/hdd
これでNASに使用するストレージの準備ができました。
マウントしたらデータ共有用のディレクトリを作成して、権限を変更しておきましょう。
sudo mkdir /mnt/hdd/data
sudo chmod 777 /mnt/hdd/data
また、再起動しても自動マウントできるようにしておいた方が良いので、自動マウントの設定も行います。
まずはデバイスのUUIDを調べるために下記コマンドを実行します。
blkid
すると、今接続されているブロックデバイス一覧が出力されます。こんな感じ
pi@mediacenter:~ $ blkid
/dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="8D64-2011" TYPE="vfat" PARTUUID="9bc9737b-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="3857a514-b0f4-49ce-8430-34762068bb6f" TYPE="ext4" PARTUUID="9bc9737b-02"
/dev/sda: UUID="cb6fb5f8-c22f-4f9a-a54d-abf5aef87cc6" TYPE="ext4"
UUIDがわかったので"/etc/fstab"というファイルを開いて、下記のように追記します。
UUID=cb6fb5f8-c22f-4f9a-a54d-abf5aef87cc6 /mnt/hdd/ ext4 defaults,nofail 0 0
これでラズパイを再起動したりしても、ストレージが自動でマウントされるようになります。
手順2:Sambaのインストールと設定
次はSambaのインストールと設定を行っていきます。
まず、ラズパイのターミナルで下記コマンドを実行してSambaをインストールします。
sudo apt install samba
インストールが完了したら次は設定を行います。設定は"/etc/samba/smb.conf"というファイルを編集することで行います。
まずはアクセスできるIPをローカル内に限定するために、下記を"/etc/samba/smb.conf"に追記します。(私の環境では192.168.1のサブネットを構築しているので、192.168.1内のホストだけ許可するようにしました)
hosts allow = 192.168.1.
次に共有するディレクトリの情報を追記します。
[Public]
comment = Public
path = /mnt/hdd/data
public = yes
writable = yes
create mask = 0777
directory mask = 0777
以上でSambaの設定は完了です。とりあえず下記コマンドを実行してSambaを再起動しましょう。
service smbd restart
この時点でWindowsやMacといった、他のPCからアクセスできるはずです。
今回はホスト名を"mediacenter"に変更したラズパイを使っているので、Windowsのエクスプローラーで"\\mediacenter"と入力するとアクセスが確認できました。
最後にラズパイを再起動したときにもSambaが自動起動するようにするため、下記コマンドを実行して自動起動をONにしておきましょう。
systemctl enable smbd
miniDLNAでDLNAサーバー化
次はDLNAサーバーを構築します。こちらはとても簡単にできます。ソフトをインストールして少しの設定を行うだけです。
手順1:miniDLNAをインストール
まずはラズパイ上のターミナルで下記コマンドを実行して、miniDLNAをインストールします。
sudo apt install minidlna
手順2:miniDLNAの設定
あとはちょこっとした設定をするだけですが、とりあえず格納物を分類するためにディレクトリを作っておきましょう。(必須ではないですが分類しておいた方が見やすいので)
sudo mkdir /mnt/hdd/data/movies
sudo mkdir /mnt/hdd/data/musics
sudo mkdir /mnt/hdd/data/photos
ディレクトリができたら、DLNAの設定をするために"/etc/minidlna.conf"というファイルを編集します。"/etc/minidlna.conf"を開いたら、下記を追記しましょう。
medir_dir = /mnt/hdd/data
最後にminiDLNAを再起動して完了です。
service minidlna restart
これでテレビなどのDLNAクライアントからアクセスできるようになり、あらゆるメディアを再生できるようになりますよ!
まとめ
Raspberry PiでNASとDLNAを構築する方法をまとめましたが、ラズパイの導入手順が終わっていれば、コマンドをちょいちょいっと叩くだけで構築できます。
Raspberry Piが余っている時なんかは、NAS・DLNA環境を構築しておいてホームサーバとしても良いかも知れませんね
コメント