Привет всем! При установке PVE на мой Minisforum MS-01 я выбрал RAIDZ1 зеркало для моих двух NVMe в качестве корневого диска. Хотя передача GPU в Docker VM работает отлично, я, конечно, теряю функциональность дисплея на самом PVE. Это вполне нормально большую часть времени, но если что-то пойдет не так, я беспокоюсь, что это усложнит устранение неполадок, если я не смогу подключиться по SSH по какой-либо причине. Поэтому я пытаюсь включить SR-IOV / GVT, чтобы я мог передать виртуальный GPU в Docker VM для аппаратной транскодирования в Jellyfin / Emby / Plex, сохраняя при этом дисплей на хосте, который я вижу через свой JetKVM. Я следовал этой инструкции в качестве отправной точки:
Один из ключевых этапов — запуск:
Bash: mokutil --import /var/lib/dkms/mok.pub
Это должно привести к загрузке в shim при перезагрузке, что должно позволить мне зарегистрировать MOK для DKMS. Я могу убедиться, что ключ является новым ключом для регистрации, выполнив:
Bash: mokutil --list-new
Я думаю, что это связано с тем, что я использую ZFS в качестве корневого диска, что приводит к использованию systemd-boot вместо Grub. Я нашел эту страницу:
Я пытался следовать шагам, изложенным там.
Bash: root@pve-01:~# lsblk -o +FSTYPE
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS FSTYPE
sr0 11:0 1 1024M 0 rom
zd0 230:0 0 100G 0 disk
├─zd0p1 230:1 0 512M 0 part vfat
├─zd0p2 230:2 0 98.5G 0 part ext4
└─zd0p3 230:3 0 976M 0 part swap
zd16 230:16 0 1M 0 disk
nvme0n1 259:0 0 1.8T 0 disk
├─nvme0n1p1 259:1 0 1007K 0 part
├─nvme0n1p2 259:2 0 1G 0 part vfat
└─nvme0n1p3 259:4 0 1.8T 0 part zfs_member
nvme1n1 259:3 0 1.8T 0 disk
├─nvme1n1p1 259:5 0 1007K 0 part
├─nvme1n1p2 259:6 0 1G 0 part vfat
└─nvme1n1p3 259:7 0 1.8T 0 part zfs_member
Это показывает мне раздел EFI System Partition на каждом NVMe, как я и ожидал, исходя из вышеупомянутой страницы.
Поэтому я запустил:
Bash: proxmox-boot-tool init /dev/nvme1n1p2 grub
proxmox-boot-tool init /dev/nvme0n1p2 grub
Как указано в инструкции.
Это должно было бы указать, что запись proxmox загружается первой, поэтому я ожидал, что при перезагрузке она загрузится в shimx64.efi. Но этого не происходит. Она по-прежнему загружается в systemd-boot, но есть новая запись под названием "EFI Default Loader" или что-то подобное, и если я смогу нажать на нее за пару секунд, то она откроет shim, что позволит мне зарегистрировать ключ.
При перезагрузке я теперь вижу виртуальные GPU, когда я запускаю:
Bash: lspci | grep VGA
Я смог добавить их в качестве ресурсов в Datacenter, а затем использовать отображаемое устройство в своей VM (которое отображается в выводе lspci), сохраняя при этом дисплей на моем JetKVM для хоста, так что, я думаю, все в порядке, по крайней мере, пока я не попытаюсь фактически использовать GPU внутри VM для аппаратной транскодирования. Мне придется посмотреть, работает ли это.
Если я снова проверю порядок efibootmgr, я получу:
Bash: root@pve-01:~# efibootmgr -v
Это выглядит, как если бы systemd-boot вернулся в качестве порядка по умолчанию вместо записи proxmox. Это ожидаемое поведение, или я что-то испортил? Заранее спасибо за любую помощь.
Один из ключевых этапов — запуск:
Bash: mokutil --import /var/lib/dkms/mok.pub
Это должно привести к загрузке в shim при перезагрузке, что должно позволить мне зарегистрировать MOK для DKMS. Я могу убедиться, что ключ является новым ключом для регистрации, выполнив:
Bash: mokutil --list-new
Я думаю, что это связано с тем, что я использую ZFS в качестве корневого диска, что приводит к использованию systemd-boot вместо Grub. Я нашел эту страницу:
Я пытался следовать шагам, изложенным там.
Bash: root@pve-01:~# lsblk -o +FSTYPE
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS FSTYPE
sr0 11:0 1 1024M 0 rom
zd0 230:0 0 100G 0 disk
├─zd0p1 230:1 0 512M 0 part vfat
├─zd0p2 230:2 0 98.5G 0 part ext4
└─zd0p3 230:3 0 976M 0 part swap
zd16 230:16 0 1M 0 disk
nvme0n1 259:0 0 1.8T 0 disk
├─nvme0n1p1 259:1 0 1007K 0 part
├─nvme0n1p2 259:2 0 1G 0 part vfat
└─nvme0n1p3 259:4 0 1.8T 0 part zfs_member
nvme1n1 259:3 0 1.8T 0 disk
├─nvme1n1p1 259:5 0 1007K 0 part
├─nvme1n1p2 259:6 0 1G 0 part vfat
└─nvme1n1p3 259:7 0 1.8T 0 part zfs_member
Это показывает мне раздел EFI System Partition на каждом NVMe, как я и ожидал, исходя из вышеупомянутой страницы.
Поэтому я запустил:
Bash: proxmox-boot-tool init /dev/nvme1n1p2 grub
proxmox-boot-tool init /dev/nvme0n1p2 grub
Как указано в инструкции.
Это должно было бы указать, что запись proxmox загружается первой, поэтому я ожидал, что при перезагрузке она загрузится в shimx64.efi. Но этого не происходит. Она по-прежнему загружается в systemd-boot, но есть новая запись под названием "EFI Default Loader" или что-то подобное, и если я смогу нажать на нее за пару секунд, то она откроет shim, что позволит мне зарегистрировать ключ.
При перезагрузке я теперь вижу виртуальные GPU, когда я запускаю:
Bash: lspci | grep VGA
Я смог добавить их в качестве ресурсов в Datacenter, а затем использовать отображаемое устройство в своей VM (которое отображается в выводе lspci), сохраняя при этом дисплей на моем JetKVM для хоста, так что, я думаю, все в порядке, по крайней мере, пока я не попытаюсь фактически использовать GPU внутри VM для аппаратной транскодирования. Мне придется посмотреть, работает ли это.
Если я снова проверю порядок efibootmgr, я получу:
Bash: root@pve-01:~# efibootmgr -v
Это выглядит, как если бы systemd-boot вернулся в качестве порядка по умолчанию вместо записи proxmox. Это ожидаемое поведение, или я что-то испортил? Заранее спасибо за любую помощь.
