「RaspberryPiでmobileNAS」の版間の差分
(→iTunes/DAAP) |
(→動作具合) |
||
69行目: | 69行目: | ||
* リソースの具合 [http://dz.plala.jp:8081/host/nas/ nas netdata dashboard 別窓] | * リソースの具合 [http://dz.plala.jp:8081/host/nas/ nas netdata dashboard 別窓] | ||
* リソースの具合 [http://dz.plala.jp/iot-monitor/ IoT MONITOR 別窓] | * リソースの具合 [http://dz.plala.jp/iot-monitor/ IoT MONITOR 別窓] | ||
− | * sambaがramにcacheをため込むのでオーバーフローを試してみるが起きない<br />free30MB used200MB cached700MB | + | * sambaがramにcacheをため込むのでオーバーフローを試してみるが起きない<br />free30MB used200MB cached700MB たくさん音楽入れても変わらず これが安定状態? |
* SanDisk Ultra FitがS.M.A.R.T.に対応していない mdadm monitorのメールで対応 | * SanDisk Ultra FitがS.M.A.R.T.に対応していない mdadm monitorのメールで対応 | ||
* RAID管理画面でUSBメモリが選択できない コマンドの直接操作で回避 | * RAID管理画面でUSBメモリが選択できない コマンドの直接操作で回避 |
2019年1月12日 (土) 02:55時点における版
手のひらサイズのコンパクトなNAS作ってみます。
環境
ボード | Raspberry Pi 3 Model B+ |
電源アダプタ | 5V 3A |
ストレージ | SanDisk Ultra microSDHC 16GB |
ストレージ | SanDisk Ultra Fit 128GB × 4個 RAID用 |
LAN or Wi-Fi | 標準搭載のLAN or Wi-Fi |
作業補助PC | Windows10 SSHクライアント ブラウザ Ubuntu GParted |
動作具合
理論値 | 測定値 SMB Pi→Windows | |||
Pi3 ModelB | LAN | 100Mbps | 88Mbps | 11MB/s |
Wi-Fi 2.4GHz | - | 36Mbps | 4.5MB/s | |
Pi3 ModelB+ | LAN | 300Mbps | 176Mbps | 22MB/s |
Wi-Fi 5GHz | - | 72Mbps | 9MB/s | |
比較用 | 1000Base-T | 1Gbps | 880Mbps | 110MB/s |
- とにかくLANが遅い
- リソースの具合 nas netdata dashboard 別窓
- リソースの具合 IoT MONITOR 別窓
- sambaがramにcacheをため込むのでオーバーフローを試してみるが起きない
free30MB used200MB cached700MB たくさん音楽入れても変わらず これが安定状態? - SanDisk Ultra FitがS.M.A.R.T.に対応していない mdadm monitorのメールで対応
- RAID管理画面でUSBメモリが選択できない コマンドの直接操作で回避
- mdadmが毎週日曜日AM1時にraid-checkを走らせDiskReadが高負荷状態になってる
3時間くらいかかる
不良セクタが検索され、見つかった場合は他のドライブのデータを使用して修正し、
読み取りエラーを返すセクタは再構築 - iTunesのホームシェアリングからWi-Fiでつなぐと初回接続に数秒もたつく LANは軽快
下調べ
- openmediavault - Browse /Raspberry Pi images at SourceForge.net
RaspberryPi向けOpenMediaVaultはコレっぽい
Armbianで作られOSが成熟してないように見える hostapdですら普通に入らない - Installation on Debian — openmediavault 4.0.0 documentation
Armbian版OpenMediaVaultを使わずDebian版の要領でRaspbianにインストール - ラズベリーパイとRAID - RAID - openmediavault Google翻訳
RaspberryPiのUSBメモリでRAIDするな
インストール
OS書き込み
Download Raspbian for Raspberry Pi
Raspbian Stretch Lite 使用
(省略)
MicroSD、モニター、マウス、キーボード、LANを取り付け電源ON
ファイルシステム
Piモニター
raspberrypi login: pi Password: raspberry
$ sudo raspi-config 7.Advanced Options → A1 Expand Filesystem tabでFinishでreboot
アップグレード
Piモニター
raspberrypi login: pi Password: raspberry
$ sudo apt-get update $ sudo apt-get upgrade $ sudo reboot
キーボード
Piモニター
raspberrypi login: pi Password: raspberry
$ sudo raspi-config 4.Localisation Options I3 Change Keyboard Layout → Generic 105-key (Intl) PC → Other → Japanese → Japanese → The default for the keyboard layout → No compose key tabでFinish $ sudo reboot
SSH有効化
Piモニター > ログイン
raspberrypi login: pi Password: raspberry
Piモニター > SSH有効化
$ sudo raspi-config 5 Interfacing Options > P2 SSH > <Yes> > <Ok> tabでFinish $ sudo reboot
OpenMediaVault
Piモニター > IP確認
raspberrypi login: pi Password: raspberry $ ifconfig
WindowsPC > SSHクライアント
TeraTermの場合 ホスト: 192.168.1.* TCPポート: 22 <OK> ユーザ名: pi パスフレーズ: raspberry
WindowsPC > SSHクライアント 入力
$ sudo nano /etc/apt/sources.list
WindowsPC > SSHクライアント 末尾に追記
deb http://packages.openmediavault.org/public arrakis main
保存: Ctrl + o リターン
終了: Ctrl + x
WindowsPC > SSHクライアント 入力
$ export LANG=C $ export DEBIAN_FRONTEND=noninteractive $ export APT_LISTCHANGES_FRONTEND=none $ sudo apt-get update $ sudo apt-get --allow-unauthenticated install openmediavault-keyring $ sudo apt-get update $ sudo apt-get --yes --auto-remove --show-upgraded --allow-downgrades --allow-change-held-packages --no-install-recommends --option Dpkg::Options::="--force-confdef" --option DPkg::Options::="--force-confold" install postfix openmediavault
Postfix Configuration > <Ok> > No configuration ⏎
Complete the installation > Tab > <Ok>
$ sudo apt-get install resolvconf $ sudo omv-initsystem
$ sudo reboot
Piモニター > SSH再接続できないので、とりあえずモニターでログイン
raspberrypi login: pi Password: raspberry
Piモニター > eth0のIP確認
$ ifconfig
WindowsPC > ブラウザ 接続
http://<IPアドレス> ユーザー名: admin パスワード: openmediavault
WindowsPC > ブラウザ SSH再接続できないのを修正
アクセス権の管理 > ユーザー piユーザーを選択 > 編集 パスワード: raspberry パスワードの確認: raspberry グループタブ内のsshにチェック 保存
WindowsPC > SSHクライアント 接続
ホスト: 192.168.1.* TCPポート: 22 <OK> ユーザ名: pi パスフレーズ: raspberry
電源を落とし有線LAN以外全て取り外し電源ON
WindowsPC > ブラウザ 接続
http://<IPアドレス> ユーザー名: admin パスワード: openmediavault
Wi-Fiの有効化
参考: Raspbian Stretch: Wifi not starting on boot - Raspberry Pi Forums
WindowsPC > SSHクライアント
$ sudo nano /etc/network/interfaces
末尾に追記
# wlan0 network interface allow-hotplug wlan0 iface wlan0 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
保存: Ctrl + o リターン
終了: Ctrl + x
$ sudo systemctl enable wpa_supplicant.service $ sudo reboot
有効化
$ sudo raspi-config 4 Localisation Options → I4 Change Wi-Fi Country → JP Japan tabでFinish $ sudo reboot
システム
一般設定
Nginxのwebサーバを80番ポートにしたいので管理画面は8080番
Web管理
ポート: 80 → 8080 セッションタイムアウト: 5分 → 無効 保存 # エラーが出るが気にしない 右上▼ > ログアウト
再接続
http://<IPアドレス>:8080 ユーザー名: admin パスワード: openmediavault
一般設定 > Web管理者パスワード
パスワード: 0000 パスワードの確認: 0000 保存
日付&時刻
タイムゾーン: UTC → Japan または Asia/Tokyo NTPサーバを使用する: ON 時刻サーバ: pool.ntp.org → ntp.nict.jp 保存
ネットワーク
一般
ホスト名: raspberrypi → nas 保存
インタフェース
LANの場合
追加 > イーサネット 一般設定 名前: eth0 IPv4 メソッド: DHCP IPv6 メソッド: 無効 保存 右上▼ > 再起動
Wi-Fiの場合
追加 > イーサネット 一般設定 名前: wlan0 Wi-Fi SSID Wi-FiAPの名前 Wi-Fi パスワード Wi-FiAPのパスワード IPv4 メソッド: DHCP IPv6 メソッド: 無効 保存 右上▼ > 再起動
再接続
http://nas.local:8080 ユーザー名: admin パスワード: 0000
通知
有効: OFF → ON
Gmailの場合
SMTPサーバ: smtp.gmail.com SMTPポート: 25 → 587 SSL/TSLセキュアコネクションを利用する: ON 送信者のメールアドレス: 自分のGmailアドレス 認証の要求: ON ユーザ名: 自分のGmailアドレス パスワード: 自分のGmailのパスワード(二段階認証の場合はアプリパスワードを使用) プライマリメール: 自分のGmailアドレス 保存
確認
テストメールの送信
電源管理
モニタリング: ON
モニタリング
有効: OFF
アップデート管理
設定
プレリリースされたアップデート: ON コミュニティーによるメンテナンスアップデート: ON 保存
プラグイン
参考: OMVExtras Installation From OMV web interface
3.Raspbian Stretch Liteを使用しているのでFor OMV 4.x (arrakis) openmediavault-omvextrasorg_latest_all4.deb をダウンロード
4.OMV管理画面 > プラグイン項目
5.アップロードボタンでopenmediavault-omvextrasorg_latest_all4.deb をアップロード
6.プラグイン一覧の下の方openmediavault-omvextrasorg 4.1.13を☑チェックしインストールボタン
7.OMV-Extras項目ができるので選択
アップデートボタン update omv-update upgrade dist-upgrade
8.プラグイン項目から欲しいものをインストール
ストレージ
方向性
- USBメモリ4個 RAID5
- RAID管理画面でRAID構築できないのでmdadmで直接操作
- USBメモリのRAID向けフォーマットもfdiskで直接操作
ディスク
USBメモリ4個 UbuntuのGPartedでext4フォーマット
RaspberryPiに取り付け
/dev/sda /dev/sdb /dev/sdc /dev/sdd が表示されればOK
S.M.A.R.T.
SSHで確認
$ smartctl --info -d scsi /dev/sda SMART support is: Available - device has SMART capability. SMART support is: Enabled Temperature Warning: Disabled or Not Supported
$ smartctl -l selftest -d scsi /dev/sda Device does not support Self Test logging
$ smartctl -H -d scsi /dev/sda SMART Health Status: OK
$ smartctl -t short -d scsi /dev/sda $ smartctl -d scsi /dev/sda -X Self Test returned without error $ smartctl -l selftest -d scsi /dev/sda Device does not support Self Test logging
対応していないので設定しない
RAID管理
作成
Devices connected via USB will not be listed (too unreliable). USB経由で接続されているデバイスは表示されません(信頼性が低すぎます)。
管理画面では作成できないのでmdadmから直接操作
SSH接続 > SSHクライアント
TeraTermの場合 ホスト: nas.local TCPポート: 22 <OK> ユーザ名: pi パスフレーズ: raspberry
USBメモリの確認
$ ls -l /dev/sd* brw-rw---- 1 root disk 8, /dev/sda brw-rw---- 1 root disk 8, /dev/sdb brw-rw---- 1 root disk 8, /dev/sdc brw-rw---- 1 root disk 8, /dev/sdd
RAID用にフォーマット
sda sdb sdc sdd 4回繰り返し
$ sudo fdisk /dev/sda Welcome to fdisk (util-linux 2.29.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): d Selected partition 1 Partition 1 has been deleted. Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): リターン Using default response p. Partition number (1-4, default 1): リターン First sector (2048-240254975, default 2048): リターン Last sector, +sectors or +size{K,M,G,T,P} (2048-240254975, default 240254975): リターン Created a new partition 1 of type 'Linux' and of size 114.6 GiB. Partition #1 contains a ext4 signature. Do you want to remove the signature? [Y]es/[N]o: y The signature will be removed by a write command. Command (m for help): t Selected partition 1 Partition type (type L to list all types): fd Changed type of partition 'Linux' to 'Linux raid autodetect'. Command (m for help): p Disk /dev/sda: 114.6 GiB, 123010547712 bytes, 240254976 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x000ef5fb Device Boot Start End Sectors Size Id Type /dev/sda1 2048 240254975 240252928 114.6G fd Linux raid autodetect Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.
確認
$ ls -l /dev/sd* brw-rw---- 1 root disk 8, 0 /dev/sda brw-rw---- 1 root disk 8, 1 /dev/sda1 brw-rw---- 1 root disk 8, 16 /dev/sdb brw-rw---- 1 root disk 8, 17 /dev/sdb1 brw-rw---- 1 root disk 8, 32 /dev/sdc brw-rw---- 1 root disk 8, 33 /dev/sdc1 brw-rw---- 1 root disk 8, 48 /dev/sdd brw-rw---- 1 root disk 8, 49 /dev/sdd1
RAID構築
$ sudo mdadm -C /dev/md0 -l 5 -n 4 /dev/sd[abcd]1
確認
http://nas.local:8080 ユーザー名: admin パスワード: 0000
RAID管理項目
clean,resycingが100%になったら完了
ファイルシステム
作成 デバイス: Software RAID nas:0 [/dev/md0, raid5, 343.49 GiB] ラベル: data ファイルシステム: EXT4
ステータスがオンラインになったら完了
RAIDデバイスを選択 マウント
マウント済みが「はい」になったら完了
RAIDの監視
mdadm --monitorでRAIDディスクに障害が発生した場合にメール通知できる
テストコマンドを送れる様子
調査中
フラッシュメモリ
Armbian版OpenMediaVaultではflashmemoryプラグインを入れている
同じにする
プラグイン項目 openmediavault-flashmemory 4.2.1 をチェック インストールボタン
フラッシュメモリ項目 SSH $ nano /etc/fstab
SWAPも無い よくわからない
アクセス権の管理
共有フォルダ
追加
名前: data デバイス: data [68.02 MiB (1%) used, 337.02 GiB available] パス: data/ パーミッション: みんな:読み/書き 保存
サービス
FTP
設定
有効: ON タイムアウト: 1200 → 0 rootアカウントでのログインの許可 OFF → ON パッシブFTP: ON 49152 65534 保存
共有 > 追加
有効: ON 共有フォルダ: data [on data, data/] 保存
確認 FFFTPの場合
ホストの設定名: mobileNAS ホスト名(アドレス): nas.local ユーザー名: pi パスワード: raspberry
SMB/CIFS
設定
一般設定 有効化: OFF → ON ローカルマスタブラウザ: ON → OFF 保存
共有 > 追加
有効化: ON 共有フォルダ: data [on data, data/] パブリック: ゲストのみ 読み込み専用: OFF 参照可能: ON ACLを継承: ON パーミッションを継承: OFF ごみ箱: OFF ドットファイルを非表示: ON 拡張属性: OFF DOS属性を書き込む: OFF 監査: OFF 保存
確認
エクスプローラで\\nas
SSH
変更なし
プラグイン
Shell in a box
プラグイン > openmediavault-shellinabox 3.4
設定
有効化: OFF → ON 保存
確認
https://nas.local:4200 https接続なのでブラウザの例外で許可 nas login: pi pi@nas's password: raspberry
DLNA
プラグイン > openmediavault-minidlna 3.3.11
設定
有効: ON 名前: MiniDLNA Server on OpenMediaVault → mobileNAS 保存
共有 > 追加
共有フォルダ: data [on data, data/] コンテンツタイプ: すべてのメディア 保存
確認
http://nas.local:8200
iTunes/DAAP
プラグイン > openmediavault-forkeddaapd 4.0.7-1
設定
有効: ON ライブラリ名: %h - iTunes/DAAP → mobileNAS 共有フォルダ: なし → data [on data, data/] 保存
確認(iTunesの場合)
ホームシャエリングをON ライブラリをmobileNAS
Apple Filing
プラグイン > openmediavault-netatalk 4.0.7-1
設定
有効化: OFF → ON 保存
共有 > 追加
有効化: ON 共有フォルダ: data [on data, data/] ゲストログイン: OFF → ON ゲストのパーミッション: OFF → ON TimeMachineサポート: OFF → ON 保存
Nginx
プラグイン > openmediavault-nginx 4.0.3
設定
有効: OFF → ON 保存
プール > 追加
名前: www-data ユーザー: www-data グループ: www-data 保存
サーバ > 追加
有効: ON ディレクトリ: data [on data, data/] PHPを有効にする: OFF → ON PHP-FPMプール: www-data デフォルトの設定: ON インデックスの使用 index.php OFF → ON ログを有効化: ON → OFF 保存
確認
エクスプローラで\\nas 新規作成 index.php ソース <?php phpinfo(); ?>
http://nas.local
確認
IP | ユーザ名 | パスワード | |
OpenMediaVault | http://nas.local:8080 | admin | 0000 |
DLNA | http://nas.local:8200 | - | - |
Nginx | http://nas.local | - | - |
Shell in a box | https://nas.local:4200 | pi | raspberry |
SSH | nas.local | pi | raspberry |
FTP | nas.local | pi | raspberry |
SMB | \\nas | - | - |
更新履歴
- 2018.12.31 書き直し
- 2018.12.17 公開