Raspberry Pi 4 でストレスフリーの共有フォルダを作成(2024年更新)

ストレスの溜まる NAS

近年、会社や家でファイルを共有するために NAS を利用することが一般的になっています。弊社でも仕事に必要なファイルをバックアップのために RAID1 の NAS を利用しています。また一時的な PC 間のファイルの受け渡しにも NAS を介しています。しかし、私はこの一時的な PC 間のファイルの受け渡しに、非常にストレスを感じていました。

amazon.co.jp

ちょっとしたテキストや画像ファイルを別 PC に持っていきたいのに、眠っている NAS が起きるのを待つ数秒が勿体ないと感じます。小さいサイズであればクラウド経由でもいいのですが、 動画ファイルなどで 1GB 近くになるとアップロード&ダウンロードの時間が長くなってしまいます。

一般的に NAS を構築するとき、なるべく大きな容量の記憶装置として HDD を利用しますが、 通常 HDD は一定時間アクセスがないとスリープ状態になります。一度スリープ状態になった HDD にアクセスしようとすると、元の状態に戻るのに数秒を要します。これまで利用した NAS の中には HDD 4 台構成で、同時にスリープ解除すると瞬間的に電力が大きくなってしまうことを防ぐために HDD 4 台を順番にスリープ解除するものもあり、 この場合 NAS が利用できる状態になるのに約 30 秒かかるものもありました。

NAS の不満を解決する方法

もちろん HDD をスリープ状態にしないこともできるのですが、その分 HDD の寿命にも影響するのでスリープ状態にしないということはしません。また SSD を利用すればスリープ解除の時間なんてないのですが、 HDD の方が容量が大きくて安いので HDD を選んでしまいます。

ではこれを解決するにはどうすればいいかと考えたところ、 NAS と受け渡し用のフォルダを切り分け、スリープ状態にならない共有フォルダを新しく用意すればいいという結論になりました。また一時的な PC 間の受け渡しをするファイルは、主に容量が小さなファイルであり、そのサイズは大きくても 1GB 程度です。

しかし、 PC 間のファイル受け渡しのために新しく NAS + SSD を購入するのは少々高くつきます。そう言えばちょうど眠っている Raspbery Pi 4 がありました。これを使って共有フォルダを作りましょう。巷では Raspberry Pi と SSD を使った NAS の記事が人気ありますが、ファイルサイズからして SSD を使うほどでもありません。 Raspberry Pi OS に Samba をインストールすればいいでしょう。枯れた技術は安定したサービスを提供してくれます。(もちろん Raspberry Pi 5 でも大丈夫ですし、これから NAS 代わりに Raspberry Pi を購入するのであれば、 Raspberry Pi Zero W でもOKでしょう)

amazon.co.jp

(別解)

最近のルーターは NAS を有しているものがあります。通常ルーターに USB 端子がついており、そこに HDD を接続して利用します。まだ使っていないのであれば、そこに USB メモリなどを刺せば、即席の共有フォルダができます。

この方法が最も手っ取り早いのですが、最近新しく買い替えた弊社のルーターには USB 端子がありません。そのため、今回紹介する方法を採用しました。

また NAS 自体に外部 USB を接続することもできますが NAS の OS が HDD に載っているため、その外部 USB にアクセスするにも一度 OS が立ち上がるのを待つ必要があり、今回の要件は満たすことができませんでした。

Raspberry Pi OS インストール

まずは Raspberry Pi OS を SD カードにインストールします。今回、インストールには Raspberry Pi 公式が提供している Raspberry Pi Imager を利用しました。

今回は、「Raspberry Piデバイス」に「Raspberry Pi 4」を、OS に「Raspberry Pi OS (64-bit) 」を選択しました。よく利用される Raspberry Pi OS は GUI を持つものですが、 主に Samba しか利用しないので CUI だけで十分です。インストールする SD カードを PC に刺した後に「ストレージ」から SD カードを選択します。「次へ」をクリックすると「Use OS customization?」と表示されます。ここでは事前に OS の便利な設定が行えます。「設定を編集する」をクリックし、必要な項目を入力します。

「一般」タブでは、ホスト名・ユーザ名とパスワード・Wi-Fi・ロケールなどを設定できます。ホスト名およびユーザ名・パスワードは ssh でログインするときに利用しますので、必ず設定しましょう。また「サービス」タブでは SSH の設定も行えます。入力が終わったら「保存」をクリックします。

「本当に続けますか?」と表示されるので、問題なければ「はい」ボタンをクリックししばらく待ちます。

OS のダウンロードからインストール・OS設定まで一気に行ってくれるので非常に楽ですね。

Raspberry Pi 起動・初期設定

OS のインストールが完了したら、 SD カードを Raspberry Pi 4 に刺して電源を入れます。 Raspberry Pi Imager で OS インストール時の設定が正しくできていれば、電源を入れてしばらく待てば ssh で接続できます。初期起動の場合、3 ~ 5分くらい待ちましょう。

それでは Raspberry Pi に接続します。Windows の PowerShell や Mac のターミナルなどから ssh で接続してみます。下記コマンドは、Raspberry Pi Imager で設定したホスト名が「raspi」、ユーザ名が「user」の場合のものです。ご自身で設定したものに置き換えてください。

$ ssh user@raspi

あとはパスワードを入力すれば、いつものように Raspberry Pi を利用できるでしょう。ではいつもの初期設定を行いましょう。

$ sudo apt update
$ sudo apt upgrade

また共有するためのフォルダも作成しましょう。下記は将来的に DLNA サーバ導入を行うため、階層を深くしています。自分に合ったディレクトリに置き換えてください。

$ sudo mkdir -p /home/data/share
$ sudo chmod -R 777 /home/data

これで準備は完了です。

Samba のインストール

次はフォルダを共有するための Samba をインストールします。

$ sudo apt install -y samba

Samba のインストールが終わったら、次に Samba の設定をします。

$ sudo vi /etc/samba/smb.conf

開いたファイルの末尾に次の内容を追加します。「path」と「force user」は適切に置き換えてください。これだけでも大丈夫ですが、私は [homes] セクションが不要なので、 [homes] セクションの内容を全てコメントアウトしました。

[share]
    path = /home/data/share
    browseable = yes
    writable = yes
    guest ok = yes
    guest only = yes
    create mode = 0777
    directory mode = 0777
    force user = user

設定を反映するために samba を再起動します。

$ sudo service smbd restart
$ sudo service nmbd restart

あとは OS を再起動したときも自動で Samba が起動するように設定します。

$ sudo systemctl enable smbd
$ sudo systemctl enable nmbd

以上で Samba の設定が完了です。

Windows から確認

それでは Raspberry Pi にアクセスしてみましょう。エクスプローラーのアドレスに下記のように入力します。

\\raspi\share

正しく設定できていたので、一瞬で表示されました。早速画像をアップロードしましたが、サイズが小さいのでこれも一瞬です。

Windows のネットワークに表示

上記のように共有フォルダへアクセスすることはできましたが、 Windows のネットワークには共有フォルダが表示されていません。せっかくなので表示できるようにしましょう。

そのためには Web Service Discovery の機能を追加します。Raspberry Pi OS では wsdd が使えるのでこれをインストールします。ついでに再起動してもサービスが動くようにしました。

$ sudo apt install -y wsdd
$ sudo systemctl enable wsdd

では Windows のネットワークを確認してみましょう。

「RASPI」と表示されていますね。

まとめ

今回はストレスのない共有フォルダとして、 Raspberry Pi に Samba をインストールする方法を紹介しました。これでしばらく利用していますが、今のところ全くストレスを感じることなく非常に快適です。今の NAS に不満を感じている方は、ぜひ利用してみてください。