如何使用 virt-install 将 VLAN 信息添加到 VM xml 文件中?
How to add the VLAN information using virt-install to VM xml file?
我正在尝试自动创建虚拟机,但我无法通过 virt-install 将 VLAN 标记添加到 xml 文件。
sudo virt-install --name hosp10 --memory 16384 --vcpus 4 \
--disk /var/lib/libvirt/images/cloud-full.qcow2,format=qcow2,cache=none,target=vda \
--boot kernel=/var/lib/libvirt/images/full.vmlinuz,initrd=/var/lib/libvirt/images/full.initrd,kernel_args="root=/dev/vda" \
--network bridge=br-mgmt,model=virtio,virtualport_type=openvswitch,mac=XX:XX:XX:XX:XX:XX
我想向 --network 添加类似 vlan_id=100 的内容,但似乎不存在这样的选项。有没有办法像下面这样生成 xml?
<interface type="bridge">
<source bridge="ovs-internal"/>
<target dev='ext01'/>
<vlan>
<tag id='100'/>
</vlan>
<model type="virtio"/>
<virtualport type="openvswitch"/>
<mac address='vv:vv:vv:vv:vv:vv' />
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
提前致谢。
似乎没有办法直接使用 virt-install
来做到这一点,但是为什么不使用 Open vSwitch 配置 VLAN 标记呢?
# after running virt-install:
ovs-vsctl set port ext01 tag=100
从版本 3.0.0 开始,virt-install
有一个 --xml
选项,允许您在创建域时使用 XPath 语法直接修改域的 XML。
要添加 VLAN 配置,您需要像这样添加 --xml
选项:
virt-install \
--network bridge=br-mgmt,model=virtio,virtualport_type=openvswitch,mac=XX:XX:XX:XX:XX:XX \
--xml './devices/interface/vlan/tag/@id=100' \
<additional args>
这应该将 <vlan><tag id="100"/></vlan>
添加到第一个接口设备。
如果您有多个接口,可以使用 XPath 语法 select 所需的接口。例如,./devices/interface[2]/vlan/tag/@id=100
将修改第二个接口。
我正在尝试自动创建虚拟机,但我无法通过 virt-install 将 VLAN 标记添加到 xml 文件。
sudo virt-install --name hosp10 --memory 16384 --vcpus 4 \
--disk /var/lib/libvirt/images/cloud-full.qcow2,format=qcow2,cache=none,target=vda \
--boot kernel=/var/lib/libvirt/images/full.vmlinuz,initrd=/var/lib/libvirt/images/full.initrd,kernel_args="root=/dev/vda" \
--network bridge=br-mgmt,model=virtio,virtualport_type=openvswitch,mac=XX:XX:XX:XX:XX:XX
我想向 --network 添加类似 vlan_id=100 的内容,但似乎不存在这样的选项。有没有办法像下面这样生成 xml?
<interface type="bridge">
<source bridge="ovs-internal"/>
<target dev='ext01'/>
<vlan>
<tag id='100'/>
</vlan>
<model type="virtio"/>
<virtualport type="openvswitch"/>
<mac address='vv:vv:vv:vv:vv:vv' />
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
提前致谢。
似乎没有办法直接使用 virt-install
来做到这一点,但是为什么不使用 Open vSwitch 配置 VLAN 标记呢?
# after running virt-install:
ovs-vsctl set port ext01 tag=100
从版本 3.0.0 开始,virt-install
有一个 --xml
选项,允许您在创建域时使用 XPath 语法直接修改域的 XML。
要添加 VLAN 配置,您需要像这样添加 --xml
选项:
virt-install \
--network bridge=br-mgmt,model=virtio,virtualport_type=openvswitch,mac=XX:XX:XX:XX:XX:XX \
--xml './devices/interface/vlan/tag/@id=100' \
<additional args>
这应该将 <vlan><tag id="100"/></vlan>
添加到第一个接口设备。
如果您有多个接口,可以使用 XPath 语法 select 所需的接口。例如,./devices/interface[2]/vlan/tag/@id=100
将修改第二个接口。