- Joined
- May 13, 2015
- Messages
- 2,478
By default, VMware ESXi 6.0 does not make the X10SL7-F motherboard's SATA controller available for VT-d passthrough. Because who in their right mind would do such a thing? 
Well... I do! I've never used the motherboard's SATA controller; I boot from a Dell H200 HBA. Recently I wanted to add a single large disk to serve as a replication target for backup purposes. The motherboard's built-in LSI 2308 HBA is already fully populated. So my only option for giving FreeNAS access to the drive is to use the motherboard's SATA controller.
I found this post over at servethehome.com, which got me pointed in the right direction. It turns out that you can indeed configure ESXi to pass-through the SATA controller. The trick is to identify it correctly and add an entry to the /etc/vmware/passthru.map file.
TL;DR: add the following to /etc/vmware/passthru.map to pass-through the SATA controller on your X10SL7-F:You will need to reboot the system for the change to take effect. Mark the device for passthrough in the vSphere client and reboot again. At that point you'll be able to assign the device to your FreeNAS VM and gain support for 6 additional SATA devices.
Here are the gory details:
Log on to the ESXi host and run the
The SATA contoller is this gizmo:
Then run the
We're interested in this line:
Well... I do! I've never used the motherboard's SATA controller; I boot from a Dell H200 HBA. Recently I wanted to add a single large disk to serve as a replication target for backup purposes. The motherboard's built-in LSI 2308 HBA is already fully populated. So my only option for giving FreeNAS access to the drive is to use the motherboard's SATA controller.
I found this post over at servethehome.com, which got me pointed in the right direction. It turns out that you can indeed configure ESXi to pass-through the SATA controller. The trick is to identify it correctly and add an entry to the /etc/vmware/passthru.map file.
TL;DR: add the following to /etc/vmware/passthru.map to pass-through the SATA controller on your X10SL7-F:
Code:
# Intel Lynx Point SATA AHCI controller 8086 8c02 d3d0 false
Here are the gory details:
Log on to the ESXi host and run the
lspci
command. This gives you a list of the PCI devices:Code:
0000:00:00.0 Bridge: Intel Corporation Xeon E3-1200 v3 Processor DRAM Controller 0000:00:01.0 Bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller [PCIe RP[0000:00:01.0]] 0000:00:01.1 Bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x8 Controller [PCIe RP[0000:00:01.1]] 0000:00:14.0 Serial bus controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI 0000:00:1a.0 Serial bus controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 0000:00:1c.0 Bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 [PCIe RP[0000:00:1c.0]] 0000:00:1c.2 Bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 [PCIe RP[0000:00:1c.2]] 0000:00:1c.3 Bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 [PCIe RP[0000:00:1c.3]] 0000:00:1c.4 Bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #5 [PCIe RP[0000:00:1c.4]] 0000:00:1d.0 Serial bus controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 0000:00:1f.0 Bridge: Intel Corporation C222 Series Chipset Family Server Essential SKU LPC Controller 0000:00:1f.2 Mass storage controller: Intel Corporation Lynx Point AHCI Controller [vmhba1] 0000:00:1f.3 Serial bus controller: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller 0000:00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller 0000:01:00.0 Network controller: Intel(R) 82599 10 Gigabit Dual Port Network Connection [vmnic2] 0000:02:00.0 Mass storage controller: LSI Logic / Symbios Logic LSI2308_1 [vmhba0] 0000:03:00.0 Bridge: ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge 0000:04:00.0 Display controller: ASPEED Technology, Inc. ASPEED Graphics Family 0000:05:00.0 Network controller: Intel Corporation I210 Gigabit Network Connection [vmnic0] 0000:06:00.0 Network controller: Intel Corporation I210 Gigabit Network Connection [vmnic1] 0000:07:00.0 Mass storage controller: LSI Logic / Symbios Logic Dell PERC H200 Adapter [vmhba2]
The SATA contoller is this gizmo:
0000:00:1f.2 Mass storage controller: Intel Corporation Lynx Point AHCI Controller [vmhba1]
Then run the
lspci -n
command, getting this output:Code:
0000:00:00.0 Class 0600: 8086:0c08 0000:00:01.0 Class 0604: 8086:0c01 [PCIe RP[0000:00:01.0]] 0000:00:01.1 Class 0604: 8086:0c05 [PCIe RP[0000:00:01.1]] 0000:00:14.0 Class 0c03: 8086:8c31 0000:00:1a.0 Class 0c03: 8086:8c2d 0000:00:1c.0 Class 0604: 8086:8c10 [PCIe RP[0000:00:1c.0]] 0000:00:1c.2 Class 0604: 8086:8c14 [PCIe RP[0000:00:1c.2]] 0000:00:1c.3 Class 0604: 8086:8c16 [PCIe RP[0000:00:1c.3]] 0000:00:1c.4 Class 0604: 8086:8c18 [PCIe RP[0000:00:1c.4]] 0000:00:1d.0 Class 0c03: 8086:8c26 0000:00:1f.0 Class 0601: 8086:8c52 0000:00:1f.2 Class 0106: 8086:8c02 [vmhba1] 0000:00:1f.3 Class 0c05: 8086:8c22 0000:00:1f.6 Class 1180: 8086:8c24 0000:01:00.0 Class 0200: 8086:10fb [vmnic2] 0000:02:00.0 Class 0107: 1000:0086 [vmhba0] 0000:03:00.0 Class 0604: 1a03:1150 0000:04:00.0 Class 0300: 1a03:2000 0000:05:00.0 Class 0200: 8086:1533 [vmnic0] 0000:06:00.0 Class 0200: 8086:1533 [vmnic1] 0000:07:00.0 Class 0107: 1000:0072 [vmhba2]
We're interested in this line:
0000:00:1f.2 Class 0106: 8086:8c02 [vmhba1]
. It gives us the 8086:8c02 address, which is what we need to add to /etc/vmware/passthru.map, like this:Code:
# 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 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 # LSILogic 1068 based SAS controllers 1000 0056 d3d0 default 1000 0058 d3d0 default # NVIDIA 10de ffff bridge false # Intel Lynx Point SATA AHCI controller 8086 8c02 d3d0 false