QNAP NAS TS-253DとPT3で録画鯖をサクッと作る(システム編)

概要というか作業の流れ

物理編はこちら
TS253-Dにメモリを増設し、PT3を刺して認識できたところまで実施。
ここらはNAS上でVMを作成し、録画環境を構築、同じNWのwindowsからリアルタイム視聴ができるようにする。
具体的にはVM上でDockerを起動してPT3周りの環境を走らせる感じ。
TS253-DからDockerを走らせることもできるようだが、PCIパススルー等の関係や私がDocker初体験のためVMをかます。

また基本的に
「NASへSSH接続」はNAS機器へのadminログイン
「VMへ接続」や「VMで」はPCからVMへ作成したrootでログイン
コマンド欄の$はVMでの操作、#はNASでの操作を表している。

VMの作成/セットアップ

VM(Ubuntu Server 20.04.1 LTS)のイメージ準備

VM作成に使用するイメージをダウンロードする。
今回使用するのはUbuntu Server 20.04.1 LTS。
ubuntuのサイトから当該イメージをダウンロードし、NAS上の適当なフォルダに保存する。
VMのイメージはNAS上のフォルダから読み込むため共有フォルダとかに置いたほうがいいかもしれない。

VMの作成

NASのブラウザにアクセスし、VM作成アプリをインストールする。
AppCenter→「virtualization station」で検索→「Virtualization Station」をインストール
インストールしたVirtualization Stationを開き、右上のVMの作成からVMを作成する。
OSの種類はLinux、バージョンに今回入れるイメージがなかったので適当にUbuntu18.04を選択、メモリは適当に10GBにしておいた。
その他は適当に入力しCDイメージにダウンロードしたイメージを選択しOKでVMを作成。
VMの作成内容等は割愛、適当に作成。

キーボード設定

おま環かもだがキーボード入力がおかしくて:が入力できずvimで編集すらできなかったのでキーボード設定を編集。
最初から普通ならここは不要。

一度VMを終了し、ブラウザからVirtualization Stationにアクセス。
左VMリストから対象VMを選択、設定タブからコンソール操作を選択する。
キーボードレイアウトの項目があるので「Japanese」を選択し適用を実施する。

これで治ればOK。
治らないようなら適当にグーグルで検索して直す。
ここを直せばVM起因でのキーボード異常はなくなるので、通常のキーボードレイアウト設定等を直せば問題ないはず。

SSH設定

おま環かもだがSSHできなくて色々遠回りしたのでSSH接続に必要そうな設定を実施。
最初からSSH接続できるならここは不要。

ubuntuの仕様なのかわからないがifconfigが使用できないのでifconfigをインストールしておく。

$sudo apt-get install net-tools

IPを確認し想定したIPアドレス帯になっているか確認する。

必要とするNW帯のIPアドレスになっていない場合、仮想スイッチがおかしい可能性がある。
ブラウザから「ネットワークと仮想スイッチ」で使用している仮想スイッチを選択し設定から望むNW設定になっているか確認する。
もしなっていないなら
ネットワークと仮想スイッチ→仮想スイッチ→設定
からNWを設定する。
この際物理アダプターと仮想アダプターは両方チェックし、仮想スイッチIPアドレスはNASのIPを静的IPで設定しておく。
多分NATとDHCPサーバは不要。

次にVMでIPを上記で設定したNW帯で固定化しておく。
あと念のためSSHのサーバが起動しているか確認する。
これでSSH接続はできるようになるはず。

NASマウント設定

VMはイメージで保存されているようでVM内のデイレクトリにファイルを保存されても外部からはアクセスができない。
このため録画ファイルを保存する用に、videoフォルダなど共有フォルダを適用に作りマウントを行う。
またマウント確認のため適当なファイルを置いておく。

まずVMから/mnt/videoにマウントするように設定する。

$sudo vim /etc/fstab

下記内容を追記する。
いまいち細かい文法は理解していないが導入するdockerがrootで動くらしく、権限等の問題でなんとなくuidとgidはrootにしてあるがもしかしたら不要かも。

//NASのIP/video /mnt/video cifs username="NASのアカウント名",password="NASアカウントのパスワード",uid=0,gid=0,file_mode=0755,dir_mode=0755 0 0

再起動し自動マウントが機能しているか確認する。

$sudo reboot
$ls /mnt/video/

先ほど入れた適当なファイルが表示されていればマウントの設定は完了。

パススルー設定

VMからPCIE機器(PT3)やUSB機器(カードリーダ)がうまく認識できないので認識できるようにする。
まずVMのUUIDを確認する。
ブラウザからVirtualization Stationにアクセス。
左VMリストから対象VMを選択、情報タブから一般のUUIDを確認する。

NASの設定を変えるためにNASへSSH接続する。

#/QVS/usr/bin/virsh edit 確認したuuid

<device>の中に下記を追記。
一番下に</device>があるからその上に書くと楽。

<hostdev mode='subsystem' type='pci' managed='yes'>
 <source>
  <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
 </source>
</hostdev>

domain、bus、slot、functionは物理編で確認したlspciの値で0000:01:00.0の場合は
0000がdomain、:01がbus、:00がslot、.0がfunctionとなっているので適宜合わせる。

またこの方法だとファームウェアのアップデートで記載が消えてしまい、VMからPT3が認識できなくなるらしい。
シェルスクリプトで対処できるらしいが面倒なのでやっていない。
もしやるなら最後の参考URLを参照。

次にUSBをVMに認識させる。
ブラウザからVirtualization Stationにアクセス。
左VMリストから対象VMを選択、情報タブからUSBのデバイス接続横のマークを押してUSBデバイス接続を開く。
対象のカードリーダデバイスにチェックを入れてOK。

VMに入りPCIおよびUSBパススルーが成功しているか確認する。
各々のコマンドで下記のような表記があれば認識成功。
ただしカードリーダは使っているものによって異なるはず。

$lspci
00:08.0 Multimedia controller: Altera Corporation Device 4c15 (rev 01)

$lsusb
Bus 001 Device 003: ID 04e6:511a SCM Microsystems, Inc. SCR3310-NTTCom USB SmartCard Reader

これでシステム的な設定および機器の認識は終わり。
dockerやmirakurun、tvtestなどのソフト編へ続く。

参考にしたサイト/URL

NASマウント
http://wizqro.net/qnap-nas%E3%82%92ubuntu%E3%81%A8debian%E3%81%8B%E3%82%89%E3%83%9E%E3%82%A6%E3%83%B3%E3%83%88%E3%81%99%E3%82%8B/
https://red-full-moon.com/automount-to-nas-on-linux/

パススルー設定
https://qiita.com/tadakado/items/a9ce5ef2137d13ea02d7
https://www.belbel.or.jp/opensuse-manuals_ja/cha-libvirt-config-virsh.html

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です