Назад | Перейти на главную страницу

KVM / qemu / libvirt VM PCI Domain / Bus / Slot / Function assignment using virt-install

Я пытаюсь создать виртуальную машину с помощью утилиты virt-install, и хотя это достаточно легко сделать, то, что я хотел бы сделать, оказывается довольно сложно.

Я хотел бы иметь возможность указать домен / шину / слот / функцию интерфейсов Ethernet, которые я добавляю. Я понимаю, что могу использовать virsh edit после создания домена, чтобы изменить эти настройки по умолчанию, которые они предоставили, но мне было интересно, знает ли кто-нибудь, можно ли это сделать из командной строки с помощью утилиты virt-install, и если она можно сделать, знаете ли вы, каков правильный синтаксис?

Спасибо.

Шон

Да, вы можете указать все на virt-install командная строка. Проверьте virt-install --network=? для получения полного списка того, что вы можете указать. Они соответствуют атрибуты, установленные в XML.

Например, если ваш <interface> выглядит так:

    <interface type='bridge'>
      <mac address='52:54:00:c2:de:ce'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>

Вы можете указать это так:

virt-install ... -network bridge=br0,model=virtio,mac=52:54:00:c2:de:ce,address.type=pci,address.domain=0,address.bus=1,address.slot=0,address.function=0 ...

Вы также можете вместо установки использовать --print-xml чтобы получить сгенерированный XML. Затем вы можете настроить это по своему вкусу и автоматизировать многие установки напрямую, не выполняя virt-install.

       --print-xml [STEP]
           Print the generated XML of the guest, instead of defining it. By
           default this WILL do storage creation (can be disabled with
           --dry-run). This option implies --quiet.

           If the VM install has multiple phases, by default this will print
           all generated XML. If you want to print a particular step, use
           --print-xml 2 (for the second phase XML).