はじめに
本記事はプロもくチャット Adevent Calendar2023の1日目です
自作NASを作ろう
PCを仕事道具とする人なら当然ご存知のように、データのバックアップを定期的に作成することは重要です。最近はクラウドサービスを使うことが当たり前になっていますが、それでも消えたら困るローカルのデータなんていくらでもあるでしょう
ある日突然、そんな大切なデータが吹っ飛んだ日にはコ◯グになるしかありません
(:3_ヽ) _「もう疲れちゃって全然動けなくてェ...」
ということで、重い腰を上げて自宅にあった材料を使って簡易NASを構築してみました。自らの備忘録も兼ねて、セットアップ手順について説明したいと思います
本記事の対象読者
- メインPCとしてMacを使用している
- ラズパイ買ったはいいものの、使い道が思いつかない
- 出来るだけ安価&省スペースでNASの環境を構築したい
材料
NASを錬成するための材料です
- Raspberry Pi 3 ModelB
- 外付けHDD
- microSDカード(16GB)
ラズパイ3Bは私の自宅にあったものなので、今なら4ですかね。HDDも使わないで引き出しに眠ってたやつなので、お値段は驚愕の円です
「え!! 同じ値段でネットワークストレージを!?」
外付けHDDはラズパイが認識可能なデバイスならなんでもOKなので、予算や必要な容量に応じて自由に選定しましょう。microSDカードも8GBで全然動くと思われます。自作の強みはこの自由度の高さですね
以下は構築にあたって必要なデバイス類です
- Ethernetケーブル
- microSDカードリーダー
- ラズパイ用電源ケーブル(5V/3A)
- 有線キーボード
- HDMIケーブル・モニター
完成形
今回のゴールです
目的がMacBookのTimeMachineによるバックアップなので、あまり速度は気にしていません。ネフェルピトーの円みたいにNASの電波がMacに触れていれば良いのです
ラズパイにOSをインストールする
ではラズパイをセットアップしていきましょう
SDカードリーダーをMacにぶっ刺して、ラズパイのOSイメージを書き込んで行きます
Raspberry Pi Imager
OSイメージのライターツールです。GUIでほとんどの設定が終わるので重宝します。Win/Mac両方対応しているので、とりあえずインストールしましょう
後述のNASソフトの関係で、OSはRaspberry Pi OSのLite版(CUI)を選びます
Desktop版(GUI)だとインストール出来ないので注意しましょう。私はこれで1時間半くらい無駄にしました
OSのカスタマイズについて聞かれたら"設定を編集する"を選びます
ユーザー設定とネットワーク設定を入力して"保存"をクリックします
私はこんな感じで設定しました
しばらくすると書き込みが終了するので、早速SDカードをラズパイに差し込んで電源を入れてみましょう
ラズパイとSSHで接続する
ネットワーク設定に問題が無ければ、電源を入れた後で無線LANによりラズパイとのSSH接続が可能になるはずです
$ ssh pi@pi.local
pi@pi.local's password:
Linux pi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Nov 28 22:40:17 2023 from 240b:10:8701:200:f88c:ba32:5bf9:f5fe
pi@pi:~ $
IPアドレスは動的に割り振られるのでホスト名でアクセスしています。もしホスト名で上手く繋がらない場合はarp
コマンドなどでそれらしいアドレスを探してみても良いでしょう
$ apr -a
# LAN内のIPアドレスが一覧表示される
詰まった場合は、HDMIケーブルでラズパイとモニターを接続して直接コマンドを叩きましょう
ソフトウェアのアップデート
OSを入れた直後なので、パッケージをアップデートします
$ sudo apt update
$ sudo apt upgrade
それなりに時間がかかるので、気長に待ちましょう
OpenMediaVaultのインストール
OSSのNASソフトをインストールします。インストール後はブラウザ経由で各種設定が可能となるのでコマンドと戯れる時間もあと少しです
概要は誰が書いても変わらないのでAIに外注しました
ChatGPT様はなんでも知っている
OpenMediaVaultは、主にホームサーバーまたは小規模なオフィスサーバー向けのフリーでオープンソースのネットワークアタッチドストレージ(NAS)ソリューションです。これは、ストレージデバイスの管理、ファイル共有、データバックアップなどの機能を提供し、Linuxオペレーティングシステム上で動作します
インストールスクリプトについてはこちらの記述を参考にします
$ sudo wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash
それなりに時間がかかるので、気長に(2回目)
The installation will take some time, so enjoy the text flying on the screen.
(意訳)インストールは長えから画面を飛び交う文字でも楽しんでくれ
公式もこう言ってるのでね。ちなみに私の環境だと60分ほどかかりました。インストールが完了すると自動的にラズパイがリブートします
OpenMediaVaultを設定する
正しくインストールが完了していれば、再起動後にWebサーバーが立ち上がります
注意
OMVインストール後に無線LANの設定が消える場合があります。その場合は、Ethernetケーブルを使って有線で接続し、後述の管理画面から無線LANを有効化しましょう
ブラウザ経由でラズパイと接続すると、トップ画面が表示されます
http://pi.local/
# ホスト名でアクセス出来ない場合はIPアドレスでアクセスしてください
OMVのインストール時に管理者ユーザーも作成されるので、ログイン情報は下記を入力してください
- ユーザー名: admin
- パスワード: openmediavault
ログインに成功するとダッシュボード画面が表示されます。
見やすいですね
パスワードの変更
さすがにデフォルトのパスワードのままでは不安なので、右上のユーザーアイコンからChange Password
を選択して、管理者ログイン用のパスワードを変更しておきましょう
SSH接続の有効化
もしSSHで接続出来なくなった場合は、Users > Users
から変更したいユーザーのGroupsにssh
を追加しましょう
無線LANの有効化
無線LANの有効化とIPアドレスの固定化をしておきます
Network > Interfaces
から+ボタンを押してWi-Fiを選び、Deviceとしてwlan0
を追加します
IPアドレスをStatic
にして、固定化します。設定が終わったら右下のSaveボタンで保存します
とりあえずここまで設定出来たら、無線LAN経由でSSH/ブラウザの両方からアクセス出来ることを確認しておきましょう。続いてHDDをマウントしていきます
NASにストレージをマウントする
ラズパイのUSBポートにHDDを接続して、NAS用のストレージとして設定していきます
初期化
Storage > Disks
から対象のHDDを選択し、Wipe
ボタンをクリックして初期化します
初期化方法はQuickとSecureがあるのですが、どちらでも構いません。私はQuickを選択しました。
ファイルシステムの作成からマウント
続いてStorage > File Systems
から+を押してファイルシステムを作成します
今回はNASが動作するOSがラズパイ(Debian)なので、ファイルシステムとしてEXT4
を選択します
しばらく待つとファイルシステムの作成が完了します。そのままマウント設定に移動するので、作成したファイルシステムを選んで保存します
設定によってはapplyアイコンをクリックするまで反映されないものもあるので注意。ちょっと不安になるくらいローディング画面が続く場合もありますが、☕でも淹れて心を落ち着かせましょう
共有フォルダの作成
Storage > Shared Folders
から+を押して共有フォルダを作成します
フォルダ名、ファイルシステムを設定して保存します。私はnas_shared
というフォルダ名を入力しました
NASユーザーの設定
共有フォルダにアクセスするためのユーザーを作成します
Users > Users
から+を押してCreate
を選択します
任意のユーザー名とパスワードを設定しましょう。ここで設定したログイン情報はNASに接続する際に求められるので、忘れにくいものがオススメです
続いて、共有フォルダへのアクセス権を付与していきます
Storage > Shared Folders
を開いて共有フォルダを選択し、鍵マークの付いたフォルダアイコンを選択します
作成したユーザーにRead/Write
パーミッションを与えて保存しましょう
SMB(Time Machine)設定
長かった設定もいよいよ大詰めです。最後はSMBを設定していきます
Services > SMB/CIFS > Shares
から+ボタンを選択します
共有フォルダとして作成したフォルダ名を選択して、Time Machine support
にチェックを入れて保存します
さらに、Services > SMB/CIFS > Settings
からEnabled
にチェックを入れてSMBを有効化しましょう
接続テスト
設定が上手く行けば、MacのTime Machineでバックアップディスクとして共有フォルダ名が表示されるはずです。設定したユーザー名とパスワードを入力してアクセス出来るか確認してみましょう
後はバックアップ頻度を自動で1日ごと
とかに設定すれば、Macを普段使いしていれば勝手にNAS上にバックアップを作成してくれます。お疲れ様でした
補足
SMBなので、当然Finderから共有フォルダとして扱うことも可能...
普通にHDDをTimeMachine用としてフォーマットしてもこのような使い方は出来ないので、とても助かります
まとめ
ということで、自作NASでローカルデータの損失というアクシデントに対する保険を構築してみました。これだと不安という方はOMVでRAIDの設定も可能なので、どんどんストレージ周りを厚くしてやればよいかと思います。
データのロストは発生確率は低いけど、負うダメージは精神的にも物理的にも時間的にも非常に痛いものです。人生全般に言えることですが、こういったリスクが見えてるならば出来る範囲で保険をかけましょう
何かの参考になれば幸いです。ご覧いただきありがとうございました🦍
(2024/4/9加筆) パスワードのリセット
久しぶりに設定をいじろうとしたらウッカリパスワードを忘れて
アカウントに制限がかかってしまいました。
そんな場合は、こちらのコマンドから
- 管理者パスワードの再設定
- アカウントのログイン制限のリセット
を実施することが可能です🙏
$ sudo omv-firstaid
参考