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대신 연결합니다. 가상 머신을 다시 시작하지 않고도 이러한 변경 사항을 적용할 수 있습니까? 분명히 한 가지 옵션은 또는 유틸리티를 사용하여 수동으로 설정하는 것이지만 그것도 작동할까요?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)

관련 정보