VM Hyper-V presa em loop infinito tentando mesclar o snapshot excluído com espaço em disco insuficiente

3

Atualmente estou preso a um problema de espaço insuficiente em disco em um servidor colocado e poderia ajudar com isso. A situação é:

  • O servidor é "meu", mas está localizado em uma instalação de hospedagem, por isso não tenho acesso fácil a ele.
  • O servidor tem dois discos físicos de 250 GB em uma configuração RAID1 (isto é, apresentando um disco de 250 GB)
  • O disco é particionado em C: (177 GB) e E: (54 GB)
  • C: tem cerca de 25 GB gratuitos. Pode ser possível liberar um pouco mais de 50 GB (total), se necessário.
  • O servidor é o Win Server 2008 (não o R2)
  • Eu tenho várias VMs no servidor. O problema é chamado SVR03.
  • O SVR03 possui um arquivo vhd de expansão dinâmica, que é o único arquivo no E :, e atualmente ocupa todo o espaço da unidade: 54 GB.
  • SVR03 tinha um instantâneo, que foi armazenado no local normal em C: \ programdata \ microsoft \ windows \ hyper-v \ snapshots. Descobrimos que esse instantâneo estava ocupando cada vez mais espaço em C: e não queríamos o instantâneo, então ele foi excluído por meio do gerenciador do Hyper-V. No entanto, pelo que entendi, este snapshot precisa ser mesclado no vhd antes de ser realmente excluído, e essa mesclagem acontece no desligamento da VM.
  • Agora, após desligar o SVR03, o Hyper-V tenta realizar essa mesclagem do instantâneo com o vhd, mas porque não há espaço suficiente no E: ele falha. Parece chegar a cerca de 50% antes de falhar.
  • Originalmente, estava chegando apenas a cerca de 25% antes de falhar, depois encontrei um espaço não particionado de 2GB extra na unidade, então expandi o E :, infelizmente, não havia espaço extra suficiente e o vhd expandiu para ocupar todo o espaço mas o instantâneo não foi fundido com sucesso.
  • Depois que o Hyper-V falha na mesclagem, ele aguarda um pouco e, em seguida, tenta novamente.
  • Não consigo compactar o vhd para o SRV03 porque ele está sendo usado pelo Hyper-V tentando mesclá-lo.
  • Eu sou capaz de iniciar SVR03 novamente, mas o mesmo problema ocorre quando eu desligo.

Como posso sair dessa situação?

Existe uma maneira de dizer ao Hyper-V para não mesclar o instantâneo por enquanto, para que eu possa mover os arquivos? por exemplo. Eu poderia mover o arquivo vhd em outro lugar para que haja mais espaço (seja limpando espaço em C: ou desligando o RAID e criando um novo F: com 250GB). Se eu fosse mover o arquivo vhd, estaria tudo bem ou o instantâneo estaria de alguma forma ligado à localização atual do arquivo?

Existe uma maneira de apagar o snapshot para que eu possa desligar o SVR03 e depois mover o vhd?

Muito obrigado!

    
por Rory 25.01.2012 / 14:27

4 respostas

1

Foi assim que resolvi:

  • Anexado a um drive USB externo. Isso resolve parcialmente o problema de espaço, mas ainda me deixou com uma máquina que ficava tentando mesclar o instantâneo no desligamento da VM
  • Pare os Serviços de Gerenciamento do Hyper-V clicando com o botão direito do mouse no nome do servidor no Gerenciador do Hyper-V > Pare os Serviços. Observe que isso não impede nenhuma das VMs ou impede que você as acesse via Área de Trabalho Remota, etc.
  • Área de trabalho remota para o servidor SVR03 e desligue-a. Agora os arquivos do disco não estão em uso.
  • Copie o VHD (de E :) e o arquivo de instantâneo AVHD para a unidade USB.
  • Renomeie os arquivos VHD e AVHD originais. Isso é assim (a) o Hyper-V não tentará mesclá-los quando eu iniciá-lo, e também (b) ao usar o assistente Editar disco mais tarde, você terá a opção 'reconectar'.
  • Seguindo as instruções aqui , renomeie o AVHD arquivo para VHD, use o assistente Editar disco para editar o que era o arquivo AVHD e reconecte-o ao VHD pai. Observe que você não obtém a opção de reconexão se o arquivo VHD original (em E: no meu caso) ainda estiver lá. Agora, use o assistente Editar disco novamente para editar o arquivo AVHD e mesclá-lo com o arquivo VHD. Isso leva séculos se você estiver em um drive USB!
    • Agora meu VHD era maior que minha partição, então me livrei dessa unidade e redimensionei C: para usar esse espaço, excluí os arquivos VHD e AVHD antigos e movi o arquivo VHD mesclado para C:
    • Crie uma nova VM com as mesmas configurações que o SVR03, e dê a ela como um disco rígido existente o arquivo VHD mesclado.
    • Inicie tudo e tudo de bom!
por 04.03.2012 / 00:40
2

Desligar o RAID parece ser uma Bad Idea ™ , mas você é muito ruim, a menos que você possa conectar uma unidade USB no servidor ou algo parecido. Você pode desligar a máquina, cancelar a mesclagem, pegar os arquivos vhd e avhd. Depois que você movê-los, o Hyper-V não irá mais mesclá-los automaticamente, você terá que fazê-lo manualmente. Depois de mesclado, mova o vhd de volta para o local original e o Hyper-V detectará automaticamente que o arquivo avhd desapareceu.

    
por 25.01.2012 / 15:10
2

Renomeie todos os AVHD associados ao servidor virtual para VHD

Ele vem de um método de mesclar manualmente os instantâneos que podem funcionar.

Eu não tentei esse método, então não me responsabilizo se isso falhar. Se você tem um backup externo, sugiro que você faça um:)

Referência à fusão manual de discos

link

    
por 25.01.2012 / 16:29
0

Se você tiver o AVHD mesclar manualmente todos eles em VHD O Hyper-V irá chorar que o disco tem pontos de verificação e não pode ser alterado, portanto apenas remova o disco travado (não exclua o VHD) adicione Novo disco e Navegue até o VHD - Execute sua VM como de costume:)

    
por 29.10.2018 / 16:25

Tags