MoOde Audio NASサーバーにする

MoOde AudioはMusicソースを外部のNASサーバーから利用します。
MoOdeOSはSambaサーバーとしてもデフォルトで稼働しておりNFSサーバーを導入すれば自身NASサーバーとして、またクライアントとしても運用できそうなので試してみました。

当サイトではRaspberry Piでローカルにファイルサーバーを運用しています。
今まではRaspberry PiファイルサーバーをMoOde AudioからNAS Sourceとして利用していました。

今回、MoOde AudioをNASサーバーにするにあたりRaspberry PiサーバーからHDDの引っ越しをします。

nas02うまく収まりました。
HDDの電源専用ケーブルはUSBハブに設けたUSB-Aに接続します。
またCD/DVDとさらにUSB-HDDが増えたため電源アダプタは2Aタイプに交換

NFSサーバーの導入

# apt install nfs-kernel-server

Raspberry Piサーバーと同様にマウントポイントを作成します。

# mkdir /home/hda

/etc/fstabの編集

UUID=c706f9ae-94f9-43dd-a581-8a8adeae5b92 /home/hda ext4 defaults,noatime 0 0

マウント

# mount -a

/etc/exportsの編集

/home/hda 192.168.x.x/24(rw,async,crossmnt,no_root_squash,no_subtree_check)

nfs-kernel-server再スタート

# systemctl restart nfs-kernel-server
# systemctl restart rpcbind

起動時有効に

# systemctl enable nfs-kernel-server
# systemctl enable rpcbind

クライアントから確認

$ showmount -e moode
Export list for moode:
/home/hda            192.168.x.x/24

Raspberry Pi3ディスクトップの/etc/fstab編集、マウント

moode:/home/hda /home/hda        nfs     rw,defaults 0      0

# mount -a

無事マウントできました。
これで今までどおりLAN内の機器もmoodeに振り向けることにより利用できます。

Music Source設定
MoOde PlayerからNAS Sourceとして認識させるためにはSMB/CIFSとNFSがありますがSMB/CIFSはBrowseのNAS自体がsmbで音楽ソースのシンボリックリンクとなっているため利用できません。
NFSの設定でNAS Sourceとして認識させます。

/etc/exportsの編集(追記)

/home/hda/hda4/music 127.0.0.1/32(rw,async,crossmnt,no_root_squash,no_subtree_check)

nas03
Fileshare protocol NFS
IP address 127.0.0.1
として自マシンに向けます
SAVE クリック

nas04
うまく認識できたようです。

UPDATE MPD DBをクリックしてしばらく待ちます

nas05
これまで同様データベースも構築されました

ネットワーク設定
固定IPを設定しているのですが/etc/resolv.confを書き換えてしまいます。
とりあえずresolv.confにnameserverを書いてやると正常に動くので書き換え不可にしました。
有効な外部または内部のアドレスをresolv.confに書いて

# chattr +i /etc/resolv.conf

rootでも編集不可になります。解除するには

# chattr -i /etc/resolv.conf

参考 arch linux dnsmasq

ufwインストール
一応ufwを導入します。

# apt install ufw

ルールは簡単に

# ufw default DENY
# ufw allow from 192.168.x.x/24
# ufw allow from 172.24.1.0/24
# ufw allow 67/udp
# ufw allow 68/udp
# ufw enable

必要があれば追加していきます。

その他
リブートに時間がかかる(未解決)
USB-HDDをマウントしているとリブートを開始するまで2分位かかってしまいます。

# umount -l /home/hda
# umount -l /mnt/NAS/music

上記のように-lオプションで強制的にアンマウント後は正常にリブートします。

cronが動いていない
MoOde Playerは独自のタイマーを持っています。
そのため敢えてcronをdisableにしていると思います。
当然cronをenableにすると動きますがMoOde Player側のタイマーはどっかのタイミングでキャンセルされてしまうことになります。
MoOde Playerの機能を取るか、cronでなんとかするかの選択になると思います。

#以上のように少々問題もありますが当サイトのファイルサーバーはMoOdeOSでの運用になりました。
さすがに大きなファイル転送はMoOde Playerのキャッシュが切れて音声が一瞬途切れてしまいますが通常使用のファイル程度では問題ありません。
やはり音楽の聞こえる範囲内にサーバーがあるといろいろ使い途も増えそうです。