録画鯖として Proxmox 上に Ubuntu 22.04 を構築し PVE に USB カードリーダー, RTX2060 Super をパススルーで VM から使えるようにして構築しています。
録画用 Disk は さすがに Cpeh に置けないので Proxmox に 4TB のあまり物を設置し direct attach するという脳筋で対応してます。(今のところ不具合なし)
使用機材 ¶
Key | Value |
---|---|
CPU | Intel Core i7-8700 3.20GHz (C6/12T) |
Memory | 32GB PC4-19200 (16GBx2) |
GPU | ELSA GeForce RTX 2060 Super S.A.C |
Disk OS | INTEL SSDPEKKW512G8 |
Disk REC | HGST HDS724040ALE640 |
USB Card Reader | SCR3310/v2.0 |
Tunner | Digital Devices Max M4 |
メンテナンスで解消したい点 ¶
弊宅の録画鯖は NVEnc で高速エンコードすることで 1時間分の録画が 6GB -> 716MB と生データの 11% で保存できるようにしている。 これには FFmpeg の NVEnc で HEVC(H.265) でハードウェアエンコードすることで実現しているが Mirakurun, EPGStation の環境を Docker で構築していることもあり EPGStation のコンテナ内から NVEnc にアクセスできなくなることがしばしばある。これを解消したい。
実際には事象が発生した時に EPGStation のコンテナを stop
, start
すれば回復する所を見るに Ubuntu に組み込まれてる Package update で runtime のシンボリックリンクが切れてアクセスできなくなっているのではないかと思うが、頻度を観測できてないため監視を組む所を目標にする。
監視の方法 ¶
ここは弊宅は一般家庭のため Zabbix を愛用している(一部 New Relic)のでこれで監視できれば宅内 MGMT には Zabbix-proxy がいるので クラウド<->宅内
の接続が切れても安心である。
Zabbix agent2 にはテンプレートが用意されているようで docker compose の Health を拾えそうなためこれを利用する。
docker compose には下記を追加healthcheck.test
の箇所は nvidia-smi
を実行した時に表示される id
を指定して Docker に mount されている GPU を確認するように変更しているので各自環境に合わせてほしい。
|
|
Zabbix ユーザーで Docker.sock が操作できないとだめなので適宣 zabbix ユーザーを docker グループに追加する sudo usermod -aG docker $USER
これで、Healthcheck が落ちると Zabbix で検知できるのでタイミングを見て再起動すれば良い