FreeBSD virtual environment management and repository

2020-10 upd: we reached the first fundraising goal and rented a server in Hetzner for development! Thank you for donating !

Внимание! Данные страницы описывают CBSD версии 13.0.x. Если вы используете более раннюю версию, рекомендуется сначала обновиться.

bhyve PCI Passthrough

Commands bhyve-ppt

			% cbsd bhyve-ppt
		

Описание:

CBSD позволяет сконфигурировать аргументы bhyve для пробрасывания устройств внутрь гостя, если ваше оборудование это поддерживает

Внимание! Ознакомьтесь с информацией на странице FreeBSD Wiki: bhyve pci_passthru

Для того, чтобы пометить устройство как пробрасываемое, вы должны поместить в /boot/loader.conf параметр, как написано в странице wiki, например:

		pptdevs="2/0/0"
		

Если необходимо указать несколько устройств:

		pptdevs="2/0/0 1/2/6 4/9/0"
		

Обратите внимание, что при использовании pptdevs, vmm модуль должен быть проинициализирован на этапе /boot/loader.conf, чтобы подхватить эти записи.

Если вы загружаете vmm уже после загрузки ядра, например через kldload, то pptdevs не сработает.

Далее, после загрузки системы убедитесь, что CBSD видит маркированные устройства. По команде 'cbsd bhyve-ppt mode=list' вы должны увидете ваши устройства:

% cbsd bhyve-ppt mode=list
5/1/0 :  DGE-528T Gigabit Ethernet Adapter :  D-Link System Inc : -
0/31/3 :  7 Series/C216 Chipset Family SMBus Controller :  Intel Corporation : -
		

Теперь, используя ppt устройство ( 5/1/0 или 0/31/3 в этом примере) вы можете подключить или отключить это устройство к определенной виртуальной машине:

		cbsd bhyve-ppt mode=attach jname=vmname
		
		cbsd bhyve-ppt mode=detach jname=vmname
		

SR-IOV

Работа bhyve/CBSD протестирована в том числе с технологией SR-IOV

В этом случае, устройства ppt ничем не отличаются от тех, которые вы конфигурируете с помощью pptdevs

% cbsd bhyve-ppt mode=list
1/0/131 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
1/0/133 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
1/0/135 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
1/0/137 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
1/0/139 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
1/0/141 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
1/0/143 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
1/0/145 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
1/0/147 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
1/0/149 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
1/0/151 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
1/0/153 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
1/0/155 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
1/0/157 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
1/0/159 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
1/0/161 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
1/0/163 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
1/0/165 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
1/0/167 : X540 Ethernet Controller Virtual Function : Intel Corporation : -
		

Каждую VF (Virtual Function) вы можете подключить к любой виртуальной машине через описанную выше: cbsd bhyve-ppt mode=attach