VMを再起動せずにlibvirt仮想マシンネットワーク関連の設定を変更できますか?

VMを再起動せずにlibvirt仮想マシンネットワーク関連の設定を変更できますか?

test次の構成の仮想マシンがあるとします。

$ virsh dumpxml test
<domain type='kvm' id='42'>
  <name>test</name>
  <uuid>4b72f3be-41f5-41ec-8149-647ab73d92f7</uuid>
  /* output removed for brevity */
    <interface type='bridge'>
      <mac address='52:54:00:fb:3f:85'/>
      <source bridge='br1'/>
      <target dev='vnet23'/>
      <model type='virtio'/>
      <alias name='net1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </interface>
    <interface type='bridge'>
      <mac address='52:54:00:94:7d:c8'/>
      <source bridge='br2'/>
      <target dev='vnet24'/>
      <model type='virtio'/>
      <alias name='net2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </interface>
  /* output removed for brevity */
  </devices>
</domain>

$

ここで設定を編集し、virsh edit test代わりにリンクします。仮想マシンを再起動せずにこれらの変更を適用できますか?明らかに1つのオプションは、またはユーティリティを使用して手動で設定することですが、それも動作しますか?vnet24br3br2ipbrctlvirsh

答え1

update.xmlファイルがある場合

<interface type='bridge'>
  <mac address='52:54:00:94:7d:c8'/>
  <source bridge='br3'/>
  <target dev='vnet24'/>
  <model type='virtio'/>
  <alias name='net2'/>
</interface>

あなたはできます

sudo virsh update-device test update.xml --persistent

<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>何らかの理由で--perciousフラグを追加できなかったため、update.xmlからこれを省略しました。 --永続フラグは --live (実行中のドメインに適用) と同じです。 --config(次の起動に影響を与える)

源泉:https://www.libvirt.org/manpages/virsh.html#update-device

新しいインターフェイスを動的に追加するための興味深い追加のインターフェイスコマンドもあります(https://www.libvirt.org/manpages/virsh.html#attach-interface)

関連情報