
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>