Problemas de rede do Ubuntu Hyper-V Copiando grandes quantidades de dados

1

Estou tentando copiar uma grande quantidade (cerca de 50 GB) de dados em minha rede de uma máquina virtual hospedada no Hyper-V executando o Ubuntu 11.04 (Natty Narwhal) para outro host Ubuntu (não virtual) que pretendo use para testar upgrades em um de nossos aplicativos da web. O problema que estou tendo é com a máquina virtual, a qual me referirei no que segue como "source.host". Esta máquina está executando o Ubuntu Server de 64 bits com o kernel 2.6.38-8-server e os componentes do Microsoft Linux Integration para módulos do kernel Hyper-V (hv_utils, hv_timesource, hv_netvsc, hv_blkvsc, hv_storvsc e hv_vmbus) carregados. Ele usa um "adaptador de rede sintético" Hyper-V para sua interface de rede.

Para fazer a cópia, eu faço logon na máquina com os dados e executo os seguintes comandos (Chame a máquina remota "destination.host".):

$ cd /path/to/data
$ tar -cvf - datafolder/ | ssh [email protected] "cat > ~/data.tar"

Isso é executado por um tempo e, em seguida, pára de repente após a transferência em algum lugar de 2-6 GB. O terminal na máquina source.host exibe um erro Write failed: broken pipe . A parte ímpar é esta: depois que isso ocorre, a máquina "source.host" não consegue mais falar com o resto da rede. Não consigo pingar nenhum outro host na rede a partir da máquina "source.host" e não consigo executar ping na máquina "source.host" de nenhum outro host na rede. Eu sou igualmente incapaz de acessar qualquer um dos serviços da Web hospedados em "source.host".

A execução de ifconfig em "source.host" mostra o adaptador de rede funcionando normalmente com o endereço IP correto e tudo mais. Eu tentei reiniciar o serviço de rede com

$ /etc/init.d/networking restart

mas o problema não desaparece. Reiniciar a máquina torna-a capaz de falar com a rede novamente - ela pode fazer ping e ser pingada por outros hosts, e os serviços da Web também são acessíveis e utilizáveis normalmente - mas a tentativa de copiar novamente resulta na mesma falha, exigindo outra reinicialização.

Como experiência, tentei substituir o tar - ssh pipeline acima por um scp :

$ scp -r datafolder/ [email protected]:~

mas sem sucesso

Pensando que o problema pode ter a ver com o preenchimento dos buffers de envio de pacotes do kernel, tentei aumentar o tamanho do buffer para 12 MB (acima do padrão de 128 KB) com

# echo 12582911 > /proc/sys/net/core/wmem_max

mas isso também não teve efeito.

Eu estou supondo neste momento que pode ser um problema com o driver de rede sintética da Microsoft, mas eu realmente não sei. Alguém tem alguma sugestão?

Muito obrigado antecipadamente!

    
por Anonymous 22.07.2011 / 05:31

2 respostas

1

Você já tentou desativar a formação de equipes da Broadcom, se habilitado na conexão de rede Hyper-V?

Tivemos que configurar o nosso para Active / Passive, pois os drivers broadcom + linux vm estavam causando confusão no endereço MAC e fazendo com que o convidado Linux perdesse toda a conectividade de rede até ser reinicializado / migrado ao vivo ou redes virtuais religadas.

    
por 16.09.2011 / 01:00
0

Você está certo com o módulo hv_netvsc. Algumas mudanças notáveis neste driver (incluindo o hv_vmbus) só se transformaram em 2.6.39 e 3.0, onde são muito mais estáveis. Travamentos de rede regulares ou aleatórios foram bastante normais em qualquer Ubuntu e Debian VM vi usando estes

Até 2.6.38, pelo menos, vi a perda de rede aleatória com bastante regularidade, depois disso é muito mais estável - mas ainda não é perfeito.

    
por 21.11.2011 / 10:14