自宅のPCが複数になってファイルの共有が大変なのでNASを導入します。 NAS用のPCはどのご家庭にもあるラズパイを使います。
Contents
- 1. 仕様と環境
- 2. ラズパイのOSのインストールとネットワークに接続
- 3. IPを固定する
- 4. openmediavault の導入
- 5. openmediavault を設定する
- 6. Windows10からNASにアクセスする
- おわりに
1. 仕様と環境
ネットワーク仕様
- PCはWindows 10が3台あるからその間で共有したい。
- ネットワークは自宅LANの中(外部からは接続しない)
- ラズパイは有線LANで接続する
NASのPC構成
- Raspberry 3B+
- microSD 16GB
- 外付けSSD 1TB
- OS: Raspberry Pi OS Lite
NASのアプリケーションはopenmediavaultを利用しました。
▲NASの完成したところ。USBポートの数だけディスクを追加できる!
ラズパイは余っていた3B+を使っていますが、新しいRaspberry Pi 4 4B-64GB - amazonがでてます。技適に対応したみたいですね。microSDはOSイメージを書くだけなので8GB以上あれば十分かと思います。
外付けディスクにはBUFFALO USB3.1Gen1 ポータブルSSD 1TB - amazonを使いました。 SSD 1TBの中では安く1.1万円で買えました。
2. ラズパイのOSのインストールとネットワークに接続
ラズパイのOSを新しく入れ直します。 本題じゃないのでサクサク進めます。
2.1 OSのダウンロード
GUIは不要ですので、ラズパイにはCLIのみのRaspberry Pi OS Liteを新しくいれ直します。
https://www.raspberrypi.org/software/operating-systems/
zipをダウンロードして解凍します。
2.2 balenaEtcher でOSを書き込む
OSをSDカードへ書き込むにはbalenaEtcherを利用しました。 https://www.balena.io/etcher/
インストールしたら先ほどのOSイメージとSDカードを選んで書き込みます。

書き込みに成功しました。

2.3 SSHの有効化と無線LANの設定
SSHの有効化と無線LANの設定は、ラズパイにモニターとキーボードをつないでraspi-configコマンドで設定することもできます。
/boot/sshと空のファイルを作成して再起動するとSSHを受け付けるようになります。
$ sudo touch /boot/ssh
# 再起動
$ sudo reboot
もしくは、OSイメージをフラッシュしてから下記の方法でセットアップすることも可能です。
SDカードのbootの直下にsshファイルを作成するとSSHが有効になる。
ファイルは拡張子なしで中身も書かなくて良い。
同じく、wpa_supplicant.confファイルを作成する。こちらはWi-FiのSSIDとパスワードを書き込む。
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="<接続先のSSID>"
psk="<平文のパスワード>"
}
詳しくはこちら
外部に公開しないので初期ユーザのままにする。 気になる方はこちらの記事に沿って設定を変えていくと良いと思う。 買ったらまず実施!RaspberryPiのセキュリティ対策
2.4 SSH接続
以上の設定でPCからSSHができるようになっているはず。
# sshコマンド
$ ssh pi@raspberrypi.local
初期のユーザ名/パスワードは pi / raspberry です。
もし繋がらない場合は、ラズパイをモニタに繋げてraspi-configコマンドで設定し直したり、ifconfigでIPを確認してみると良いです。
2.5 ラズパイのセットアップ
ホスト名やパスワードの変更など設定をすませます。ほぼこちらのコマンド通りです。(raspi-configの文言がすこし違ってた)
パスワードの変更
passwd
ホスト名変更
sudo nano /etc/hostname
sudo nano /etc/hosts
とりあえずraspinasとしました。
raspi-configによる設定
sudo raspi-config

ファイルシステムの拡張
6 Advanced Options -> A1 Expand Filesystem
ロケール等の変更
5 Localisation Options -> L1 Locale -> ja_JP.UTF-8 UTF-8 スペースで決定 -> Enter -> ja_JP.UTF-8 UTF-8 -> OK
タイムゾーンの変更
5 Localisation Options -> L2 Timezone -> Asia -> Tokyo
Wi-Fi利用国の変更
5 Localisation Options -> L4 WLAN Country -> JP Japan
Finishで終了する。再起動するか聞かれるのでYesで再起動して設定を反映する。
3. IPを固定する
初期設定ではDHCPが機能しており、起動の毎にIPが採番されます。
これらの記事を参考にeth0のIPを192.168.11.2に固定しました。
Wi-Fiの場合はwlan0を固定してください。
$ sudo nano /etc/dhcpcd.conf
$ sudo cat /etc/dhcpcd.conf
# 以下を末尾に追加した
interface eth0
static ip_address=192.168.11.2/24
static routers=192.168.11.1
static domain_name_servers=192.168.11.1
# dhcpcdのリロード
$ sudo service dhcpcd reload
(option) SSHの接続設定を楽にする
sshコンフィグファイルにNASの情報を加えて接続を楽にします。
C:\Users\{ユーザ名}\.ssh\configに以下を加えると> ssh nasで接続出来るようになる。
host nas
user pi
hostname 192.168.11.2
port 22
4. openmediavault の導入
https://www.openmediavault.org/
openmediavaultは、Debian Linuxに基づく次世代のネットワーク接続ストレージ(NAS)ソリューションです。 機能が豊富で可能な設定も多くあります。初めて使いましたが、設定はモダンなデザインのWEB-GUIで管理できわかりやすかったです。
4.1 openmediavault をインストールする
Raspberry pi 4 でNAS(openmediavault)を構築する方法を参考にインストールしました。
ラズパイにSSH接続して以下を実行していきます。(全部で1時間くらいかかった。。)
# リポジトリ一覧を更新
$ sudo apt update
# アップグレードの実行
$ sudo apt upgrade
$ cd /opt/
# openmediavaultのインストール(20分程度)
$ wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash
# 再起動
$ sudo reboot
// IPアドレスの確認
$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.20 netmask 255.255.255.0 broadcast 192.168.1.255
4.2 フォーマットの有効化
NTFSのフォーマット形式に書き込めるようにします。
# NTFSフォーマットの有効化
$ sudo apt-get install ntfs-3g
今回の用途ではWindowsに対応するNTFSフォーマットだけで十分でした。
exFATはフラッシュドライブ向けに最適化された新しい規格のFATです。
# (必要あれば) exFATフォーマットの有効化
$ sudo apt-get install exfat-fuse exfat-utils
参考:ファイルシステム(FAT32、FAT16、NTFS、exFAT、HFS、HFS+、APFS)の違いについて - buffalo.jp
4.3 WEBのGUI (openmediavault)にログインする
/etc/hostnameに設定した名前にブラウザからアクセスします。
初期アカウントは ユーザ名/パスワード = admin / openmediavault です。

5. openmediavault を設定する
ログインした後のホーム画面です。

設定方法はこちらを参考にしました。 とても扱いやすいGUIです!
ここでは以下を設定します。
- 5.1 一般設定
- 5.2 外付けディスクのマウント
- 5.3 共有フォルダの追加
- 5.4 sambaサービスの共有追加
- 5.5 ユーザを追加
他にRAIDやアラートなども設定できます。
5.1 openmediavaultの一般設定
タイムゾーンの変更
メニュー日付と時刻 -> タイムゾーンをAsia/Tokyoに変更する。
アップデート管理
メニューアップデート管理 -> パッケージをチェックしてインストールをクリック。
他に管理者パスワードの変更やホスト名の変更ができます。
5.2 外付けディスクのマウント
外付けSSDをマウントします。
メニューファイルシステム -> デバイスから外付けSSDを選択してマウントをクリック -> 変更を適用 。

5.3 共有フォルダの追加
メニュー共有フォルダ -> 追加から先ほどマウントした外付けディスクを選択する。share/フォルダを作成してそこを共有するようにしました。

5.4 sambaサービスの共有追加
他のPCから接続する方法を設定します。
メニューSMB/CIFS -> 設定タブ一般設定の有効をチェックする。

共有タブ -> 追加 -> 先ほど作成した共有フォルダを選択します。設定はデフォルトのままにしました。
変更を適用する。

後述しますがパブリック(ゲストに許可)にしてゲストでアクセスしたい場合はWindows10のレジストリエディタでの設定変更が必要で面倒です。次に追加するパスワード付きのユーザでログインした方がいい。
NFSを利用する場合も同じようにしたらOK!
5.5 ユーザを追加
NASに書き込み権限を持ったユーザを追加する。
メニューユーザ -> 追加 -> 適宜ユーザを登録する。

ユーザを選択してから特権をクリックして、共有フォルダの権限を設定します。

以上でNASの設定は終わり。
6. Windows10からNASにアクセスする
普段使っているWindows10からNASにアクセスします。
6.1 Windows10のSMB 1.0/CIFCを有効にする
今回はNASの接続方式を「SMB/CIFS」にしていまが、 Windows 10 version1709 からSMBv1は有効になっていません。
設定からSMBv1を有効にします。
検索などからWindowsの機能の有効化または無効かを開いて SMB 1.0/CIFSを有効にします。
プラグインがインストールされます。

参考: SMBv1クライアント機能を有効にする方法 - elecom
(オプション)Windows 10からゲストアクセスする
Windows10ではゲストアクセスが推奨されていないため、デフォルトではゲストアクセスを許可した共有フォルダにアクセスしても接続出来ません。
ゲストアクセスを許可する方法は次の記事に書きました。
おわりに
以上で自宅でNASが使えるようになりました。
GoogleDriveなどファイル共有のクラウドサービスも便利ですが、容量やネットワークの速度が気になってしまいます。 自宅にNASを作ったことで、その2つが気にならなくなりPC間の共有がしやすくなりました! 書き込み速度もラズパイ3B+とSSDで十分気にならない速さです。 ラズパイと1TBのSSDを合わせて15,000円くらいですが、ラズパイは元々余ってたものなので費用も抑えられたかなと思います。
この記事を書くのも含めて2日かかりました。 構築も楽しめて大変満足!!!