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

Создание сетей libvirt «mcast» с помощью virt-install?

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

Есть ли способ сделать это из командной строки? Наивно начиная с:

virt-install -w mcast ...

Результаты в:

ERROR    internal error: No <source> 'port' attribute specified with socket interface

XML, сгенерированный вышеизложенным, выглядит так:

<interface type="mcast">
  <mac address="52:54:00:21:ec:7c"/>
</interface>

... так что действительно отсутствует source элемент. Однако очевидное решение не работает:

virt-install -w mcast,source=230.0.0.1:5555

В результате получается тот же XML.

Есть ли способ заставить эту работу работать с virt-install командная строка?

Возможно, есть лучший ответ, но я остановился на следующем:

virt-install -r 512 -n myguest \
  --disk vol=default/centos-base.qcow2 --import \
  -w user -w mcast,model=virtio --print-xml |
awk '{print} /interface.*type="mcast"/ {print "<source address=\"239.0.0.1\" port=\"8000\"/>"}' |
virsh create /dev/stdin

Вышеупомянутые результаты:

<interface type='mcast'>
  <source address='239.0.0.1' port='8000'/>
  <model type='virtio'/>
</interface>

Хотя обычно я содрогался бы при использовании awk для обработки XML, в этом случае вывод libvirt очень предсказуем.