RaspberryPiでmobileNAS

提供: ディーズガレージ wiki
2018年12月16日 (日) 13:08時点におけるShogooda (トーク | 投稿記録)による版 (ファイルシステム)

移動先: 案内検索

OpenMediaVault4使ってみます

環境

ボード Raspberry Pi 3 Model B
ストレージ SanDisk Ultra microSDHC 16GB
USBストレージ SanDisk Ultra Fit 128GB × 4個
LAN 標準搭載のLAN
アクセスポイント 標準搭載のWiFi

下調べ

https://sourceforge.net/projects/openmediavault/files/Raspberry Pi images/

Google翻訳

OpenMediaVault 4 for Raspberry Pi 2B, 3B and 3B+

EtcherでSDカードを使用して、圧縮解凍せずに.img.xzイメージを書き込む:https://etcher.io

最初の起動時にインストールが完了します。
忍耐強くお願いします。遅いSDカードと遅いインターネット接続(最新のバージョンにすべてのパッケージをアップデートするためにイン ターネットアクセスが必要)で20分かかることがありますのでご注意ください。
1回の自動再起動後、SDカードのアクティビティLEDが点滅を止め、ラズベリーパイは準備完了です!

- openmediavault-flashmemoryプラグインは、SDカードの摩耗を減らすためにプレインストールされています。
- 最初の起動時にsshキーが生成されます。
- openmediavault 4 (Arrakis)です。
- 最初の起動時に4.9カーネルの最新の使用可能なバージョンに更新されます。(2018年3月から4.14.30)
- RaspbianではなくDebian/armhfです。(RPi2または3にのみ対応)
- 最初の起動時にSSHキーが再生成されますが、使用前にWebUIでSSHログインを有効にする必要があります。サービス -> SSH -> ルートログインを許可
- すぐにデフォルトのパスワードを変更してください!
- データ使用のための3番目のパーティションは、最初の起動時に自動的にサイズが変更されますが、選択しfsで手動でフォーマットする必要があります!
- デフォルトでRPi 3B+ Fast Ethernetは、不良なケーブル接続や不足電圧(ギガビットイーサネットが消費を増加させる)を防止するために使用されます。 この執筆時点では、RPi 3+のギガビットイーサネットはとにかく壊れています。
- すべての詳細は
  https://forum.openmediavault.org/index.php/Thread/23065 Google翻訳
  https://forum.openmediavault.org/index.php/Thread/18991 (OMV3) Google翻訳

web interface:
- username = admin
- password = openmediavault

console/ssh:
- username = root
- password = openmediavault

Source: readme.txt, updated 2018-07-22

インストール

イメージダウンロード

https://sourceforge.net/projects/openmediavault/files/Raspberry%20Pi%20images/
省略

書き込み

https://etcher.io
圧縮解凍せずに.img.xzイメージを書き込む
省略

起動

microSDを挿し、有線LAN、HDMIケーブル、USBキーボード、USBマウス、電源を取り付け起動
Debian GNU/Linux 9 raspberrypi tty1が出たまま何も起こらないがドキュメントではこの状態が設定中の様子
しばらく待つとドキュメント通り自動再起動した

raspberrypi login:

IPが分からないので一度ログイン

raspberrypi login: admin
Password: openmediavault

文字がダラダラ流れる中にIPらしきものがある
こんな感じ enx827eb3073e7: 192.168.1.8
多分IPは、192.168.1.8
他のPCのブラウザにIPを入れ接続

Login
Language 日本語
Username admin
Password openmediavault

成功
以降はWebUIで全て設定できるので電源落として有線LAN以外全て取り外して電源ON

システム

一般設定

Nginxのwebサーバを80番ポートにしたいので管理画面は8080番に変更

Web管理

ポート: 80 → 8080
セッションタイムアウト: 5分 → 無効
保存
# エラーが出るが気にしない
右上▼ > ログアウト

再接続

 http://<IPアドレス>:8080
 ユーザー名: admin
 パスワード: openmediavault

Web管理者パスワード

パスワード: 0000
パスワードの確認: 0000
保存
右上▼ > ログアウト

再接続

 http://<IPアドレス>:8080
 ユーザー名: admin
 パスワード: 0000

日付&時刻

タイムゾーン: UTC → Japan または Asia/Tokyo
NTPサーバを使用する: OFF → ON
時刻サーバ: pool.ntp.org → ntp.nict.jp
保存

ネットワーク

一般

ホスト名: raspberrypi → nas
保存

インタフェース

追加 > イーサネット
一般設定
名前: eth0
IPv4 >
メソッド: DHCP
IPv6 >
メソッド: 無効
保存
右上▼ > 再起動

再接続

http://nas.local:8080
ユーザー名: admin
パスワード: 0000

通知

Gmailの場合

有効化: ON
SMTPサーバ: smtp.gmail.com
SMTPポート: 25 → 587
SSL/TSLセキュアコネクションを利用する: ON
送信者のメールアドレス: 自分のGmailアドレス
認証の要求: ON
ユーザ名: 自分のGmailアドレス
パスワード: 自分のGmailのパスワード(二段階認証の場合はアプリパスワードを使用)
プライマリメール: 自分のGmailアドレス
保存

電源管理

モニタリング: OFF → ON
保存

証明書

SSH

追加 > 作成
Create SSH certificate コメント: key

アップデート管理

設定

プレリリースされたアップデート: ON
コミュニティーによるメンテナンスアップデート: ON
保存

アップデート

チェック
全て✔
アップグレード

OMV-Extras

プラグイン設定前にやっておかないとプラグインインストールでエラーが出まくる

アップデート > update
アップデート > omv-update
アップデート > upgrade
アップデート > dist-upgrade
アップデート > apt clean
バックポート > バックポートを有効化

プラグイン

大量に入れてみたらメモリ使用率が60%を超えてしまった
選別することにする
チェックで更新
チェック✔してインストール

インストール

Administration
    openmediavault-shellinabox 3.4
Backup
    openmediavault-backup 4.0.4
    openmediavault-borgbackup 4.0
    openmediavault-duplicati 4.0
    openmediavault-rsnapshot 4.2.1
    openmediavault-urbackup-server 3.1
    openmediavault-usbbackup 4.0.7-1
Downloaders
    openmediavault-downloader 3.6.2
    openmediavault-transmissionbt 4.0
Filesystems
    openmediavault-aoe 4.0.1
    openmediavault-remotemount 4.0.5
    openmediavault-snapraid 3.7.3
    openmediavault-symlinks 3.1.4
    openmediavault-webdav 4.0
Monitoring
    openmediavault-diskstats 4.0.2-1
Multimedia
    openmediavault-forkeddaapd 4.0.7-1
    openmediavault-minidlna 3.3.11
Network
    openmediavault-ldap 4.0.6-1
    openmediavault-nginx 4.0.3
    openmediavault-pxe 3.12
    openmediavault-sftp 3.1.6
    openmediavault-snmp 4.0.4-1
Remote
    openmediavault-openvpn 4.0.1
Sharing
    openmediavault-tftp 4.0.4-1
Utilities
    openmediavault-anacron 3.0
    openmediavault-apttool 3.5
    openmediavault-autoshutdown 4.0.3
    openmediavault-letsencrypt 3.4.5
    openmediavault-locate 3.4
    openmediavault-resetperms 3.3
    openmediavault-wol 3.4.1

インストールできるが入れない

Filesystems
    openmediavault-luksencryption 3.0.3
    openmediavault-lvm2 4.0.7-1
    openmediavault-unionfilesystems 4.0.2
Network
    openmediavault-dnsmasq 3.1.5 手動インストールするため必要なし
    openmediavault-route 4.0.4-1 手動インストールするため必要なし
    openmediavault-mysql 4.1.1 なんか挙動が変 やめたほうが無難
Utilities
    openmediavault-clamav 4.1.7-1 メモリ使用量が多い
    openmediavault-cups 3.1.2
    openmediavault-domoticz 3.1
    openmediavault-nut 4.0.13-1

インストール失敗

openmediavault-shairport 4.0.7-1
openmediavault-remotedesktop 4.0.1

ストレージ

ファイルシステム

/dev/mmcblk0p* はMicroSD
/dev/sd* はUSBストレージ

ドキュメントでは、MicroSDにデータ使用のための3番目のパーティションが自動で出来ることになっているが無い
都合がいいのでパーティションは切らない=何もしない

ドキュメントでは、USBストレージはfsでフォーマットとあるがext4にする
一度OMVを終了し、別にUbuntuを用意しUSBストレージをGPartedでフォーマット

フラッシュメモリ

SSHを有効後に設定

root@nas:~# nano /etc/fstab

よく分からないのでSWAPだけ設定
↓キーで移動しコメントアウト

#/var/swap none swap sw 0 0

保存: Ctrl + o リターン
終了: Ctrl + x

アクセス権の管理

共有フォルダ

追加

名前: mydata
デバイス: /dev/mmcblk0p3
パス: mydata/
パーミッション: みんな:読み/書き
保存

サービス 抜粋

Apple Filing

設定

有効: OFF → ON
保存

共有 > 追加

有効: ON
共有フォルダ: mydata [on /dev/mmcblk0p3, mydata/]
コメント: 空白
パスワード: 空白
読み込み専用: OFF
ゲストログイン: OFF → ON
ゲストのパーミッション: OFF → ON
TimeMachineサポート: OFF → ON
保存

DLNA

設定

有効: ON
名前: MiniDLNA Server on OpenMediaVault → MiniDLNA
ポート: 8200
Strict DLNA: OFF
TiVoサポート: ON
ルートコンテナ: 標準
ログレベル: エラー
保存

共有 > 追加

共有フォルダ: mydata [on /dev/mmcblk0p3, mydata/]
コンテンツタイプ: すべてのメディア
保存

確認

http://nas.local:8200/

iTunes/DAAP

設定

有効: ON
ライブラリ名: %h - iTunes/DAAP
ポート: 3689
共有フォルダ: なし → mydata [on /dev/mmcblk0p3, mydata/]
認証: OFF
保存

確認(iTunesの場合)

ライブラリをnas - iTunes/DAAP

Nginx

設定

有効: OFF → ON
保存

プール > 追加

名前: www-data
ユーザー: www-data
グループ: www-data
エラーの表示: OFF
HTMLエラー: ON
最大実行時間(s): 30
メモリ上限(MB): 128
最大POSTサイズ(MB): 8
最大アップロードサイズ(MB): 2
最大子プロセス: 5
サービス開始: 2
最小スペアサーバ: 1
最大スペアサーバ: 3
最大リクエスト: 0

サーバ > 追加

有効: ON
ディレクトリ: mydata [on /dev/mmcblk0p3, mydata/]
ルートの使用: ON
公開ディレクトリを使用します: OFF
ホストタイプ: ポート
ポート: 80
デフォルトサーバ: OFF
SSLを有効にする: OFF
PHPを有効にする: ON
PHP-FPMプール: www-data
デフォルトの設定: ON
インデックスの使用: ON
index.html: ON index.php: ON
Autoindex: OFF .htaccess: OFF
ログを有効化: ON → OFF
ヘッダバッファサイズ: 8k

確認

$ sudo nano /srv/dev-disk-by-id-mmc-SU08G_0xd2bc1f42-part3/mydata/index.php
<?php phpinfo(); ?>
http://nas.local

Shell in a box

設定

有効: OFF → ON
Linkify: none
ビープ: OFF
ターミナル設定 > 有効: OFF
保存

確認

https://nas.local:4200
https接続なのでブラウザの例外で許可
nas login: root
pi@nas's password: ******

SMB/CIFS

設定

有効: OFF → ON
ワークグループ: WORKGROUP
説明: %h server
ローカルマスタブラウザ: ON
時刻サーバ: OFF
ホームディレクトリ > 有効: OFF
参照可能: ON
高度な設定 > 追加オプション
write cache size = 524288 を write cache size = 102400
getwd cache = yes を getwd cache = no
保存

共有 > 追加

有効: ON
共有フォルダ: mydata [on /dev/mmcblk0p3, mydata/]
パブリック: ゲストのみ
読み込み専用: OFF
参照可能: ON
ACLを継承: ON
パーミッションを継承: OFF
ごみ箱: OFF
ドットファイルを非表示: ON → OFF
拡張属性: OFF
DOS属性を書き込む: OFF
許可するホスト: (空白)
拒否するホスト: (空白)
監査: OFF
その他オプション: (空白)

確認

エクスプローラで\\nas

SSH

設定

有効: ON
ポート: 22
rootアカウントでのログインの許可: ON
パスワード認証: ON
公開鍵認証: ON
TCP転送: OFF
圧縮: OFF
保存

確認 TeraTermで接続の場合

ホスト: nas.local
TCPポート: 22
<OK>
ユーザ名: root
パスフレーズ: openmediavault

rootのパスワード変更を求められる

Changing password for root. rootのパスワードを変更
(current) UNIX password: openmediavault 現在のUNIXパスワード:
Enter new UNIX password: ****** 簡単なものにすると怒られる
Retype new UNIX password: ****** 同じもの ※以降のroot接続はこのpassなので注意

WebDAV

設定

有効: OFF → ON
共有フォルダ: mydata [on /dev/mmcblk0p3, mydata/]
Filesize upload limit(MiB): 2 → 10000

確認

http://nas.local:8080/webdav
ユーザー名: admin
パスワード: 0000

アクセスポイント化

標準搭載のWiFiをアクセスポイント化してみます

wlan0をDHCPから外す

$ sudo nano /etc/dhcpcd.conf

末尾に追記

denyinterfaces wlan0 

wlan0のIP固定

$ sudo nano /etc/network/interfaces

修正

# The loopback network interface                                                                    
auto lo                                                                                             
iface lo inet loopback                                                                              
                                                                                                    
# eth0 network interface                                                                            
auto eth0                                                                                           
allow-hotplug eth0                                                                                  
iface eth0 inet dhcp                                                                                
iface eth0 inet6 manual                                                                             
    pre-down ip -6 addr flush dev $IFACE

# wlan0 network interface
allow-hotplug wlan0
iface wlan0 inet static
    address 10.0.0.1
    netmask 255.255.255.0
    network 10.0.0.0
    broadcast 10.0.0.255

hostapd

インストール

$ sudo apt-get install hostapd

新規作成

$ sudo nano /etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
ssid=なす
hw_mode=g
channel=11
ieee80211n=1
wmm_enabled=1
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=19191818
rsn_pairwise=CCMP

書き換え

$ sudo nano /etc/default/hostapd
#DAEMON_CONF=""
を
DAEMON_CONF="/etc/hostapd/hostapd.conf"

dnsmasq

インストール

$ sudo apt-get install dnsmasq

新規作成

$ sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
$ sudo nano /etc/dnsmasq.conf
interface=wlan0
listen-address=10.0.0.1
bind-interfaces
server=8.8.8.8
domain-needed
bogus-priv
dhcp-range=10.0.0.50,10.0.0.150,12h

iptables

書き換え

$ sudo nano /etc/sysctl.conf

コメント削除

net.ipv4.ip_forward=1

実行

$ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

新規作成

 $ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 $ sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
 $ sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
 $ sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

書き換え

$ sudo nano /etc/rc.local

exit 0の前に追記

iptables-restore < /etc/iptables.ipv4.nat

再起動

$ sudo reboot

不具合の対処

OpenMediaVaultのシステム > ネットワーク > インタフェースで変更を加えるとinterfacesの記述が変更されてしまう
手動で修正

$ sudo nano /etc/network/interfaces
# The loopback network interface                                                                    
auto lo                                                                                             
iface lo inet loopback                                                                              
                                                                                                    
# eth0 network interface                                                                            
auto eth0                                                                                           
allow-hotplug eth0                                                                                  
iface eth0 inet dhcp                                                                                
iface eth0 inet6 manual                                                                             
    pre-down ip -6 addr flush dev $IFACE

# wlan0 network interface
allow-hotplug wlan0
iface wlan0 inet static
    address 10.0.0.1
    netmask 255.255.255.0
    network 10.0.0.0
    broadcast 10.0.0.255

確認

LANからアクセス

インターフェイス IP ユーザ名 パスワード
Nginx http://nas.local - -
OpenMediaVault http://nas.local:8080 admin 0000
WebDAV http://nas.local:8080/webdav admin 0000
SSH nas.local root ******
Shell in a box https://nas.local:4200 root ******
DLNA http://nas.local:8200 - -
SMB \\nas - -

アクセスポイントからアクセス

SSID パスワード
なす 19191818
インターフェイス IP ユーザ名 パスワード
Nginx http://10.0.0.1 - -
OpenMediaVault http://10.0.0.1:8080 admin 0000
WebDAV http://10.0.0.1:8080/webdav admin 0000
SSH 10.0.0.1 root ******
Shell in a box https://10.0.0.1:4200 root ******
DLNA http://10.0.0.1:8200 - -
SMB \\nas - -

更新履歴

  • 2018.12.12 公開