Configurar o PowerShell da VM do Hyper-V

13

Como reconfigurar VMs Hyper-V

Quero poder alterar o arquivo de configuração da VM, os pontos de verificação e os locais do disco rígido virtual com o Powershell.

Meu Google-FU está apenas me apontando para mover, tenho cerca de 100 VMs para alterar, posso mover os arquivos, não me importo de um pouco de inatividade. Ao percorrer o assistente para cada VM, leva de 5 a 15 minutos por VM e esses são os menores, eu preciso ser capaz de fazer todos os 100 em 2 horas.

Se eu precisar esclarecer, por favor me avise.

== Onde eu estou ficando preso ==

Sim, eu vi esse link e olhei para a maioria dos comandos, mas nenhum faz o que estou procurando.

Os arquivos juntos têm cerca de 14 TB

As ~ 100 VMs estão agrupadas entre 7 hosts. O armazenamento compartilhado é o disco giratório da EMC e quero movê-los para o 3Par ssd.

Agora, o que eu pude fazer com sucesso foi desligar as VMs, mover os arquivos, excluir todas as VMs e recriá-las com o PowerShell VIA, que quando eu disse ao meu CTO que talvez fosse a única maneira de ele falar sobre gatinhos de merda.

O que eu quero poder não é MOVER a VM, apenas reconfigurá-los,

Em outros trabalhos, é possível alterar:

insira a descrição da imagem aqui

PARA:

insira a descrição da imagem aqui

Quero poder fazer isso usando o PowerShell. Também preciso fazer a mesma coisa nos pontos de verificação, nos arquivos de configuração e em todos os outros componentes da VM Hyper-V.

Eu posso tolerar cerca de 2 horas de inatividade, para fazer o MOVE através do assistente, pois todas as VMs não apenas desgastam meu mouse, mas levam cerca de 6 horas.

Eu também tenho pesquisado isso e testado estratégias diferentes há algumas semanas.

==== Mais um tiro ====

Eu não estou olhando para "Mover", tudo o que eu quero fazer é alterar as configurações do hyper-V. A movimentação levará muito tempo, é muito mais rápido copiar os arquivos pela rede e atualizar os caminhos. no Hyper-V, posso desligar as máquinas.

Estou pensando que não pode ser feito?

Anthony Fornito
fonte
Que tipo de pesquisa você fez até agora? A documentação no módulo hyper-v parece muito boa para mim. Onde você está ficando preso?
procurando
@ Zoredache, por favor, olhe a atualização.
Anthony Fornito 5/09/17
1
Se eles estiverem em cluster, você só precisará mover o armazenamento, usando a opção Mover armazenamento. Está na GUI e não deve resultar em tempo de inatividade. blogs.msdn.microsoft.com/clustering/2012/04/26/…
Drifter104 5/17/17
Im thinking it cannot be done?Eu acho que isso pode ser feito, mas seria um script longo e complicado. Praticamente tudo sobre uma VM pode ser totalmente manipulado via PowerShell. Suspeito que você esteja dificultando sua vida por não deixar as ferramentas gerenciarem a movimentação dos arquivos para você.
Zoredache
@ Zoredache em um mundo perfeito onde eu tinha 6 horas sim, seria bom para usar as ferramentas, no entanto eu tenho 2
Anthony fornito

Respostas:

8

Não tenho certeza se isso faz o que você precisa, mas há um exemplo de fragmento do PowerShell que eu usei no passado para migrar VMs, incluindo todo o armazenamento para um novo destino

Get-VM -Name ('ansible-test-acs',
              'ansible-test-web',
              'ansible-test-db') |
ForEach-Object {
    # move everything to d:\hyper-v\vm_name on hv-srv-01
    $MoveOptions = @{
        'Name'                   = $_.Name
        'DestinationHost'        = 'hv-srv-01'
        'IncludeStorage'         = $true
        'DestinationStoragePath' = 'D:\Hyper-V\{0}' -f $_.Name
    }
    $MoveOptions
    Move-VM @MoveOptions -WhatIf
    # Move-VM @MoveOptions
}

Mover o armazenamento da VM para um novo caminho

('ansible-test-web', 'ansible-test-db') |
ForEach-Object {
    Move-VMStorage $_ `
            –DestinationStoragePath "E:\Hyper-V\$_"
}

Se você copiou uma VM e todos os seus arquivos para um novo local e deseja que o Hyper-V comece a usar o novo local, poderá fazer algo assim.

Remove-VM oldvmname
Import-VM -Register -Path 'path to VM config file'
Zoredache
fonte
Agradecimentos para o código, mas ele ainda se move atualização see do VM
Anthony fornito
Você viu a opção de mover apenas o armazenamento, certo?
Zoredache
Sim, mas não estou procurando 'MOVER' o armazenamento, copiei o arquivo vhdx para o novo local, também posso usar o comando Set-VMHardDiskDrive, que funciona para alterar o diretório de armazenamento quando a VM está desligada, o que também é bom, mas não consigo descobrir como 'ALTERAR' o ponteiro para o arquivo de configuração da VM.
Anthony Fornito
Se você realmente copiou todos os arquivos e tem certeza, remova a remoção e reimporte a VM. Resposta atualizada com um exemplo.
Zoredache