O Windows Server 2008 R2 é interrompido durante uma operação de cópia de arquivo

8

Quando minha máquina com Windows Server 2008 R2 executa grandes operações de disco (copiando arquivos de 10 GB de uma unidade para outra, copiando arquivos semelhantes pela rede, mesclando snapshots do HyperV, compactando arquivos grandes), o desempenho de toda a máquina fica terrivelmente lento, tudo fica sem resposta . Isso é perceptível em qualquer situação em que o acesso ao disco é grande o suficiente para não caber no cache.

Existem configurações disponíveis para ajustar esse comportamento? Posso aceitar uma transferência mais lenta de arquivos, se isso me fornecer mais capacidade de resposta.

Detalhes do sistema: Dell Optiflex 960, Core 2 Quad Q9650, 8 GB de RAM, 2 unidades SATA - 320 GB (ST3320418AS) e 1 TB (ST31000528AS), NCQ ativo em ambos, Ethernet Intel 82564LM-3 Gigabit, gráficos ATI HD 3450, ponte Intel ICH10. Temos várias máquinas como esta, todas exibindo o mesmo comportamento. Embora isso fosse um exagero para uma estação de trabalho, aparentemente eu estava enganado.

Atualização: acho que não deveria ter mencionado o HyperV. A configuração acima é uma instalação padrão da estação de trabalho na empresa em que trabalho; este não é um servidor de qualquer tipo. Eu tenho no máximo 3 máquinas virtuais funcionando e geralmente sou a única pessoa que as acessa. No entanto, a desaceleração ocorre mesmo quando não há VMs em execução. Em uma máquina Linux, bastava ioniceo processo de cópia e poderia esquecê-lo. Existe alguma maneira de gerenciar as prioridades de E / S no Windows?

Skolima
fonte
Que tipo de processador você está usando? Que tipo de subsistema de disco você está acessando e qual modelo?
Hyppy 28/03
Atualizei minha pergunta com detalhes.
Skolima 30/03/11
Algum antivírus em execução?
Hyppy
Não. O servidor é basicamente apenas um host HyperV. Sim, tenho 100% de certeza de que não está infectado com nada. Não, as VMs não estão ocupadas.
Skolima
Só para esclarecer, as cópias dos arquivos ocorrem fora das VMs? Eu usei uma configuração bastante semelhante à sua sem problemas para fins de laboratório de teste. Obviamente, você não espera um desempenho de nível de servidor, mas funciona. Nossa carga é mais intensiva em CPU do que em IO. :)
Jeremy

Respostas:

7

Usar um servidor como desktop ... tem um driver de placa de vídeo sofisticado instalado? (apenas uma sugestão)

http://blogs.msdn.com/b/virtual_pc_guy/archive/2009/11/16/understanding-high-end-video-performance-issues-with-hyper-v.aspx

Atualização: em um i7 com suporte a SLAT ou EPT, você pode fazer algo assim {somente para VMs} via RemoteFX. Mas rodar o Aero no host ainda pode piorar o desempenho.

TristanK
fonte
1
Configuração de monitor duplo, ATI Radeon (bastante decente) - isso pode ser um bom problema, vou dar uma olhada.
Skolima
2
Você estava certo! O 'Virtual TLB Flush Entries / s' dispara pelo telhado quando um trabalho de cópia é iniciado. Excelente captura, pena que isso significa que precisamos substituir nosso hardware.
Skolima
Incrível, sorta! Eu sugiro apenas verificar se os problemas de desempenho são corrigidos se você inicializar com o modo VGA para um teste rápido. (não é divertido, eu sei)
TristanK
2

Estou inclinado a isso acontecer se você executar um servidor hyper-v em hardware inapropriado. Eu tinha o mesmo em sistemas de estação de trabalho reaproveitados, onde o orçamento de IO do disco ard estava na extremidade inferior.

Desde que mudei para um controlador de ataque adequado em um servidor mais robusto, eu posso copiar essas coisas em velocidades que eu achei incríveis antes (centenas de megabytes por segundo, enquanto outras coisas acontecem). O único problema é quando 10 ou mais vm estão fazendo sua orgia mensalmente ao mesmo tempo.

Sugiro verificar: * Tempo médio de resposta do disco, normalmente e durante as operações * Porcentagens de disco ocupado.

Para obter mais informações, poste o hardware completo - memória, processador, subsistema de disco e layout.

** Atualização

Drives SATA - 320 GB e 1 TB

Você deve estar brincando para executar o Hyper-V contra isso.

Aqui estão algumas configurações que eu tenho.

  • Servidor pequeno (16 GB de RAM, executa várias imagens): Adaptec 3405, cache de gravação de 245mb com backup em bateria, disco ram de 3x 320 GB. Isso é uma coisa de baixo desempenho. Works nice. Eles também têm outros 4 discos como armazenamento de arquivos 8 porque eu os uso como servidores de arquivos duplos em uma configuração de desenvolvimento pequena).
  • Servidor padrão: 64 GB de RAM, um em uso. Executa de 20 a 30 imagens. E aqui vamos nós: Controlador Adaptec 5805, RAM de 512 MB, backup de bateria, cache de gravação de volta. Velociraptores de 8 (!) 10.000 RPM, RAID 10.

AMBOS (!) Têm problemas ao fazer grandes transferências de arquivos quando o IO recebe impostos, embora o maior tenha uma rede limitada (1gbit até em 5 horas e depois 4) e geralmente o combo com o controlador lida com a situação MUITO bem.

Um sistema de 2 discos - e o 1 TB obviamente não é um disco de desempenho, mas um feito para o tamanho - é simplesmente como correr uma corrida de Fórmula 1 com um panda. O controlador de baixo preço a bordo sem buffer significa que também não é possível a otimização de IO. Quando a cópia do seu arquivo é acessada, o orçamento do disco entra totalmente nisso. Pode haver alguns restos para o sistema operacional, mas qualquer outra coisa .... uau.

Pelos padrões modernos, esse é o servidor final LOOOOOW ou uma estação de trabalho decente com muita CPU (8 GB de RAM é uma estação de trabalho superior). Os discos não têm classificação de servidor. Isso não é algo em que eu colocaria um hipervisor, exceto nas demonstrações. O Hyper-V é como um banco de dados - ele precisa de E / S. Muito de. Como o hypervisor mata totalmente o "acesso seqüencial" e o transforma em aleatório, como qualquer banco de dados.

Você precisa colocar recursos adequados de IO nele. Além de RAM suficiente (se necessário), você pode executar muito mais neles, em termos de máquina virtual - a CPU é simplesmente totalmente não utilizada. Espero que as suas VMs consumam bastante CPU, caso contrário serão desperdiçadas.

TomTom
fonte
+1 para "patch orgy"
BenGC 15/04
Não há nenhuma razão você não pode executar o Hyper-V em que, enquanto existem expectativas apropriadas
Jim B
;) E os melhores são baixos com essa caixa.
TomTom
Esta é uma estação de trabalho de usuário único, não um servidor. Atualizei a pergunta.
Skolima
Ainda preso. Verifique se você não possui erros óbvios de configuração - MUITO importante: talvez seu departamento de TI não tenha sido inteligente o suficiente para ativar o NCQ. Infelizmente, as prioridades de IP do Windows não são configuráveis ​​para o meu conhecimento.
TomTom
1

Eu tive um problema semelhante: Windows 2008, servidor VMware e um servidor low-end com unidades SATA. O desempenho da rede e a cópia local de arquivos grandes foram ruins. Depois de investigar, descobri que o modo SATA estava no IDE emulado na configuração do BIOS. Alterado para SATA nativo e o desempenho aumentou ligeiramente. No entanto, as unidades SATA não são a melhor idéia para virtualização. Três vms e outras tarefas do host significam que o acesso às unidades será um gargalo.

nablas
fonte
0

Convém tentar descarregar o máximo de IO do disco possível em uma SAN externa. (Um drobo faria o trabalho muito bem) Parece que o host simplesmente não consegue lidar com a quantidade de E / S. Também pode ser útil verificar se os drivers do chipset e do controlador de disco estão instalados e atualizados.

TheCompWiz
fonte
0

Parece que você tem 2 unidades SATA e eu acho que há mais atividade na unidade de 1 TB. Você não disse que tipo de unidades, mas eu também suspeitaria que elas não suportam o NCQ (o que ajudaria um pouco). Claramente, você tem um gargalo de IO. O optiplex 960, conforme configurado, não seria capaz de lidar com grandes cargas de E / S, pois acredito que os 2 discos compartilham o mesmo barramento (a bordo é um multiplicador de portas). Você pode tentar comprar um cartão de sata adicional (minha sugestão http://www.newegg.com/Product/Product.aspx?Item=N82E16816318008&cm_re=pci_express_sata- -16-318-008- -Produto) ou algo semelhante. Eu tentei usar desktops no passado como servidor e tive dores de cabeça semelhantes ao ponto em que agora vou escolher um servidor barato. A HP tem uma série ML 110 que custa US $ 400 (e isso é com um Core i3). Os chipsets de servidor são quase sempre controladores SATA de várias linhas.

Jim B
fonte
0

Você pode examinar as prioridades de E / S usando o Monitor de Recursos. Eu também encontrei um tópico com uma ferramenta para ajustá-los aqui

uSlackr
fonte
0

Eu começaria com a instalação / execução do Process Hacker . É como o explorador de processos, mas melhor.

Inicie uma cópia de arquivo e, em seguida, comece a classificar os dados exibidos, procurando algo que pareça estranho.

Ferramentas -> Arquivo de paginação - É enorme? Qual foi o seu pico? Verifique o explorer.exe clicando duas vezes em Process hacker e veja a guia Performance. Aqui está a aparência da minha ao copiar uma pasta VM (contendo vários arquivos vmdk de vários tamanhos).

Confira a janela inferior que mostra minhas E / S. Eu assisti e vi que caiu para zero ao terminar cada arquivo.

A utilização dos recursos do explorer.exe aumenta?
Outro processo dispara? (ou seja, AV digitalizando o processo de cópia?)

Faça o mesmo em outro sistema com especificações semelhantes e compare os resultados.

Todos os seus núcleos estão sendo usados?

Esperamos que o Process Hacker lhe dê uma perspectiva adicional do problema.

apelido
fonte