自宅の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日かかりました。 構築も楽しめて大変満足!!!