と言うことで、NASを購入しました!ついに!

NASはもう何年も欲しかったんですが、ついに念願かなったって感じです・・・。

で、今回は初めてのNASと言うことで、2ベイかつエントリー向きのものを選んでいたんですが、
どうやらIntel入ってるモデルがあり、かつ仮想マシンを作ることができるということを聞き、
候補の中からTS-251Dを選択しました。

現在自宅サーバのリプレイスを考えていることもあって、その一部の機能をNASと一緒にもてるとなるとかなり便利になるので、嬉しい誤算でした。

そして、せっかくなので今回はそこで録画サーバを建てれないものかと挑戦してみることに。

ちなみに、すでに同じことをやっている人がいて実績があることを確認済みです。

VirtualizationStation 3 で仮想マシンをセットアップ

まずは、QNAPのOS、QTSのApp Center(アプリストア)からVirtualizationStation 3をインストールします。

起動してみるとこんな感じで、いかにも仮想環境つくれますよっていう見慣れた感じのものが出てきます
※すでに色々やったので仮想マシンがありますが・・・

仮想マシンの作成はこんな感じ。
OSの種類とかバージョンはまあオプションみたいなものでしょう。
CPUはこのNASだとCeleronの2コアなので、2コアしか選べません。
RAMは増設可能で、公式にはMAX8GBですが16GBとか搭載させてる人もいます。
こういう用途で使いたいって人は増設必須でしょう。
とはいえ、CPUがそこまで強くないのであんまりあれですが・・・

HDDの場所は、新しいボリュームを作成してそこに配置しました。
容量はひとまず50GBで。

肝心のOSですが、サクッと慣れている状態でやりたいので、Rocky Linuxを選択しました。
触るのは初めてですがRHEL8ベースなので問題ないはずです。

作成が完了すると、専用のコンソール画面が用意されています。
とりあえずスタートを押して起動してみます。

セットアップについては端折りますが、さすがバグまで互換と言うだけあって、設定は何ら変わりなくできます。

とりあえず、dnf updateしてからSSHと固定IPの設定を済ませます。

Mirakurunのセットアップ

さて、セットアップが完了したらいよいよMirakurunをセットアップしていきます。

あ、事前にカードリーダーは指しておいてパススルーしておきましょう。
PX-S1UDも忘れずに。

まずはDockerのインストールから

Dockerは公式のドキュメントそのままインストール可能でした、CentOS8だと使えないとか色々あったんですが今は問題なさそうです。

docker-composeも同様でした。

PXS1UDを使う場合、ファームウェアを入れる必要もあります。

wget http://plex-net.co.jp/plex/px-s1ud/PX-S1UD_driver_Ver.1.0.1.zip
unzip PX-S1UD_driver_Ver.1.0.1.zip
sudo cp PX-S1UD_driver_Ver.1.0.1/x64/amd64/isdbt_rio.inp /lib/firmware

そこまで完了したら、Mirakurunを入れていきましょう。

sudo dnf install wget

mkdir ~/mirakurun/
cd ~/mirakurun/
wget https://raw.githubusercontent.com/Chinachu/Mirakurun/master/docker/docker-compose.yml
docker-compose pull
docker-compose run --rm -e SETUP=true mirakurun
docker-compose up -d

ここまではすんなり行けました。問題ナスです。

firewalldで設定後、ブラウザからアクセスして表示できること、
私の場合はTVTestを使って視聴できることも確認しました。

NASの領域をCIFSでマウントする

続いて録画したデータの保管先をマウントします。

マウント周りは色々情報を見ているとCIFSでやるのがいいみたい。

まずは必要なものを入れていきます。

sudo dnf install samba-client cifs-utils

終わったら、fstabに設定を記載します。

/etc/fstab

//[NASのIP]/home/server/recorded /mnt/recorded cifs credentials=/home/[ユーザ名]/.samba_credentials,user=[ユーザ名],uid=[ユーザ名],noperm,rw 0 0

マウントするディレクトリとかは適宜修正しておきます。

続いて、認証情報をファイルに書いておきます。

.samba_credentials

username=[NASのユーザ名]
password=[NASのユーザパスワード]
domain=WORKGROUP

記載が終わったら、600にしておきます。

chmod 600 .samba_credentials

あとはマウントの確認をして、問題なければ終了。

ちなみに、私はここで1時間くらいかけましたw
どうにもPermission Deniedになってしまって、色々調べた末この設定方法になりました。

諦めてNFSにしようかなとかも思いましたが、できたのでこれでOKです。

Chinachu γのセットアップ

続いてChinachuを入れていきます。

sudo dnf module install nodejs:10
sudo dnf install git python3 perl-Digest-SHA
sudo dnf group install 'Development Tools'
sudo dnf --enablerepo=powertools install yasm

続いてpm2をsudoで実行するためにパスを通しておきます。
visudoで/usr/local/binを追加しておけばOKでした。

sudo npm install pm2 -g
sudo pm2 startup

これで一通り必要なソフト類が入ります。

あとはWiki通りに進めていけばOKです。

動作チェックまで通れば完璧です!

気づいてしまった・・・

無事動作して、録画できることまで確認したんですがある違和感に気づいてしまいました・・・・

そう・・・・

めっちゃドロップしている

オワタ、死亡、終焉。

と言うことで、無事できたものの使い物にならないという残念な結果に。

タイミングがよくわからないんですが、一気に30~50ドロップすることもあり、全く使い物になりません。
負荷がかかってるとかディスクアクセスが多いときとか、色々考えたんですが必ずしもそうじゃない気もして、
ネットで色々調べたところ仮想環境だとドロップが増えるらしいということ。

だめじゃん!

はい・・・

元々PX-S1UDは環境によってはドロップがひどくなるやつらしいので、その環境であったということですね。

その後もContainerStationを使って構築とかやってみようと思ったんですが、そもそもNASにDVBドライバが入っていなくて、それを追加するのは面倒だということで中止。

仮想環境をUbuntuにするとか、他の方法をもう少しだけ模索してみようと思います。

というわけで、今回はこの辺で。
ではまた。