Kvm-Virtualization

使用 virsh 在 KVM 主機上向 VM 添加網路介面時出錯

  • December 22, 2016

我正在嘗試編寫腳本將網路介面添加到 centos 6 來賓。我知道可以使用virt-manager gui 設置介面,但非常希望將其添加為使用virsh attach-interface的 Ansible playbook的一部分,或者作為virt-install的一部分。

所需的界面應如下所示(儘管使用新的 mac 地址)

<interface type='direct'>
 <mac address='52:54:00:39:f8:3a'/>
 <source dev='enp3s0' mode='bridge'/>
 <target dev='macvtap8'/>
 <model type='virtio'/>
 <alias name='net0'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

我無法使用virsh attach-interfacevirt-install來複製它。我試過使用以下

virsh attach-interface 16 --type direct --source enp3s0 --model virtio --config --live

但不幸的是,這並沒有設置源模式,所以我最終得到了以下界面

<interface type='direct'>
 <mac address='52:54:00:e1:d8:2c'/>
 <source dev='enp3s0' mode='vepa'/>
 <target dev='macvtap15'/>
 <model type='virtio'/>
 <alias name='net1'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
</interface>

在一個理想的世界裡,我希望能夠做類似的事情

virsh attach-interface 16 --type direct --source enp3s0 --model virtio --mode bridge --config --live

但這會返回以下錯誤,並且我找不到為此操作指定的正確選項。

error: command 'attach-interface' doesn't support option --mode

由於您已經知道 NIC 所需的確切 XML,因此您應該避免使用該virsh attach-interface命令,而是使用virsh attach-device. 該attach-device命令直接接受新設備的完整 XML 文件。attach-interface只是一個attach-device為您生成 XML 的愚蠢包裝器。因此,既然您已經有了 XML,那麼使用它就沒有意義了attach-interface

引用自:https://serverfault.com/questions/820836