To configure pass-through devices on an ESX host:
- Select an ESX host from the Inventory of VMware vSphere Client.
Note: If you have a chipset with VT-d, when you click Advanced Settings in vSphere Client, you can select the devices that are dedicated to the VMDirectPath I/O. - In the Configuration tab, click Advanced Settings. The Pass-through Configuration page lists all available pass-through devices.
Note: A green icon indicates that a device is enabled and active. An orange icon indicates that the state of the device has changed and the host must be rebooted before the device can be used. - Click Edit.
- Select the devices and click OK.
- When the devices are selected, they are marked with an orange icon. Reboot for the change to take effect. After rebooting, the devices are marked with a green icon and are enabled.
Note: The configuration changes are saved in the /etc/vmware/esx.conf file. The parent PCI bridge, and if two devices are under the same PCI bridge, only one entry is recorded.
The PCI slot number where the device was connected is 00:0b:0. It is recorded as:
/device/000:11.0/owner = "passthru"
Note: 11 is the decimal equivalent of the hexadecimal 0b.
To configure a PCI device on a virtual machine:
- From the Inventory in vSphere Client, right-click the virtual machine and choose Edit Settings.
- Click the Hardware tab.
- Click Add.
- Choose the PCI Device.
- Click Next.
참조.
ESXi as a Desktop with VMDirectPath I/O
- to be continue -
특별한 경우를 제외하고는 거의 사용하지 않습니다.
vt-D는 대부분(i시리즈 이후의..)의 제온에서 지원하는 것 같고, 메인보드상에서 vt-d만 지원하면 모두 사용 가능하지 않나요? 극히 일부 디바이스만 지원한다라는 의미를 잘 모르겠습니다....
vSphere의 대다수 특징을 사용할 수 없다고 하셨는데, passthrough를 하기 위해서 vt-d기능을 사용하면 어떤 기능들을 사용할 수 없게 되는지 궁금합니다.
대다수의 사용할 수 없는 특징은 VM 설정 시 passthrough device를 추가하시는 경우
Memory reservation이 VM에 할당한 최대용량으로 고정되어 버립니다.
즉 vSphere Memory balloon, swap, share 모두 사용이 불가능하고
역시 Snapshot, Clone, vMotion 등 대부분의 기능을 사용할 수 없습니다.
공식적으로 지원되는 목록은 메뉴얼을 보시면 아시겠지만 극히 일부의 NIC, SAS HBA만 지원합니다.
문제는 해당 device의 firmware에 굉장히 민감하며 가상화의 장점이 많이 퇴색됩니다.
All In One 방식의 VSA 같은 경우에는 단일 VM만을 구동하므로 예외입니다.