Raspberry Pi オンラインストレージを利用する

Raspberry PiのMoOdeOS(MoOde Player)は音楽サーバーとして十分利用価値があるのですが当サイトとしては常時稼働しているので他にもいろいろと活用してみたいと思います。

今回は無料のオンラインストレージを利用してみました。

現在はmicroSDの価格も下がってあまりメリットは感じられなくなりましたがmicroSDの信頼性やスマホとのやり取りなどまだまだ活用できるところがあります。
Raspberry Piで利用できる方法としてはwebdavに対応したものとなります。

現在登録しているオンラインストレージはCMメールも少ないところだけです。
box 10GB 時々真面目なメールが来ます。
drivee 3GB エックスサーバーで運営しています
teracloud 10GB 記憶は心へ。記録はTeraCLOUDへ。
Yandex.Disk 10GB
CloudME 3GB
HiDrive 5GB
OpenDrive 5GB

上記のストレージはRaspberry Piからwebdavで問題なく接続できます。
上記の3ストレージ(box,drivee,teracloud)は日本に拠点のあるストレージなのでわかりやすく比較的安心と思います。今回はこの3ストレージで試してみます。
MoOdeOSは基本raspbian jessie(lite)なのでraspbianでも同じように動くと思います。

davfs2の設定
まずはdavfs2をインストール

# apt install davfs2

davfs2-00
一般ユーザーでもマウントできるようはいを選択しておきます

piユーザーでマウントするにはグループdavfsに追加
# gpasswd -a pi davfs2
設定ファイルやマウントポイントもpiユーザーのものが必要です

マウントポイントの作成

# mkdir -p /mnt/DAV/box
# mkdir -p /mnt/DAV/drivee
# mkdir -p /mnt/DAV/teracloud

/etc/davfs2/davfs2.confの編集
以下を変更

use_locks       0
if_match_bug    1

/etc/davfs2/secretsの編集
登録した”user_id”と”password”を末尾に追記(driveeのhttps://”user_id”も書き換えること)

# box
https://dav.box.com/dav       "user_id"   "password"
# drivee
https://"user_id".drivee.jp   "user_id"   "password"
# teracloud
https://ise.teracloud.jp/dav  "user_id"   "password"

/etc/fstabの編集(driveeのhttps://”user_id”も書き換えること)

# box
https://dav.box.com/dav /mnt/DAV/box davfs rw,user,noauto 0 0
# drivee
https:/"user_id".drivee.jp /mnt/DAV/drivee  davfs rw,user,noauto 0 0
# teracloud
https://ise.teracloud.jp/dav /mnt/DAV/teracloud davfs rw,user,noauto 0 0

マウントしてみる

# mount -a
# mount /mnt/DAV/box
# mount /mnt/DAV/drivee
# mount /mnt/DAV/teracloud

# df
https://dav.box.com/dav         10G  4.0G  6.1G  40% /mnt/DAV/box
https://"user_id".drivee.jp    1.3T  763G  509G  61% /mnt/DAV/drivee
https://ise.teracloud.jp/dav   1.3T  763G  509G  61% /mnt/DAV/teracloud

アンマウント

# umount /mnt/DAV/teracloud
/sbin/umount.davfs: waiting while mount.davfs (pid 12124) synchronizes the cache .. OK

MoOdeOSはデフォルトでsambaサーバーが動いているのでsambaで共有します。
MoOdeOSの設定ファイルはわかりやすくできているので参考になります。
moode smb.conf
セキュリティは適宜追加書き換えます。
/etc/samba/smb.confの編集 末尾に追記

[BOX]
    comment = Box
    path = /mnt/DAV/box
    read only = No
    guest ok = Yes

[DRIVEE]
    comment = Drivee
    path = /mnt/DAV/drivee
    read only = No
    guest ok = Yes

[TERACLOUD]
    comment = Teracloud
    path = /mnt/DAV/teracloud
    read only = No
    guest ok = Yes

sambaリスタート

# systemctl restart smb
# systemctl restart nmb

sambaはwindows共有というサーバーなのでこれでwindowsからは見えているはずです。(実は確認していない)
ということでディスクトップのRaspberry Pi3(raspbian jessie)で確認します。
davfs2-02
pcmanfmのロケーションバーにsmb://moode/driveeと入力することによりマウントされました

#名前解決が必要です。
ホスト、クライアントとも/etc/hostsに双方のアドレス、ホストネームを書いておけばよいでしょう

でもこれではいちいち入力する必要があります。
もう少しスマートにするためにクライアントにもsambaをインストールします。

# apt install samba

クライアント側は特に設定の必要はありません。
pcmanfmの編集-設定-配置からネットワークをクリックして場所に表示させます。
davfs2-03
ネットワークをクリックするとmoodeのコンピュータアイコンが出現、クリックするとmoodeで許可した共有が一覧で取得できます。
これで自由にマウント、アンマウントできます。
但しMoOdeOS側はマウントされていなければいけません。

MoOdeOS側Piでは手動でマウント、アンマウントするかfstabのnoautoを外して起動時に常時接続にするという方法もありますがそれほど使うわけでもないので常時接続にするのも不安です。

MoOdeOS側でクライアントから要求があった時にマウントを開始するようにautofsを導入しました。

autofsのインストールと設定

# apt install autofs

インストールすると/etc以下に4個の設定ファイルができます。
auto.master
auto.misc
auto.net
auto.smb
新たにauto.davというファイル名で作成します。
/etc/auto.dav

/mnt/DAV/box        -fstype=davfs,rw,user https://dav.box.com/dav
/mnt/DAV/drivee     -fstype=davfs,rw,user https://"user_id".drivee.jp
/mnt/DAV/teracloud  -fstype=davfs,rw,user https://ise.teracloud.jp/dav

/etc/auto.masterの編集
+auto.masterの前に追記
オプションはクライアント側でアンマウントしたら1分後にMoOdeOS側でアンマウント

/-  /etc/auto.dav --timeout=60
+auto.master

autofsリスタート

# systemctl restart autofs

手動でマウントしてあったらアンマウントしておきます。
これでクライアントのpcmanfmから同様に確認してみます。
マウントが確認できて三角のアンマウントボタンをクリック、1分後にターミナルからdfしてみるとMoOde側でもアンマウントが確認できるはずです。

autofsが正常に動作しているならば/etc/fstabのdavfsの設定は基本使用しません。
但し手動でマウントしてターミナルから自マシンのファイルをコピーしたりユーザー権限で新たにマウントポイントを作成することもあることから残しておいても特に問題ないと思います。(noautoで)
davfs2-05
ほかのストレージも設定してみました
マウントに少し時間のかかるところもありますが正常にマウントできました
アンマウントもクリックした順にそれぞれ1分後にアンマウントしています

# cloudme
https://webdav.cloudme.com/"user_id"
# hidrive
https://webdav.hidrive.strato.com
# opendrive
https://webdav.opendrive.com
# yandex
https://webdav.yandex.com

#本来は音楽ソースのストレージの一つとして試したのですがシンボリックリンクを貼ってBrowse画面にも登録できますが肝心の再生とライブラリのデータベース作成が非常に不安定でMoOde Playerから音楽ソースとしての使用は断念しました。