Desempenho estranho com o adaptador VirtIO no Linux Guest

1

Eu tenho lutado contra um comportamento extremamente estranho com o adaptador VirtIO para convidados Linux KVM. Primeiro, minha configuração:

O host KVM é uma caixa do CentOS 6.8. Os convidados estão executando o CentOS 7. Os adaptadores foram originalmente conectados a uma ponte de host, embora eu tenha alterado a rede virtual em uma configuração OVS com os convidados conectados a uma ponte OVS.

Os convidados do Linux vivem na ponte OVS "internalbr1" que não é conectada a uma interface de host. Em vez disso, o tráfego vai para o gateway da LAN de 10.255.0.1, que é a interface da LAN de uma VM do PFSense que a envia por meio de uma interface de passagem no host. Basicamente, a ponte OVS "internalbr1" está agindo como um switch entre os convidados e o lado da LAN do firewall.

Originalmente, os convidados tinham o adaptador e1000, mas devido a problemas de velocidade (a velocidade diminuiu para 100k durante os downloads), eu quero mudar para o VirtIO. Há um convidado do Windows (2012) sendo executado com um adaptador VirtIO (viu o mesmo problema do e1000. Em uma ponte para uma interface de host) e está funcionando perfeitamente. Todos os convidados do Linux podem fazer ping sem problemas, sem latência, tentar puxar páginas da web com o wget é extremamente lento e os comandos do yum retornarem com "No route to host", mesmo que os pings do yum repo funcionem bem.

Estou perplexo com o que está acontecendo e horas pesquisando não está ajudando. Alguém já se deparou com um problema semelhante antes?

Atualizar

Descobriu que era o firewall do PfSense, afinal, e não VirtIO (bem parcialmente). Depois de fazer algumas capturas de pacotes no firewall, descobri checksums ruins nos pacotes que saem. Descobri que isso às vezes é o problema com o descarregamento de soma de verificação de hardware. Desativei o descarregamento de soma de verificação de hardware e tudo começou a funcionar como deveria. Eu acho que o adaptador VirtIO não pode descarregar o checksum de hardware (pelo menos com minhas versões). Isso também explicou por que eu não estava vendo nenhum problema com o adaptador e1000.

Espero que isso ajude alguém no futuro.

    
por KernelFault 10.08.2016 / 22:34

0 respostas