冬休みの自由研究~ラズパイで遊ぶ その3・NAS 構築できたぞ編

NAS で何がしたいのか?

「冬休みの自由研究~ラズパイで遊ぶ」と題して その1・購入編 では Okdo の Raspberry Pi 4B (8GB) スターターキット購入まで、その2・組み立てと OS インストール編 では標準の Raspberry Pi OS インストールを行い、さらに NAS 構築のため openmediavault を入れようとして門前払いを食らった、というところまでの経緯を書きました。

今回はその続きで NAS 構築完了までの経緯を書きますが、その前に私が NAS で何をしたいのかを簡単に書いておきます。

ひとつは PC に保存してある音楽ファイルへのアクセスを容易にしたい、ということ。最近は音楽を聴く際にかなり Spotify に依存しているのですが、私の聴きたい音源は必ずしも Spotify にあるわけではなく、過去に CD からリッピングした音源も非常に重要です。PC は普段起動しておらず、スマホに全曲入れるのは容量的にも無理なので、常時ローカルネットワーク上に存在する音楽ファイルサーバが欲しくなったのです。

また上記にも関係しますが、スマートフォンのストレージがかなり逼迫してきたことも問題でした。最も容量を食っている写真については Google フォト へも同期を行っているのですが、消してしまうのはちょっと心配なのでローカルにも移しておきたいところです。これもわざわざ PC を立ち上げなくても保存も表示もできる環境があれば便利だと思いました。

そして都合の良いことに、以前購入した 4TB の USB HDD がほぼ使われずに眠っていました。これをネットにつなげればやりたいことがかなりできるようになる、それにはラズパイが使えそう、ということで今回の試みとなったわけでした。

openmediavault 導入に際してやったこと (無駄多し)

openmediavault をラズパイに導入するために以下のことをやりました。後からいろいろ「こうすべきだった」「これはいらなかった」ということがわかりましたので、他の方が同じ轍を踏まないよう、それらについても簡単に書いておきます。また参考にすべきではない手順なので、行った設定や生じたエラーの具体的な内容は省略します。

以下 PC での作業は [PC]、ラズパイでの作業はディスプレイをつないで行ったものについては [RP-d]、PC から SSH で入って行ったものについては [RP-ssh] を、それぞれの項目の頭に付けておきます。

  • [PC] Raspberry Pi Imager で SD カードに Raspberry Pi OS Lite をインストール
    • これはもちろん必須です
  • [PC] SD カードの boot パーティションに ssh という名前の空ファイルと WiFi の設定を書いた wpa_supplicant.conf というファイルを作成
    • これにより立ち上げ時に SSH と WiFi が有効になります
    • SSH はともかく WiFi は openmediavault をインストールすると一旦無効になるので、以後の作業は以下のいずれかでやる必要があり、 wpa_supplicant.conf の作成は無駄になります
      • ラズパイを有線でネットにつないで SSH で入る
      • ラズパイに直接ディスプレイとキーボードをつないで作業する
    • 最初はディスプレイをつないで作業する前提なら SSH の設定は CLI からの設定ツール raspi-config で行えます
  • [RP-d] SD カードをラズパイに挿し、ディスプレイとキーボードもつないで電源投入、OS 諸設定
    • すみません、細かいことは記録を取り損ないました (一般的な OS 設定は無駄にはなりません)
  • [RP-d] /etc/dhcpcd.conf に固定 IP の設定を追記
    • openmediavault によって別ファイルに設定が移されるため、この時点では設定せず openmediavault インストール後に CLI ツール omv-firstaid で設定した方が確実です
      • openmediavault はインストール時にネットワークの管理を netplan の設定ファイルに移行しますが、私の環境では上記設定がうまく反映できず、/etc/netplan/20-openmediavault-eth0.yaml の内容がおかしくなってしまいました
    • SSH の際の接続先を確定するためなら、avahi-daemon のおかげでローカルネットワーク内では hostname.local で名前解決されるため、固定 IP 化自体が不要です
  • [RP-ssh] openmediavault をインストール
    • wget -O – https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash を実行
    • 上述の通り /etc/netplan/20-openmediavault-eth0.yaml の内容がおかしくなってエラーとなってしまったので、編集してから再起動しました
  • [PC] ラズパイ再起動後、ブラウザからラズパイの IP アドレスにアクセスして openmediavault の管理画面が表示されることを確認
    • アカウント admin、初期パスワード openmediavault で管理画面にログイン
  • [RP-ssh] ラズパイに USB HDD を接続し、CLI でパーティション作成と EXT4 フォーマットを実行
    • CLI でやってももちろん良いのですが、上述のブラウザで開く管理画面でも実行できるようです
  • [PC] openmediavault 管理画面から上記 USB HDD をマウント、その他ユーザー管理等
    • これは必須です

以上、振り返ればいろいろ遠回りでしたが、ともかく NAS は立ち上がりました。

結局どうすれば?…ドキュメントを読もう!

今さらながら本家のドキュメントを確認してみました。ラズパイへのインストール手順は下記にあります。

openmediavault 公式サイト
→ フッター部の Support の項の Documentation
New User GuideInstalling on Single Board Computers (SBC’s) のセクション
→ Wiki のリンクをクリックすると開く omv-extras.org
Installing OMV5 and OMV6 on a Raspberry PI

めっちゃ遠い…とりあえず最後のリンクを開いてください。丁寧なインストール手順があります。これをまず一通り読んで流れを把握するのが良さそうです。その上で、

  • Working With the Image File のセクションは Raspberry Pi Imager を使うことで簡略化
  • The First Boot ではルーターで IP アドレスを確認するかわりに avahi-daemon に頼って hostname.local (ホスト名未変更なら raspberrypi.local) にアクセスすればつながるかも
    • うまく行かない場合はルーターで確認、もしくはディスプレイとキーボードをつないで直接操作

という作戦が良いかと思います (私の環境は既に NAS として稼働させてしまっているので再度試す元気はありませんが)。ちなみに WiFi の扱いについては同ドキュメントの最後 Final Notes に下記の注意書きと共に説明されています。

First it should be noted that using a wireless interface, with a server, is not the best idea. To prevent a number of issues such as interference, bandwidth contention issues with clients, etc., a server should be connected to the wired LAN ports of a router or a network switch. However it is understood that, in some cases, wired connections may not be an option.

Installing OMV5 and OMV6 on a Raspberry PI – Final Notes

以後の設定は、Getting_Started-OMV5.pdf の p.29 Initail Configuration 以降に従えば OK です。

というわけで、まっとうな手順については「ドキュメントを読もう」という結論で終わりです。えらい手抜きですが、中途半端な情報を書くより良いかと…(と言い訳)。次回は実際に運用を始めてから気づいたことや、NAS にアクセスするクライアント側のことについて書こうと思います。

冬休みの自由研究~ラズパイで遊ぶ その3・NAS 構築できたぞ編” に対して1件のコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です