Raspberry Pi でストレスフリーの共有フォルダを作成

ストレスの溜まる NAS

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

ちょっとしたテキストや画像ファイルを別 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 3 Model B がありました。これを使って共有フォルダを作りましょう。巷では Raspberry Pi と SSD を使った NAS の記事が人気ありますが、ファイルサイズからして SSD を使うほどでもありません。 Raspberry Pi OS に Samba をインストールすればいいでしょう。枯れた技術は安定したサービスを提供してくれます。(もちろん Raspberry Pi 4 でも大丈夫ですし、これから NAS 代わりに Raspberry Pi を購入するのであれば、 Raspberry Pi Zero W でもOKでしょう)

(別解)

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

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

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

Raspberry Pi OS インストール

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

今回は、Operating System から「RASPBERRY PI OS LITE (32-BIT) 」を選択しました。よく利用される Raspberry Pi OS は GUI を持つものですが、 Samba しか利用しないので CUI だけで十分です。インストールする SD カードを PC に刺した後に Storage から SD カードを選択します。準備が整ったら、「 WRITE 」ボタンをクリックししばらく待ちます。

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

Raspberry Pi OS 設定

OS のインストールが完了したら、 SD カードを Raspberry Pi に刺して電源を入れます。また PC モニタと LAN ケーブルと USB キーボードも接続しています。

OS が立ち上がったら ユーザとパスワードを入力しますが、初期値はユーザ名「pi」パスワード「raspberry」です。まずは Linux ではお馴染みの以下のコマンドを入力しておきましょう。

$ sudo apt update
$ sudo apt upgrade

次に Raspberry Pi OS の設定を行います。

$ sudo raspi-config

Raspberry Pi のホスト名の初期値は「raspberrypi」と少々長いです。そのためホスト名を「raspi」と短くしましょう。メニューから「2 Network Options」「N1 Hostmname」と選択します。ホスト名には英数字を使うようにと注意事項が表示されますので「 OK 」をクリックします。そして「 raspi 」と入力し「 OK 」をクリックします。

Raspberry Pi を有線 LAN で接続するのであれば以上で大丈夫なのですが、今回 Raspberry Pi に接続するケーブルを電源のみとしたかったので Wifi を使うことにしました。そのため、 メニューから「2 Network Options」「N2 Wi-Fi」と選択し、Wifi の SSID とパスワードを入力すれば Wifi の設定が完了です。

他にもいろいろな設定を行うことができるので、適した設定を行ってください。設定が終わったら OS の再起動を求められることもあるので、指示に従って OS の再起動を行います。正常に Wifi に接続できているようであれば、 LAN ケーブルは抜いても大丈夫です。

また共有するためのフォルダも作成しましょう。

$ sudo mkdir /home/share
$ sudo chmod 777 /home/share

これで準備は完了です。

Samba のインストール

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

$ sudo apt install samba

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

$ sudo vi /etc/samba/smb.conf

開いたファイルの末尾に次の内容を追加します。

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

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

$ sudo systemctl enable smbd
$ sudo systemctl enable nmbd

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

Windows から確認

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

\\raspi\share

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

まとめ

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

Follow me!