仮想化したサーバー上で録画サーバーを作りたい

By: kyori
Posted: March 04, 2021

サーバーに仮想化基盤を入れた状態でチューナーカードをパススルーして録画サーバーにしたいというお話。色々あったけどHyper-V編の失敗を経てESXi編に落ち着いています。

Hyper-V Serverを使いたかった(失敗編)

ネットワークと格闘1時間

Hyper-V上のVMとホストマシンの双方からインターネットに出られるように設定する過程でネットワークをぶっ壊す事件があった。

Hyper-Vの仮想スイッチで「外部」モードに設定したらホストマシン側にIPアドレスが降ってこなくなり、一度クリーンインストール。

「内部」モードにしてネットワーク共有する術を探すもコントロールパネル等々必要なものが封印されているHyper-V Serverでは設定不可能で死亡。

もう一度「外部」にしたらやっぱり壊れて、めちゃくちゃググった。調べる限りは間違ったことはしていないので壊れるはずがないなと思いながら手元のデバイスのIPアドレスを確認していたところ、衝撃の事実が判明した。

> IPアドレス被ってる <

もう1回クリーンインストールしてちゃんと設定し直しました。

Windows Admin Centerが面白かった

壊れたネットワークの検証のためにAdmin Centerをインストールしてみたらサーバーのメトリクスやらデバイス一覧やらいろんなものが見れて楽しかったという話。

An image from Notion

PowerShellくらいは使えるかなと思ったけどブラウザから直接RDPできたのはビビった。

他に制約がなければHyper-V Server採用してAdmin Centerで管理がなかなか楽しそうだと思うので2台目の鯖機(まだ鯖いるの?)が来たら使うと思います。

DDA(PCIパススルー)ができない

PX-W3PE5に載っているUSB - PCI-E変換チップがDDAに対応していないタイプのデバイスだったっぽい。

パススルーできるデバイスとして表示されなかった(なんならUSB ControllerのLocation Pathすら見つけられなかった)ので悲しみの舞

GPUのパススルーしてる例は多数見られるのでたぶんそういうデバイスでは使えるんでしょうね…

これが出来ないと今回はお話にならないのでHyper-V Serverはクビになりました。

ESXiならいけるやろ

なんでRealtek NIC使えないねん

ESXiそのままだとRealtek NIC使えない ← なんで?

でもisoカスタマイズで対応できる ← えらい

ESXi 7.0だとダメ ← なんなん?

7.0だとダメって情報結構あったんだけどんなわけあるかいっつってめっちゃ格闘してた。 isoのビルドに結構時間かかるからめっちゃ浪費したね。

結局ESXi 6.7で動かすことになりました。iso作ってインストールしたら結構スムーズに通ったのでとりあえず良し。7.0対応のドライバーが出たらアプデします。

本題のパススルーはどうなの?

PX-W3PE5は普通にUSBデバイスとして認識されてました。ESXiなら余計なコマンドとかもなしにUSBパススルーできます。つよい。

An image from Notion

ちなみに、カードリーダーはデフォルトだとログインに使える?みたいな関係でESXiホスト側が専有するのでパススルーができません。 設定パラメータに usb.generic.allowCCID = "TRUE" 追加で解決。

An image from Notion

QSVが使えなさそうなのが悲しい

せっかく10世代CPU買ったんだからQSVでハードウェアエンコードしたいなぁと思っていろいろやってみた。

"Dockerで動く" "Alpineの" "QSV対応" ffmpegを頑張って用意するところまでやって、Intel HD GraphicsをPCI-E Passthroughしなきゃいけないことを知りました。

Ubuntuでの内蔵グラフィックスのパススルーはまともに動かないそうなのでやってみた(?)んだけど、たしかに起動すらしなくなるっていう結論になりました。

試行錯誤してる人は居るけど成功例は出ていなさそう…です。

でもQSVなくてもエンコードめっちゃ早いしCPUリソースもめっちゃ余ってるのでとりあえずいいんです、これで…(涙目)。

ちなみに涙目は花粉のせいです

さいごに

もしまともにパススルーができなくてもマシンに直接Ubuntu Server入れれば動くやろっていう安心感があったのでいろんなことを試せたという感じがある。

録画サーバー安定させたら他の用途でも使いたいししばらくはESXiで使うと思うけど、KVMならIntel HD GraphicsのPassthroughもできるとかいう話があったのでもしかしたらいつの間にかKVMになってるかもしれん。

サーバー物理構成編・録画サーバー構築編はまた別記事で。

ではでは。