はじめに
ESXi6.5で録画サーバを作ったので情報をまとめました。
ESX6からHostClientが導入された事でOSXユーザでも苦もなくESXiが操作できるようになりました。Windowsが不要になったのは良いですね。
前提条件
- ESXi6.5をインストール済み
- VT-D対応の基盤を組んでいる
- PT3も設置済み
ESXiの設定
VT-Dを有効化する
対応CPUと対応マザーボードを利用していれば、UEFIで設定ができる。
自分が利用している ASUS H87PROなら、アドバンスドメニューのシステムエージェント設定の中に、VT-DのOFF/ON設定があるのでONにする。
ESXi6.5でパススルー設定を行う。
VT-Dを有効にしないと、VMware Host Clientからパススルー設定ができない。
具体的には下記のようにHostClientからみると、VT-Dを無効化した状態では画面のようにパススルー設定が「不可」となり行えない。

不可と表示されて、愕然としている人はまずVMwareのドキュメントセンターやKBを見る前にVT-D対応の基盤を組んでいるか確認しましょう。
チェックを押して、パススルーの切り替えをおした後に、設定反映のためにESXiホストを再起動する。
参考情報
パススルー設定をいれると、esx.confには下記のように設定が入るようだ。
# grep "00000:007:00.0" /etc/vmware/esx.conf
/device/00000:007:00.0/owner = "passthru"
/device/00000:007:00.0/device = "4c15"
/device/00000:007:00.0/vendor = "1172"
passthru.mapには変更は見受けられなかった。
[root@localhost:/etc/vmware] cat passthru.map
# passthrough attributes for devices
# file format: vendor-id device-id resetMethod fptShareable
# vendor/device id: xxxx (in hex) (ffff can be used for wildchar match)
# reset methods: flr, d3d0, link, bridge, default
# fptShareable: true/default, false
# Intel 82579LM Gig NIC can be reset with d3d0
8086 1502 d3d0 default
# Intel 82598 10Gig cards can be reset with d3d0
8086 10b6 d3d0 default
8086 10c6 d3d0 default
8086 10c7 d3d0 default
8086 10c8 d3d0 default
8086 10dd d3d0 default
# Broadcom 57710/57711/57712 10Gig cards are not shareable
14e4 164e default false
14e4 164f default false
14e4 1650 default false
14e4 1662 link false
# Qlogic 8Gb FC card can not be shared
1077 2532 default false
# QLogic QL45604 cards need to be reset with "link" and cannot be shared
1077 1634 link false
1077 1629 link false
1077 1636 link false
1077 1656 link false
1077 1644 link false
1077 1654 link false
# LSILogic 1068 based SAS controllers
1000 0056 d3d0 default
1000 0058 d3d0 default
# NVIDIA
10de ffff bridge false
PT3とUSBカードリーダーの設定
仮想マシン作成時にPT3とUSBカードリーダーを追加してあげれば認識する。

PT3用サーバを作成する。
今回はyokiさんのサイトの記事に従い、Mirakurun/chinachuΓを導入した。
本当にこのサイトは情報がまとまっていて助かります。
- 録画サーバ構築の前準備(Ubuntu・Debian編)、Chinachu・epgrec UNA対応
- Mirakurunのインストール手順(Ubuntu・Debian・CentOS)
- Chinachu γ(ガンマ) インストール手順(Ubuntu・Debian編)
- MPEG2-TS用のFFmpeg H.264エンコードスクリプトを作りました
mirakurun 補足
自動起動しないので、自動起動するように仕込むか、起動時に下記コマンドを実行する。
手動
$ sudo mirakurun start
$ sudo mirakurun status
自動
[Unit]
Description=mirakurun
[Service]
Type=simple
ExecStart=/usr/local/bin/mirakurun start
ExecStop=/usr/local/bin/mirakurun stop
ExecReload=/usr/local/bin/mirakurun restart
User=root
[Install]
WantedBy=multi-user.target
# systemctl enable mirakurun.service
# systemctl start mirakurun.service
root@otosuke:/etc/systemd/system# systemctl status mirakurun.service
● mirakurun.service - mirakurun
Loaded: loaded (/etc/systemd/system/mirakurun.service; enabled; vendor preset: enabled)
Active: inactive (dead) since 土 2017-04-01 10:34:36 JST; 1s ago
Process: 4832 ExecStop=/usr/local/bin/mirakurun stop (code=exited, status=0/SUCCESS)
Process: 4782 ExecStart=/usr/local/bin/mirakurun start (code=exited, status=0/SUCCESS)
Main PID: 4782 (code=exited, status=0/SUCCESS)
4月 01 10:34:35 otosuke mirakurun[4782]: │ mirakurun-server │ 0 │ fork │ 4821 │ online │ 0 │ 0s │ 0% │ 22.0 MB │ disabled │
4月 01 10:34:35 otosuke mirakurun[4782]: └──────────────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────┴───────────┴──────────┘
4月 01 10:34:35 otosuke mirakurun[4782]: Use `pm2 show <id|name>` to get more details about an app
4月 01 10:34:36 otosuke mirakurun[4832]: [PM2] [mirakurun-server](0) ✓
4月 01 10:34:36 otosuke mirakurun[4832]: ┌──────────────────┬────┬──────┬─────┬─────────┬─────────┬────────┬─────┬────────┬──────────┐
4月 01 10:34:36 otosuke mirakurun[4832]: │ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ watching │
4月 01 10:34:36 otosuke mirakurun[4832]: ├──────────────────┼────┼──────┼─────┼─────────┼─────────┼────────┼─────┼────────┼──────────┤
4月 01 10:34:36 otosuke mirakurun[4832]: │ mirakurun-server │ 0 │ fork │ 0 │ stopped │ 0 │ 0 │ 0% │ 0 B │ disabled │
4月 01 10:34:36 otosuke mirakurun[4832]: └──────────────────┴────┴──────┴─────┴─────────┴─────────┴────────┴─────┴────────┴──────────┘
4月 01 10:34:36 otosuke mirakurun[4832]: Use `pm2 show <id|name>` to get more details about an app