KVM Bridging - A conexão de rede falha se eu alterar o modelo de dispositivo para o VirtIO de rtl8139

0

Estou configurando minha primeira VM e estou usando bridging para acessar minha rede. É uma VM do Windows7 no Ubuntu 14.10. Eu li que a mudança para 'Modelo de dispositivo = VirtIO' na definição da VM melhorará o desempenho da Ethernet. Quando eu mudo para o VirtIO do rtl8139, perco a conectividade Ethernet na VM. Alguma sugestão?

Notas: Sou novo no mundo do Linux, como esta pergunta pode indicar. Eu realmente prefiro conectar a VM ao meu adaptador sem fio (que eu desabilitei), mas muitas das coisas que eu li dizem que você não pode conectar através de um adaptador sem fio.

Obrigado por qualquer indicação.

Minha win7 VM foi criada / definida pelo uso da ferramenta GUI fornecida com o KVM. Se eu passar o mouse sobre o ícone, ele diz "Virtual Machine Manager". Eu já tenho uma ponte configurada. Ele funciona para uma conexão com fio e se o Model Type 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 o virtIO, perco as conexões de rede local para o host do Ubuntu e para a VM do 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 do Ubuntu e a VM do Win7 estão recebendo o endereço IP do DHCP. Minha seção 'interfaces' é idêntica à sua, exceto pelo MAC e o tipo de modelo. Eu te dei uma informação errada na minha última resposta. Estou usando apenas o nano para ver o texto no arquivo win7.xml. Eu 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 novo valor do tipo de modelo usando o nano para abrir o arquivo e examiná-lo.

Desculpe, mas estou com 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. Eu acho que talvez tentando interpretar o arquivo e retirar os caracteres especiais. Não consigo encontrar instruções sobre como colar um arquivo inteiro. Existe uma maneira de anexar o arquivo? BTW - Obrigado novamente pela sua ajuda com este problema.

    
por AS400Jeff 15.04.2015 / 01:41

1 resposta

0

Observe que, para um convidado do Windows, talvez seja necessário instalar drivers especiais para o virtio funcionar corretamente. Por favor veja estas referências:
link
link
link

O seguinte é de uma das minhas VMs. Seu endereço MAC e suas linhas de endereço serão / poderão 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 não funciona para você? Como a sub-rede 192.168.1.0 obtém seus endereços IP? Via dhcp ou estática?

Para o contexto, 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>
    
por Doug Smythies 18.04.2015 / 03:54