
Estou configurando minha primeira VM e usando ponte para acessar minha rede. É uma VM Windows7 no Ubuntu 14.10. Li que mudar para 'Device Model = VirtIO' na definição da VM melhorará o desempenho da Ethernet. Quando mudo para VirtIO de rtl8139, perco a conectividade Ethernet na VM. Alguma sugestão?
Notas laterais: Sou novo no mundo Linux, como esta pergunta pode indicar. Na verdade, eu preferiria conectar a VM ao meu adaptador sem fio (que desativei), mas muitas das coisas que li dizem que você não pode conectar um adaptador sem fio.
Obrigado por qualquer indicação.
Minha VM win7 foi criada/definida pelo uso da ferramenta GUI que acompanha o KVM. Se eu passar o mouse sobre o ícone, ele diz 'Virtual Machine Manager'. Já tenho uma ponte configurada. Funciona para uma conexão com fio e se o tipo de modelo no parâmetro do arquivo /etc/libvirt/qemu/win7.xml for rtl8139. Se eu usar o Virtual Machine Manager ou o editor de texto nano para alterá-lo para virtIO, perco as conexões LAN para o host Ubuntu e a VM win7. Abaixo está a saída do 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)
O host Ubuntu e a VM Win7 estão obtendo seus endereços IP do DHCP. Minha seção de 'interfaces' é idêntica à sua, exceto pelo MAC e pelo tipo de modelo. Eu lhe dei informações erradas na minha última resposta. Estou usando o nano apenas para visualizar o texto no arquivo win7.xml. Não estou usando para editar o arquivo. Estou usando a GUI do Virtual Machine Manager para alterar o tipo de modelo entre rtl8139 e virtIO. Depois de fazer uma alteração, confirmo que o arquivo win7.xml mostra o valor do novo tipo de modelo usando nano para abrir o arquivo e examiná-lo.
Desculpe, mas estou tendo dificuldades para colar o arquivo xml na janela de edição. quando faço isso, posso ver o arquivo inteiro na janela de edição, mas apenas duas linhas aparecem na edição salva. Acho que talvez esteja tentando interpretar o arquivo e eliminando os caracteres especiais. Não consigo encontrar instruções sobre como colar um arquivo inteiro. Existe uma maneira de anexar o arquivo? A propósito - obrigado novamente por sua ajuda com este problema.
Responder1
Observe que, para um convidado do Windows, pode ser necessário instalar drivers especiais para que o virtio funcione corretamente. Por favor, veja estas referências:
http://wiki.libvirt.org/page/Virtio
http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers
https://launchpad.net/kvm-guest-drivers-windows/+download
O seguinte é de uma das minhas VMs. Seu endereço MAC e linhas de endereço serão/podem ser diferentes:
<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>
Você está dizendo que isso não funciona para você? Como a sub-rede 192.168.1.0 obtém seus endereços IP? Via dhcp ou estático?
Para contextualizar, abaixo está todo o arquivo .xml:
<!--
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>