KVM Bridging - Netzwerkverbindung schlägt fehl, wenn ich das Gerätemodell von rtl8139 auf VirtIO ändere

KVM Bridging - Netzwerkverbindung schlägt fehl, wenn ich das Gerätemodell von rtl8139 auf VirtIO ändere

Ich richte meine erste VM ein und verwende Bridging, um auf mein Netzwerk zuzugreifen. Es ist eine Windows 7-VM auf Ubuntu 14.10. Ich habe gelesen, dass die Änderung von „Device Model = VirtIO“ in der Definition der VM die Ethernet-Leistung verbessert. Wenn ich es von rtl8139 auf VirtIO ändere, verliere ich die Ethernet-Konnektivität auf der VM. Irgendwelche Vorschläge?

Randnotizen: Ich bin neu in der Linux-Welt, wie diese Frage vielleicht zeigt. Eigentlich würde ich die VM lieber mit meinem WLAN-Adapter verbinden (den ich deaktiviert habe), aber viele der Dinge, die ich gelesen habe, besagen, dass man über einen WLAN-Adapter keine Verbindung herstellen kann.

Danke für alle Hinweise.

Meine Win7-VM wurde mithilfe des GUI-Tools erstellt/definiert, das mit KVM geliefert wurde. Wenn ich mit der Maus über das Symbol fahre, wird „Virtual Machine Manager“ angezeigt. Ich habe bereits eine Bridge eingerichtet. Sie funktioniert für eine kabelgebundene Verbindung und wenn der Modelltyp im Parameter der Datei /etc/libvirt/qemu/win7.xml rtl8139 ist. Wenn ich den Virtual Machine Manager oder den Nano-Texteditor verwende, um ihn in virtIO zu ändern, verliere ich die LAN-Verbindungen für den Ubuntu-Host und die Win7-VM. Unten sehen Sie die Ausgabe von ifconfig:

br0       Link encap:Ethernet  HWaddr 08:62:66:28:84:88  
          inet addr:192.168.1.75  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: 2602:304:cd91:e710:bd86:dd51:d7dd:bc0a/64 Scope:Global
          inet6 addr: fe80::a62:66ff:fe28:8488/64 Scope:Link
          inet6 addr: 2602:304:cd91:e710:a62:66ff:fe28:8488/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1094 errors:0 dropped:0 overruns:0 frame:0
          TX packets:151 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:79513 (79.5 KB)  TX bytes:18098 (18.0 KB)

eth0      Link encap:Ethernet  HWaddr 08:62:66:28:84:88  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1483 errors:0 dropped:0 overruns:0 frame:0
          TX packets:151 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:248992 (248.9 KB)  TX bytes:19177 (19.1 KB)
          Interrupt:20 Memory:dff00000-dff20000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:217 errors:0 dropped:0 overruns:0 frame:0
          TX packets:217 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:55759 (55.7 KB)  TX bytes:55759 (55.7 KB)

virbr0    Link encap:Ethernet  HWaddr 3a:13:59:8b:2e:07  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Der Ubuntu-Host und die Win7-VM erhalten beide ihre IP-Adresse von DHCP. Mein Abschnitt „Schnittstellen“ ist bis auf die MAC-Adresse und den Modelltyp identisch mit Ihrem. Ich habe Ihnen in meiner letzten Antwort falsche Informationen gegeben. Ich verwende nano nur, um den Text in der Datei win7.xml anzuzeigen. Ich verwende es nicht, um die Datei zu bearbeiten. Ich verwende die GUI des Virtual Machine Managers, um den Modelltyp zwischen rtl8139 und virtIO zu ändern. Sobald ich eine Änderung vornehme, bestätige ich, dass die Datei win7.xml den neuen Modelltypwert anzeigt, indem ich nano verwende, um die Datei zu öffnen und sie anzuzeigen.

Tut mir leid, aber ich habe Probleme, die XML-Datei in das Bearbeitungsfenster einzufügen. Wenn ich das tue, kann ich die gesamte Datei im Bearbeitungsfenster sehen, aber in der gespeicherten Bearbeitung werden nur zwei Zeilen angezeigt. Ich denke, es versucht vielleicht, die Datei zu interpretieren und die Sonderzeichen zu entfernen. Ich kann keine Anweisungen zum Einfügen einer gesamten Datei finden. Gibt es eine Möglichkeit, die Datei anzuhängen? Übrigens – nochmals vielen Dank für Ihre Hilfe bei diesem Problem.

Antwort1

Beachten Sie, dass Sie für einen Windows-Gast möglicherweise spezielle Treiber installieren müssen, damit Virtio ordnungsgemäß funktioniert. Bitte beachten Sie diese Referenzen:
http://wiki.libvirt.org/page/Virtio
http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers
https://launchpad.net/kvm-guest-drivers-windows/+download

Das Folgende stammt von einer meiner VMs. Ihre Mac-Adresse und Adresszeilen werden/können anders sein:

    <interface type='bridge'>
      <mac address='52:54:00:c1:f1:b8'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>

Wollen Sie damit sagen, dass das bei Ihnen nicht funktioniert? Wie erhält das Subnetz 192.168.1.0 seine IP-Adressen? Über DHCP oder statisch?

Zum Kontext ist unten die gesamte XML-Datei aufgeführt:

<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh edit desk_tt
or other application using the libvirt API.
-->

<domain type='kvm'>
  <name>desk_tt</name>
  <uuid>4235912f-1d46-8866-22ba-c91bfe2a86b7</uuid>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <vcpu placement='static'>4</vcpu>
  <os>
    <type arch='x86_64' machine='pc-i440fx-1.7'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/bin/kvm-spice</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/media/newhd/desk_tt.img'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </disk>
    <disk type='block' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='usb' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <interface type='bridge'>
      <mac address='52:54:00:c1:f1:b8'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='vmvga' vram='16384' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </memballoon>
  </devices>
</domain>

verwandte Informationen