minidlnaでnfsマウントを使わない100のことの話 こともない
100ってそんなにありませんが…
DLNAサービスであるminidlnaですが、メディアをNFSサーバからNFSマウントして使わない方が良い理由をまとめておきます。
結論から書きますと、なぜか問題は解消されています。
差から考えると、特権モードですね。
これによりNFSでのinode抽出が出来るのでしょうか?(要調査:ネタ記事追加)
何!NFSだとinotifyが動かないだ、と、の話
この記事も修正ですね;;
捨て記事ですが、minidlnaのコンソールでの確認方法とかtipsがあればと思い残しておきます
1.NFSで自動ファイル増減が判断できない こともない
/ # minidlnad -d
[2021/08/22 00:14:23] minidlna.c:529: debug: Using locale dir ‘/usr/share/locale’ and locale langauge C/C.UTF-8
[2021/08/22 00:14:23] minidlna.c:1124: warn: Starting MiniDLNA version 1.3.0.
[2021/08/22 00:14:23] minidlna.c:138: error: bind(http): Address in use
[2021/08/22 00:14:23] minidlna.c:1192: fatal: Failed to open socket for HTTP. EXITING
[2021/08/22 00:14:23] monitor.c:184: debug: Add watch to /mnt/nfs
[2021/08/22 00:14:23] monitor.c:155: info: Added watch to /mnt/nfs [1]
[2021/08/22 00:14:23] monitor.c:191: debug: Add watch to /mnt/nfs
[2021/08/22 00:14:23] monitor.c:155: info: Added watch to /mnt/nfs [1]
[2021/08/22 00:14:23] monitor.c:191: debug: Add watch to /mnt/nfs/movie
ファイルをSSHにて転送…
scp … 略!
デバッグモードで状況を確認
/ # minidlnad -d
[2021/08/22 00:15:37] minidlna.c:529: debug: Using locale dir ‘/usr/share/locale’ and locale langauge C/C.UTF-8
[2021/08/22 00:15:37] minidlna.c:1124: warn: Starting MiniDLNA version 1.3.0.
[2021/08/22 00:15:37] minidlna.c:138: error: bind(http): Address in use
[2021/08/22 00:15:37] minidlna.c:1192: fatal: Failed to open socket for HTTP. EXITING
メディア数 97件?増えている?
/ # curl http://localhost:8200
<HTML><HEAD><TITLE>MiniDLNA 1.3.0</TITLE></HEAD><BODY><div style=”text-align: center”><h2>MiniDLNA status</h2></div><h3>Media library</h3><table border=1 cellpadding=10><tr><td>Audio files</td><td>0</td></tr><tr><td>Video files</td><td>97</td></tr><tr><td>Image files</td><td>0</td></tr></table></BODY></HTML>
VLCでもコンテンツは確認…
減らしてみる rm
/ # curl http://localhost:8200
<HTML><HEAD><TITLE>MiniDLNA 1.3.0</TITLE></HEAD><BODY><div style=”text-align: center”><h2>MiniDLNA status</h2></div><h3>Media library</h3><table border=1 cellpadding=10><tr><td>Audio files</td><td>0</td></tr><tr><td>Video files</td><td>96</td></tr><tr><td>Image files</td><td>0</td></tr></table></BODY></HTML>
減るよぉ〜
なぜだぁ〜!
1.コンテンツリフレッシュすると戻れない こともない
/ # curl http://localhost:8200
<HTML><HEAD><TITLE>MiniDLNA 1.3.0</TITLE></HEAD><BODY><div style=”text-align: center”><h2>MiniDLNA status</h2></div><h3>Media library</h3><table border=1 cellpadding=10><tr><td>Audio files</td><td>0</td></tr><tr><td>Video files</td><td>96</td></tr><tr><td>Image files</td><td>0</td></tr></table></BODY></HTML>
コンテンツリフレッシュ
/ # minidlnad -R
/ # curl http://localhost:8200
<HTML><HEAD><TITLE>MiniDLNA 1.3.0</TITLE></HEAD><BODY><div style=”text-align: center”><h2>MiniDLNA status</h2></div><h3>Media library</h3><table border=1 cellpadding=10><tr><td>Audio files</td><td>0</td></tr><tr><td>Video files</td><td>96</td></tr><tr><td>Image files</td><td>0</td></tr></table></BODY></HTML>
変化がなし?
-Rコマンド実行後にでバグモードに入ると…
/ # minidlnad -d
[2021/08/22 00:06:17] minidlna.c:529: debug: Using locale dir ‘/usr/share/locale’ and locale langauge C/C.UTF-8
[2021/08/22 00:06:17] minidlna.c:1124: warn: Starting MiniDLNA version 1.3.0.
[2021/08/22 00:06:17] minidlna.c:395: warn: Creating new database at /minidlna/cache/files.db
[2021/08/22 00:06:17] minidlna.c:138: error: bind(http): Address in use
[2021/08/22 00:06:17] minidlna.c:1192: fatal: Failed to open socket for HTTP. EXITING
/ # [2021/08/22 00:06:17] scanner.c:731: warn: Scanning /mnt/nfs
[2021/08/22 00:06:17] scanner.c:731: info: Scanning /mnt/nfs/movie
…
[2021/08/22 00:06:22] metadata.c:835: debug: Container: ‘mov,mp4,m4a,3gp,3g2,mj2’ [HK/変態仮面 アブノーマル・クライシス.m4v]
[2021/08/22 00:06:22] metadata.c:1262: debug: Stream 0 of HK/変態仮面 アブノーマル・クライシス.m4v is h.264
…
[2021/08/22 00:06:50] scanner.c:820: warn: Scanning /mnt/nfs finished (96 files)!
[2021/08/22 00:06:50] playlist.c:135: warn: Parsing playlists…
[2021/08/22 00:06:50] playlist.c:269: warn: Finished parsing playlists.
[2021/08/22 00:06:50] scanner.c:939: debug: Initial file scan completed
動いているな…
1.サービスを再起動するとメディア数がリセットされるまま こともない
/ # curl http://localhost:8200
<HTML><HEAD><TITLE>MiniDLNA 1.3.0</TITLE></HEAD><BODY><div style=”text-align: center”><h2>MiniDLNA status</h2></div><h3>Media library</h3><table border=1 cellpadding=10><tr><td>Audio files</td><td>0</td></tr><tr><td>Video files</td><td>96</td></tr><tr><td>Image files</td><td>0</td></tr></table></BODY></HTML>
/ # service minidlna restart
* WARNING: minidlna is already starting
コンテンツ数96件の変更なし
/ # curl http://localhost:8200
<HTML><HEAD><TITLE>MiniDLNA 1.3.0</TITLE></HEAD><BODY><div style=”text-align: center”><h2>MiniDLNA status</h2></div><h3>Media library</h3><table border=1 cellpadding=10><tr><td>Audio files</td><td>0</td></tr><tr><td>Video files</td><td>96</td></tr><tr><td>Image files</td><td>0</td></tr></table></BODY></HTML>
変化しない…だ…と?
1.OS起動時にメディア件数は変わらない こともない
Dockerやvmの場合はあまり再起動させないかと思いますが、再起動するとカウントが変わりません
再起動前に100件あっても、100件になります
検証
初期状態の確認
メディア数がは96件です。
HTML結果は編集しています。
/ # curl http://localhost:8200
<HTML><HEAD><TITLE>MiniDLNA 1.3.0</TITLE></HEAD><BODY><div style=”text-align: center”><h2>MiniDLNA status</h2></div><h3>Media library</h3><table border=1 cellpadding=10><tr><td>Audio files</td><td>0</td></tr><tr><td>Video files</td><td>96</td></tr><tr><td>Image files</td><td>0</td></tr></table></BODY></HTML>
再起動を実施
/ # reboot
… コンテナが死ぬので、ContainerStationで起動を押下
端末から動作を確認
/ # curl http://localhost:8200
<HTML><HEAD><TITLE>MiniDLNA 1.3.0</TITLE></HEAD><BODY><div style=”text-align: center”><h2>MiniDLNA status</h2></div><h3>Media library</h3><table border=1 cellpadding=10><tr><td>Audio files</td><td>0</td></tr><tr><td>Video files</td><td>96</td></tr><tr><td>Image files</td><td>0</td></tr></table></BODY></HTML>
変化がない…
検証環境の構築メモ
サーバ : QNAP TS-351
サービス : ContainerStation
image:vladgh/minidlna:latest
アイテム | 値 |
名称 | minidlna-test |
エントリーポイント | /sbin/tini — /entrypoint.sh |
自動起動 | Disable |
CPU | 100 % |
メモリー制限 | 15906 MB |
環境 | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
MINIDLNA_FRIENDLY_NAME=movie | |
MINIDLNA_MEDIA_DIR=/mnt/nfs | |
ネットワークモード | Bridge(DHCP を使用する) |
ユーザーインターフェイス | Adapter 1 (Virtual Switch 5) |
ホストパス | マウントポイント |
---|---|
/movie/movie | /mnt/nfs/movie 読み取り専用 |
これにて検証
IP : 192.168.1.96
/ # ip a | grep 192
inet 192.168.1.96/24 brd 192.168.1.255 scope global eth0
参考 : DLNAサーバを構築する