Virshを使用してドメインを設定する際、PCIカードの「スロット」は、マザーボード上のどのスロットにあるかを参照すると常に想定していました。ただし、2つではないようで、2つの異なる物理スロットのカードが割り当てられます。 virshによる同じ「スロット」に。最初の2つのデバイスはGTX1070の一部であり、3つ目はSonnet PCIUSBカードです。
また、これら2つの異なるバスIDは何ですか?最初のバスIDは67または43ですか?
~$ virsh nodedev-dumpxml pci_0000_43_00_0
<device>
<name>pci_0000_43_00_0</name>
<path>/sys/devices/pci0000:40/0000:40:01.3/0000:43:00.0</path>
<parent>pci_0000_40_01_3</parent>
<driver>
<name>nouveau</name>
</driver>
<capability type='pci'>
<domain>0</domain>
<bus>67</bus>
<slot>0</slot>
<function>0</function>
<product id='0x1b81'>GP104 [GeForce GTX 1070]</product>
<vendor id='0x10de'>NVIDIA Corporation</vendor>
<iommuGroup number='39'>
<address domain='0x0000' bus='0x43' slot='0x00' function='0x0'/>
<address domain='0x0000' bus='0x43' slot='0x00' function='0x1'/>
</iommuGroup>
<pci-express>
<link validity='cap' port='0' speed='8' width='16'/>
<link validity='sta' speed='2.5' width='8'/>
</pci-express>
</capability>
</device>
~$ virsh nodedev-dumpxml pci_0000_43_00_1
<device>
<name>pci_0000_43_00_1</name>
<path>/sys/devices/pci0000:40/0000:40:01.3/0000:43:00.1</path>
<parent>pci_0000_40_01_3</parent>
<driver>
<name>snd_hda_intel</name>
</driver>
<capability type='pci'>
<domain>0</domain>
<bus>67</bus>
<slot>0</slot>
<function>1</function>
<product id='0x10f0'>GP104 High Definition Audio Controller</product>
<vendor id='0x10de'>NVIDIA Corporation</vendor>
<iommuGroup number='39'>
<address domain='0x0000' bus='0x43' slot='0x00' function='0x0'/>
<address domain='0x0000' bus='0x43' slot='0x00' function='0x1'/>
</iommuGroup>
<pci-express>
<link validity='cap' port='0' speed='8' width='16'/>
<link validity='sta' speed='2.5' width='8'/>
</pci-express>
</capability>
</device>
~$ virsh nodedev-dumpxml pci_0000_0a_00_0
<device>
<name>pci_0000_0a_00_0</name>
<path>/sys/devices/pci0000:00/0000:00:03.1/0000:0a:00.0</path>
<parent>pci_0000_00_03_1</parent>
<driver>
<name>xhci_hcd</name>
</driver>
<capability type='pci'>
<domain>0</domain>
<bus>10</bus>
<slot>0</slot>
<function>0</function>
<product id='0x1242'>ASM1142 USB 3.1 Host Controller</product>
<vendor id='0x1b21'>ASMedia Technology Inc.</vendor>
<iommuGroup number='18'>
<address domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/>
</iommuGroup>
<numa node='0'/>
<pci-express>
<link validity='cap' port='1' speed='5' width='2'/>
<link validity='sta' speed='5' width='2'/>
</pci-express>
</capability>
</device>
「バス」とは、デバイスが接続されているマザーボードのチップセットからのPCI/PCI-X/PCIエクスプレスバスを指します。これは、ボード上の実際のスロットを経由する場合としない場合があります。たとえば、オンボードイーサネットポートは、ビデオカードを受け入れる拡張スロットとは別のバス上にあります。
「スロット」とは、単一の物理デバイスが接続されているPCIバス上のスペースを指し、そのバス上の他の「スロット」とは電気的に区別されます。たとえば、2つの異なるスロットを占有する2つの異なるUSBコントローラー。または、ビデオカードがRAIDHBAとは異なるスロットを占有している。
同じスロットを使用する2つの異なる物理デバイスについて質問したが、質問に投稿したものはこれが起こっていることを示していないことに注意してください。確かに、それは起こりません。スロットは物理的にバスの一部であり、あるバスのスロット0は別のバスのスロット0とは異なります。
「機能」とは、異なる機能を提供する物理デバイスのサブセットを指します。たとえば、オンボードイーサネットデバイスには、物理イーサネットポートごとに個別の機能があります。ビデオカードには、ビデオコントローラとオーディオデバイス用に別々の機能があります。
パススルーに関しては、単一のバス/スロット/機能がデバイスまたはその一部を識別し、VMに個別にパススルーできます。
最後に、67と43は同じ番号です。前者は10進数であり、0x43として示されていることからわかるように、後者は16進数です。