買ったNASがNASとは思えない性能
最初からオタクはオタク用の製品を買うべきだった。
ミュージックサーバーとして一般的なよくあるタイプのNASを使っていたんですが、これがなかなか使いづらい。絞り込みがアルバム名、アーティスト、ジャンルでしかできないのは困る。例えば星野源の「さらしもの (feat. PUNPEE)」という曲は、星野源の「Same Thing」というシングルに収録されてはいますが、タイトルから分かるとおり星野源とPUNPEEの共作です。こうした曲のFLACファイルをタグ編集する場合、普通はアーティストは「星野源, PUNPEE」などとして、それとは別に「アルバムアーティスト」という部分を「星野源」としますよね。で、星野源の曲が聴きたいな、と思ったらアーティストではなくアルバムアーティストを「星野源」で絞り込めばいい。そうすれば「恋」も「さらしもの (feat. PUNPEE)」も聴くことができます。
アルバムアーティストでの絞り込みができない――アーティストでしか絞り込めないということは、楽曲管理ソフト上は「恋」と「さらしもの (feat.PUNPEE)」は別のアーティストの曲と見なされるということなんですよ。m-floの場合はもっと深刻で、基本的に誰かとコラボして曲を作るのがm-floのスタイルなので、アルバム一枚全部別アーティスト扱いになってしまうんです。m-floの曲をシャッフル再生したいなー、と思ってもどうしようもない。そういう状態になってしまうんですね。もちろんアーティストに共作者情報を入れず「星野源」なり「m-flo」なりだけを入れればいいのでしょうが、丁寧にタグ付けした人が馬鹿を見るのは間違ってるでしょ……。
この件についてはさすがに楽曲管理上致命的すぎるので、自分で設定を変えられないか調べてみたり、NASのメーカーに問い合わせたりもしてみたんですが、メーカーには対応する気はさらさらない様子。さすがにミュージックサーバーとしては使い物にならないな、と思ったので、ファイルサーバーとしてNASを欲しがっていた友人に下取りしてもらい、別の製品を買うことにしました。買うに当たっての最重要事項は、カスタマイズができること。これにつきます。そもそもNASに限らず一般的なPC関連製品って、多くの人に使ってもらうことを大前提としてるので、使う人が少なそうな機能は削ってあったり、カスタマイズができなかったりというのがザラですよね。一般的な人は一般的な機能しか使わず、カスタマイズもしないので(ここでの一般的な人とは想像上の生き物です)。でも我らはオタクなので、一般的でない機能も使うしカスタマイズも欲するわけ。ならI-O DATAとかBUFFALOとかの売れ線メーカーの製品なんか買っちゃダメなんですよね。今気づいたわ。
というわけでいろいろ調べた結果、ミュージックサーバーのソフトとしてはTwonky Media Serverというのが一般的だけど、カスタマイズしたいオタクはAsset UPnPというソフトを使うのがいいということ、そしてAsset UPnPを使うならQNAPというメーカーのNASを買うのが定番だということを知りました。最初からここまでちゃんと調べていれば……。まあ済んだことを悔やんでも仕方ないので、QNAPのTS-251Dという製品を注文して、待つこと数日。届いた製品を組み上げて、設定画面を開いてぶったまげました。AppCenterという画面で好きな機能をNASに追加できるみたいなんですが、
なんかおかしくないですかね……。なんでNASにWordPressが入れられるんだ……? 他にもドキュメント管理システムのLogicalDOCや、チャットツールのMattermost、DropboxクローンのOwncloudがインストールできたりと、NASの定義を疑いたくなってきます。果てはこれ。
開発環境になるのか? NASが? そんで他の設定画面も見てみたらこれ。
NASがSQLサーバーになって、Webサーバーにもなって、RADIUSサーバーにもなる……? NASとは……? Network Attach Storageの略だったはずでは……?
極めつきはなんかSSHでコマンドラインから操作もできるらしい。もうサーバーじゃん。なにがNASだ。
ということでね、NASだと思って買った製品が実はサーバーだったわけですが、オタク的には嬉しい誤算ですよね。機能が増えるわけですから。機能は多ければ多いほど強いので。ローカルエリア内にサーバーができるとなると、いろいろとやれることが広がっていいですね。
NASに死活監視をさせてみた。
そういえばちょうどこの間、ブルーレイレコーダーのコンセントが抜けていて録画に失敗していた、というインシデントがありました。サーバーを使えば同じ事態を防ぐことができそうですね。ブルーレイレコーダーに定期的にpingを飛ばして、失敗したらメールを送るスクリプトを書けばよさそう。
というわけでSSHでサーバーにログインして、まずはmailコマンドを叩いてみます。
-sh: mail: command not found
おや……mailxが入っていないようですね。インストールしなきゃいけないか。となるとLinuxのディストリビューションを確認しないといけないですね。普段使ってるのがCent OSなので、同じRHEL系だといいな。
[~] # cat /proc/version
Linux version 4.14.24-qnap (root@U16BuildServer114) (gcc version 4.9.2 (toolchain config: [gcc-4.9.2 binutils-2.25 glibc-2.21])) #1 SMP Thu Jan 7 07:12:56 CST 2021
……ははあ。見たことないパターンだな。というか堂々と qnap
って書いてあるし、自前のOSですね。これはちょっと好き勝手に何かをインストールするのは厳しいか。あるものでどうにかしましょう。
幸いにしてssmtpは使えるっぽかったので、QNAPのフォーラムも参考にしながら設定を進めます。フォーラムによると、ssmtpの設定ファイルは /mnt/HDA_ROOT/.config/ssmtp/
に置けばいいらしい。なのでデフォルトのconfファイルをコピーしましょう。
cp /etc/default_config/ssmtp/ssmtp.conf /mnt/HDA_ROOT/.config/ssmtp/ssmtp.conf
そんでもって /mnt/HDA_ROOT/.config/ssmtp/ssmtp.conf
を編集します。ちなみに僕はどちらかというとvim派です。
mailhub=hoge.fuga.com:999
AuthUser=piyopiyo
AuthPass=nyaonyao
AuthMethod=LOGIN
FromLineOverride=YES
UseTLS=YES
UseSTARTTLS=YES
ローカルエリアのサーバーなので、外部のSMTPサーバーを使用します。mailhub
にはSMTPサーバーのアドレスとポート番号、AuthUser
と AuthPass
にはユーザー名とパスワードをそれぞれ入れましょう。これで保存して、試しにsendmail
コマンドを実行してみると、
mailhub=hoge.fuga.com:999
AuthUser=piyopiyo
AuthMethod=LOGIN
FromLineOverride=YES
UseTLS=YES
UseSTARTTLS=YES
enAuthPass = hugyaaaaaaaaaaaa
と、AuthPass
が enAuthPass
に変わります。enAuthPassってなんだ。ググっても情報が出てこなかったんですが、たぶんパスワードを暗号化したものだと思います。encryptの略なのでは。まあとりあえずSMTPサーバーに接続はできたのでよし。
次に、pingに失敗した時のメールを用意しましょう。どこでもいいんですが、例えばroot直下に alertmail.txt
というファイルを作成します[1]実際はroot直下にファイルは置かない方がいいです。ディレクトリを作って、その中に置きましょう。。
To: hoge@fuga.com
From: server@fuga.com
Subject: ALERT: DMR-4CS201 may be Down.
Failed to ping 192.168.0.8, which is Blu-ray Recorder DMR-4CS201. It may be down.
なんかvimでUTF-8が扱えなかったので英文になった。文法あってるかは知らん。Toはアラートメールの送信先、Fromは実際何でも構わないと思います。
あとは適当にシェルスクリプトを書いていきます。
#!/bin/sh
ipaddr=192.168.0.8
if ! ping ${ipaddr} -c 1 &> /dev/null
then sendmail -t < /root/alertmail.txt
fi
pingに失敗したら、事前に用意しておいたアラートメールを送信するだけのスクリプト。これをcronで毎日回せばOK。常時起動しているサーバーだからこそできる技ですね。自室にサーバーがあるって、便利だなあ……。
脚注
1 | 実際はroot直下にファイルは置かない方がいいです。ディレクトリを作って、その中に置きましょう。 |
---|