Amazonのアソシエイトとして、ラズパイダ(raspida.com)は適格販売により収入を得ています。詳しくは当サイトの プライバシーポリシーをご覧ください。

Raspberry Pi は設定や機器を追加して色んな機能を持たせられます。家庭内ネットワークに接続するハードディスクのNASサーバーもラズパイで構築することができます。

Raspberry Pi を買って触ってみたけれど、さて次はどうしようか? 勉強するためだけでは飽きちゃうなー、という人に、実用的に使える仕組みにトライして欲しいと思っています。

ネットワークというと、どうしても専門的で難しく感じてしまいますよね。それは仕方がないことです。私も非エンジニアの文系出身なので同じです。

この記事ではOMV(Openmediavault)をRaspberry PiにインストールすることでNASを実現しています。コードやコマンドなどをあまり分からない状態でも設定するだけで済みますからオススメです。

失敗してもmicroSDカードを交換するだけで済みますから、先ずは真似することから始めましょう。

Rレッド Rレッド
Raspberry Pi 4からは実用的ですよ。2019年から自宅で普通に使っています。
Rブラック Rブラック
OMV6、OMV7とバージョンアップしているけど基本は同じ
Rグリーン Rグリーン
なるべく新しいバージョンにしたいよね

NASとは

今回はRaspberry Pi をNASにします。ネットワークハードディスクですね。

NAS——NAS(Network Attached Storage)の略で、ネットワーク(LAN)上に接続することができるハードディスクのことです。

Raspberry Pi で構築したNASを家庭内LANに設置します。

NASがあるとこんなメリットが!

家族で撮影した写真や動画などをRaspberry Piに繋いだHDDなどへ保存しておくとします。それをテレビに映して複数人で視聴したり、自分のスマホに表示したり、手元にないデータを閲覧できます。

NASに保存したデータを(家庭内の)どのデバイスからも閲覧できる共有元として使います。

逆にバックアップ場所として利用して、データをNASに書き込んで、手元のデバイスやPCから削除させてストレージの空きを作るのも良いでしょう。

例えばこんな使い方

NASにメディアファイルがあれば、Raspberry Pi のmicroSDカード内にメディアファイルをコピーする必要はありません。

テレビに繋いだラズパイに入れたLibreELECで、NASにあるホームビデオを再生したり、画像を表示したりできます。

別のPC端末やタブレットなどで、やはり同じNASにある別のホームビデオを、メディアセンターを経由させて再生させられます。

更に、NASはある種のサーバーのため、同時に別の部屋で寛いでいる家族が、やはり同じNASにあるメディアファイルを呼び出せます。同時に利用できる点が便利ですよね。

メディアファイルに限らず、NASに保存した各種データに色々なデバイスからアクセスができるので、データの一元管理ができます。便利ですよね。

NASなら複数へ同時にアクセスできる

Raspberry Pi のメリット

家庭内であれば数人の共有になりますから、本格的なNASではなくても役立ちます。中古PCでも代用できるんですけど、消費電力はノートパソコンでもそれなりに掛かってしまうので、低電力消費のRaspberry Piは最適なんですよね。

Raspberry Piであれば、CPUが高負荷が多くても月に200円以下で収まります。(※外付けHDDの消費電力は除く)普段、あまりアクセスしていない場合は、ずっとアイドリングですから、月に100円を切るでしょう。

  • 家族の共有先として
  • バックアップ場所として
  • 複数人で同時に利用できる

一昔前にではあまり一般的では無かったと思います。企業ではとうの昔から利用されていました。これがRaspberry Pi 4のような安価で小さな基板があれば構築できるのは当時では想像できないことでした。

デメリットは堅牢性とサポートなし

Raspberry Pi にHDDを繋ぐとしても、それはデータ置き場であって、通常はOSをmicroSDカードから起動させます。

ご存じの方も多いとは思いますが、microSDカードもHDDも消耗品です。Raspberry Pi 自体もホビー用途なのは否めません。

ふとしたことで壊れることもあり、堅牢性という意味では心許ないのは事実です。

OSの起動もSSDドライブ起動にすれば少し安心することはできます。それにメーカー製品と違ってサポートはありません。

この辺はネットワークの勉強も含めてトライする気分がちょうど良いのかも知れません。でも、実用的ですよ。

使用したパーツ

先ずはNASのセットアップを(難しいところを極力省いて)ご紹介していきます。

追記:ネットワークに繋がらない対処法その3まで追記しました。 追記:WEB管理画面にログイン出来ない場合の現象と解決法を追記しました。

openmedeiavault-nas4

以下は、記事執筆当時の構成です。

  • Raspberry Pi 3B/3B+ → Raspberry Pi 4が実用的な回線速度(ギガビットイーサネット)
  • microSDカード16GB
  • 外付けHDD 3TB
  • Raspberry Pi クリアケース(3ple Decker)→冷却ファン付きまたは金属ケースがおすすめ

Raspberry Pi 4の登場以降

Raspberry Pi 4を利用すれば、ギガビットイーサネットが使え通信が実用的になります。3B+まではファイルサーバとしては致命的に遅い。

処理速度も大幅に上がって、メモリーも4GBもあれば多いくらいです。同時にアクセスする際にCPUの速度は速い方が良いですからね。

この記事ではRaspberry Pi 3Bまたは3B+を利用しています。

Raspberry Pi 4で実用的!

omv6.xはこちら

omv7.xはこちら

今回の環境

  • openmediavault(NASサーバーOS)
  • モニター——モニターは確認用で繋げました。ブラウザからの操作で必須ではありません。
  • キーボード——これも後で取り外します。rootのパスワード変更のみ使用します。
  • LANケーブルは接続しておいてください

USBハードディスク

画像の外付けHDDは、空のケースとハードディスク本体を別々に用意する製品です。古いHDDの使い回すために使いました。

もちろん、新品の外付けハードディスクならいうことはありません。

USB接続するHDDのフォーマットは、事前にフォーマットしておくと便利です。WindowsのNTFSではなく、LinuxのExt4形式にします。

exFAT形式は権限と暗号化に非対応のため、OMVではext4やその他xfsなどで構築します。

インストール方法

今回使うOpenMediaVaultは、バージョン5からインストール方法が異なります。

OMV5からインストール方法が変更になりました。

2019年末以降は、イメージファイルをダウンロードするのではなく、Raspberry Pi OS liteに追加する形に変更になっています。

Raspberry Pi OS OS liteをインストールした状態で以下のコマンドを実行してインストールします。

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

microSDカードへはRaspberry Pi Imager からRaspberry Pi OS liteを書き込んでおきます。

liteが起動した後、ログインして上記コマンドを実行します。

Raspberry Pi liteにはGUI画面が有りません。モニターに繋いでもコマンドプロンプトだけです。インストールが終われば設定はWebインターフェイスで操作します。

他のPCからウェブブラウザでアクセスするので、デスクトップGUIがないlite版で問題ありません。IPアドレスが分からないとアクセスできないので、コマンドip aで確認しておきましょう。

■Pi 5は8GBモデルがオススメ

WEBインターフェイスから設定する

このOpenMediaVaultは、同じネットワークにある他のPC/MacからWEBブラウザを使って設定します。

従ってRaspberry Pi自体への設定は一旦これで終わりです。

ログイン

Raspberry PiのIPアドレスは、Raspberry Pi にモニターを繋ぎコマンドで ip a と入力して調べることができます。

他のマシンからWEBブラウザでアクセスすると、また別のログイン画面が表示されます。

初期ユーザー名は「admin」、初期パスワードは「openmediavault」になります。

web interface:

  • username = admin
  • password = openmediavault

web-login

キャプチャはOMV4

最初から日本語になっているのは有り難いですね!

ログインできない?

コメントいただきました。このケースは多いと思うので追記しておきます。

私もwebguiが使えず困っていました。ルーターの設定ばっかり見直していてハマりました。使用しているネットワーク環境がIPv6に対応していないとPort80が動作しない?ようです。Openmediavaultの設定ファイルを編集してサービス再起動して直りました。同じ原因だといいのですが。OMV4でのお話です。

まきジャックさんのコメントより

(編集するファイル)

sudo nano /etc/nginx/sites-available/openmediavault-webgui

私の環境のopenmediavault-webguiファイルのソースを参考にしてください。

sudo cat /etc/nginx/sites-available/openmediavault-webgui
server {
    server_name openmediavault-webgui;
    root /var/www/openmediavault;
    index index.php;
    autoindex off;
    server_tokens off;
    sendfile on;
    large_client_header_buffers 4 32k;
    client_max_body_size 25M;
    error_log /var/log/nginx/openmediavault-webgui_error.log error;
    access_log /var/log/nginx/openmediavault-webgui_access.log combined;
    error_page 404 = /404.php;
    location /404.html {
        internal;
    }
    location /extjs6/ {
        alias /usr/share/javascript/extjs6/;
        expires 2d;
    }
    location ~ ^/(css|fonts|js|images)/ {
        expires 2d;
    }
    location /favicon {
        expires 14d;
    }
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php-fpm-openmediavault-webgui.sock;
        fastcgi_index index.php;
        fastcgi_read_timeout 60s;
        include fastcgi.conf;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
    listen 80;
    include /etc/nginx/openmediavault-webgui.d/*.conf;
}

変更する箇所

listen [::]:80 ipv6only=off;  →  listen 80;

サービスの起動と確認

sudo systemctl start nginx.service
(もしくはsudo systemctl restart nginx.service)
sudo systemctl status nginx.service

お使いのルーターがIPv4しか対応していない機器か、IPv6の設定を変更しているか、もしくは接続プロバイダ自体がIPv6に対応していないと起こり得るので、少し前の古い機種なら確認した方が良いです。ラズパイマガジンに載っていました。情報提供をありがとうございます。

ログインできない?その2

コメントいただきました。やはりルーターとか、配線とか、Wi-Fiとか、分かりにくいと思いましたので、図を作成しました。

ルーター配線図

これは基本の図です。ケースバイケースもありますけど、家庭ではこんな感じでしょう。

ネットワークは分かりにくいと思いますが、最小の構成で考えてください。

Wi-Fi機は恐らくルーター機能付きが大半なので、増設した場合はルーターモードではなくブリッジモードにすれば、PCマシン達と同じ扱いです。

ログイン後の画面

ログイン後

画像はOMV4

左のメニューから様々な設定ができます。

ここでは、ファイルを共有するという点に絞って設定していきます。

具体的には、USBハードディスクをマウント(認識)させ、ファイル共有のためsambaを有効にして、アクセス権を持つユーザーを追加し、共有するフォルダを指定します。

順番に行えば何も難しくありません。

  1. USBハードディスクをマウント
  2. sambaを有効
  3. ユーザーを追加
  4. 共有するフォルダを指定

では順番に設定していきましょう。

ここで設定の保存について!

設定は保存ボタンで保存しますが、一番最後にでも構いませんので、右上に出る適用も押下して反映されます。

保存ボタン

日時修正のためのタイムゾーンを変更

先ずはじめに日付を日本の時刻に合わせます。

【システム】-【日付と時刻】

タイムゾーン

Asia/Tokyoです。Japanでも大丈夫でした。プルダウンメニューから選びます。

sambaサービスを有効にする

sambaサービスが有効になっていないと思うので、有効にしておきます。

【サービス】-【SMB/CIFS】

sambaサービス

有効のボタンを押すだけです。

USBハードディスクをマウント

繋いでいるUSBハードディスクがマウントされているか見てみます。マウントされていないと思いますので、該当のUSBハードディスクの行を選んで、上部にあるマウントするでマウントします。

後から繋げて表示されていなければスキャンボタンでスキャンしてください。

ちなみにワイプというのは削除と同等です。パーティショニングをしフォーマットする時に使います。

ワイプ ≒ フォーマット

新品のHDDを使う場合はワイプからフォーマットしてください。

フォーマット形式はLinuxのext4が良いとは思いますが、WindowsやmacOSからは認識することができません。

【ストレージ】-【ディスク】

マウント

今回は1TBのハードディスクを繋げてマウントしました。

マウントできない??

もしもマウントできない場合は、フォーマット(=ワイプ)をしないとなりません。繋げた外付けハードディスクがスキャンで表示されれば、フォーマットが可能です。

※フォーマット(ワイプ)するとデータが全て消えます。気をつけてください。

エラーが出て変更を適用できない・・・?

外付けハードディスクの書き込みに失敗したのかも? もう一度、USBで繋げた外付けハードディスクのフォーマットからやり直してみよう。

アンマウントできない?

もう一度外付けハードディスクのフォーマット(=ワイプ)するためにハードディスクのアンマウントが必要です。

もしも同じようにアンマウントで悩んでいたら次の記事もご確認ください。

同じ症状なら参考にしてください

ユーザーの追加

sambaサービスでアクセスできるユーザーを追加します。

【アクセス権の管理】-【ユーザー】

ユーザー

ここでは名前を「nas-user」にしました。コメントは任意です。

そしてパスワードを2箇所に入れて保存でOKです。このユーザー名とパスワードで他のマシンから接続します。

共有フォルダの設定

共有させ他から接続できるフォルダの場所を登録します。

【アクセス権の管理】-【共有フォルダ】

共有ポイント

共有を選ぶ

名前は任意で構いません。デバイスの欄はプルダウンメニューで選びます。先程、ハードディスクをマウントしたため、選べるはずです。出ない場合はマウントを確認してください。

パーミッションはアクセス権限です。デフォルトの読み書きのままで良いでしょう。

samba共有フォルダを有効

先程、ユーザーの追加と共有フィルダの作成をしましたが、sambaでは共有フォルダを有効にし、先程の共有フォルダの場所を設定します。

【サービス】-【サービス】-【SMB/CIFS】-【共有タブ】

smb共有フォルダ

選んで有効のボタンを押すだけです。他はとりあえずデフォルトのままで良いでしょう。

固定IPに変更する

IPアドレスは動的で変更になりますので、ここで固定IPに変更しておきましょう。

名前の変更

固定IPにも変更しますが、ネトワーク名であるホスト名も変更しておきます。

これなら次回から、ssh root@nas.localで接続可能です。(ホスト名はNASならば)

【システム】-【ネットワーク】

ネットワーク名

大文字と小文字と混ざった例になってしまっていますが、英語小文字で構いません。

固定IPの設定

イーサネットをスタティック(固定)にします。

※NASなのでWi-Fiでは設定していません。

[システム]-[ネットワーク]-[インターフェイスタブ]-追加(イーサネット)

イーサネット

スタティックアドレス

メソッドをスタティックと選び、アドレスを任意の(他と重ならない)ローカルIPアドレスにします。※ローカルアドレスやネットマスクは環境により異なります。

ここでは19番にしましたけど、分かり易い99や50なら重なりませんね。

ゲートウェイはルーターの番号です。

確かにネットワーク系は難しいかも知れませんが、何度も設定していると理解してきますよ。 完全に理解できないとしても、よく使う場面のIPアドレスや設定方法だけでも覚えて置くと助かるでしょう。

この後さらに設定を続けるには、先程変更したIPアドレスまたは名前でアクセスし直してください。

また、再起動後はここで指定したIPアドレスになります。

こまでで基本的な設定は以上です。

今後もRaspberry Pi を使うのなら、こういったネットワークに繋いだり設定する場面が出てくると思いますので、基本的な部分は知っておきましょう。

ネットワーク系が苦手な人のために「IPアドレスとサブネットマスクを理解しよう!」に分かり易くまとめてみました。

1つずつやれば難しくない

手間がかかるように思えますが、コマンドはあまり使わずにWebインターフェイスにある設定を一つずつ済ませれば使えます。

Raspberry PiでNASサーバーが出来上がったら、もう1台Raspberry Piを導入して、LibreELECを利用したメディアプレイヤーに仕立て上げて連携すると更に快適です。

家庭で使うのに充分な機能のNASは、Raspberry PiとOpenmedeiavaultで実用的に構築可能です。やはりRaspberry Piなら電気代があまりかからないので気にしなくて済むのが嬉しいですね。

OMVで作るNASサーバの記事

 今は大容量4TBもリーズナブルになりましたねー

LINK