Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

20.23. KVM ゲスト仮想マシンに多機能 PCI デバイスの追加

多機能 PCI デバイスを KVM ゲスト仮想マシンに追加するには、以下の手順を実施します。
  1. virsh edit guestname コマンドを実行して、ゲスト仮想マシンの XML 設定ファイルを編集します。
  2. <address> 要素に multifunction='on' 属性を追加します。これにより、特定の多機能 PCI デバイスにその他の機能を使用できます。
    <disk type='file' device='disk'>
    <driver name='qemu' type='raw' cache='none'/>
    <source file='/var/lib/libvirt/images/rhel62-1.img'/>
    <target dev='vda' bus='virtio'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
    </disk>
    
    2 つの機能を持つ PCI デバイスの場合、XML 設定ファイルを追加して、1 番目のデバイスと同じスロット番号と function='0x1' などの異なる関数番号が含まれる 2 番目のデバイスを含めます。以下に例を示します。
    <disk type='file' device='disk'>
    <driver name='qemu' type='raw' cache='none'/>
    <source file='/var/lib/libvirt/images/rhel62-1.img'/>
    <target dev='vda' bus='virtio'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
    </disk>
    <disk type='file' device='disk'>
    <driver name='qemu' type='raw' cache='none'/>
    <source file='/var/lib/libvirt/images/rhel62-2.img'/>
    <target dev='vdb' bus='virtio'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
    </disk>
    
  3. lspci コマンドを実行します。KVM ゲスト仮想マシンからの出力には、virtio ブロックデバイスが表示されます。
    $ lspci
    
    00:05.0 SCSI storage controller: Red Hat, Inc Virtio block device
    00:05.1 SCSI storage controller: Red Hat, Inc Virtio block device
    
    注記
    BIOS インターフェースとの互換性を維持するために、SeaBIOS アプリケーションは実際のモードで実行されます。これにより、使用可能なメモリーの量が制限されます。これにより、SeaBIOS は限られた数のディスクのみを処理できます。現在、サポートされるディスク数は以下のとおりです。
    • virtio-scsi - 64
    • virtio-blk - 4
    • AHCI/sata: 24(全 6 ポートが接続されていない 4 コントローラー)
    • usb-storage - 4
    この問題を回避するには、仮想マシンに多数のディスクを割り当てる場合には、システムディスクに pci スロット番号が小型の pci スロット数があることを確認してください。したがって、pci バスをスキャンする際に SeaBIOS が最初に表示されます。また、ディスクごとのメモリーオーバーヘッドが小さいため、virtio-blk の代わりに virtio-scsi デバイスを使用することが推奨されます。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。