Enabling VT-d in Proxmox to a Solaris guest

churnd

Active Member
Aug 11, 2013
43
2
28
I have a VMware environment that I use as an all-in-one with a Solaris guest providing storage to the VMware host. This is possible because I can pass through the PCI JBOD controller to the Solaris VM so it will see all the physical disks. It's not an uncommon setup & you can see how I've written about it here & here.

However, I'm getting tired of VMware & it's management bloat. It's not ideal for a small homelab. I want to convert to Proxmox, but I need to figure out the passthrough step.

This is what I've seen: http://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM

Does this still apply to Proxmox? I'm unclear about which steps I'd need to take. I'd need to recompile the kernel?? Hopefully I'd just be able to do steps 4 & down, but wanted to be sure before blowing away my VMware install:


  • Load the PCI Stub Driver if it is compiled as a module
modprobe pci_stub

  • lspci -n
  • locate the entry for device 01:00.0 and note down the vendor & device ID 8086:10b9
...
01:00.0 0200: 8086:10b9 (rev 06)
...

  • echo "8086 10b9" > /sys/bus/pci/drivers/pci-stub/new_id
  • echo 0000:01:00.0 > /sys/bus/pci/devices/0000:01:00.0/driver/unbind
  • echo 0000:01:00.0 > /sys/bus/pci/drivers/pci-stub/bind
5. load KVM modules:

  • modprobe kvm
  • modprobe kvm-intel
6. assign device:

  • /usr/local/bin/qemu-system-x86_64 -m 512 -boot c -net none -hda /root/ia32e_rhel5u1.img -device pci-assign,host=01:00.0
 
The module pci-stub does not get loaded automaticly. Bevore not loading it manualy a VM with pci-passthrough (hostpci0) fails to start. At least in my setup which was originally from proxmox 3.0 iso installer.

Can one confirm this behavior?

Axel
 
The module pci-stub does not get loaded automaticly. Bevore not loading it manualy a VM with pci-passthrough (hostpci0) fails to start. At least in my setup which was originally from proxmox 3.0 iso installer.

Can one confirm this behavior?

Axel

I am seeing this same issue. Definitely would like to get to the bottom of it as PCI pass-threw is very important for our setup. I don't seem to have pci_stub module which can be loaded. The only way I can get pci passthrew working is to manually add it after the VM boots with the following command "device_add pci-assign,host=86:00.0,id=hba1"

root@vaultprox2:~# modprobe pci_stub
FATAL: Module pci_stub not found.

root@vaultprox2:~# modinfo pci_stub
ERROR: modinfo: could not find module pci_stub


root@vaultprox2:~# pveversion -v
pve-manager: 2.3-13 (pve-manager/2.3/7946f1f1)
running kernel: 2.6.32-19-pve
proxmox-ve-2.6.32: 2.3-96
pve-kernel-2.6.32-19-pve: 2.6.32-96
pve-kernel-2.6.32-18-pve: 2.6.32-88
lvm2: 2.02.95-1pve2
clvm: 2.02.95-1pve2
corosync-pve: 1.4.4-4
openais-pve: 1.1.4-2
libqb: 0.10.1-2
redhat-cluster-pve: 3.1.93-2
resource-agents-pve: 3.9.2-3
fence-agents-pve: 3.1.9-1
pve-cluster: 1.0-36
qemu-server: 2.3-20
pve-firmware: 1.0-21
libpve-common-perl: 1.0-49
libpve-access-control: 1.0-26
libpve-storage-perl: 2.3-7
vncterm: 1.0-4
vzctl: 4.0-1pve2
vzprocps: 2.0.11-2
vzquota: 3.1-1
pve-qemu-kvm: 1.4-10
ksm-control-daemon: 1.1-1
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!