Temos um servidor Hyper-V configurado e o layout dos arquivos é inconsistente porque foi configurado por várias pessoas. Aqui estão os dois "modelos" diferentes que foram usados:
Modelo 1
D:\Hyper-V\Virtual Machines\MACHINE_NAME_1\Virtual Hard Disks\MACHINE_NAME_1.vhdx
D:\Hyper-V\Virtual Machines\MACHINE_NAME_1\Virtual Machines\GUID_1
D:\Hyper-V\Virtual Machines\MACHINE_NAME_1\Virtual Machines\GUID_1.xml
D:\Hyper-V\Virtual Machines\MACHINE_NAME_2\Virtual Hard Disks\MACHINE_NAME_2.vhdx
D:\Hyper-V\Virtual Machines\MACHINE_NAME_2\Virtual Machines\GUID_2
D:\Hyper-V\Virtual Machines\MACHINE_NAME_2\Virtual Machines\GUID_2.xml
....
e
Modelo 2
D:\Hyper-V\Virtual Hard Disks\MACHINE_NAME_1.vhdx
D:\Hyper-V\Virtual Hard Disks\MACHINE_NAME_2.vhdx
D:\Hyper-V\Virtual Machines\GUID_1
D:\Hyper-V\Virtual Machines\GUID_1.xml
D:\Hyper-V\Virtual Machines\GUID_2
D:\Hyper-V\Virtual Machines\GUID_2.xml
Modelo 1
O argumento apresentado para o Modelo 1 foi que, quando você faz uma exportação de uma VM, a exportação cria uma pasta com o nome da máquina, coloca pastas separadas para os discos e a VM. Você pode simplesmente apontar para o diretório da máquina ao executar uma importação.
O argumento CONTRA esse estilo de modelo é que não faz sentido que exista um diretório chamado Máquinas Virtuais se houver apenas um arquivo. O outro argumento contrário é que parece que o próprio servidor Hyper-V parece esperar que todos os discos rígidos estejam em uma pasta e todas as Máquinas Virtuais estejam em uma pasta diferente. isto é, não cria pastas separadas para cada VM (exceto aquelas nomeadas por GUID no diretório Máquinas Virtuais)
Modelo 2
O argumento para o modelo 2 é que parece que é isso que o Hyper-V espera que o layout seja.
O argumento CONTRA o Modelo 2 é que você não pode dizer quais arquivos de Máquina Virtual estão associados a uma máquina específica, a menos que você procure dentro dos arquivos xml.
Eu adoraria ouvir sobre quaisquer armadilhas para qualquer layout.
fonte
Respostas:
Você realmente deseja identificar facilmente quais arquivos pertencem a qual máquina virtual. Mesmo se você perder o acesso ao console do Hyper-V.
Isso aparece ao tentar restaurar uma VM a partir de backups. Ou quando o Hyper-V se esquece de todas as suas VMs e você precisa importá-las. Ou os arquivos de configuração da VM estão corrompidos e é necessário recriar a VM e apontar para os arquivos antigos do disco rígido (que agora não é possível identificar, pois o arquivo de configuração está corrompido). Ou você só deseja verificar rapidamente quanto espaço em disco cada VM ocupa. Ou você precisa restaurar a partir de backups, onde é possível ver os nomes dos arquivos, mas não é fácil ler os arquivos XML sem antes passar por todo o processo de restauração.
Dado isso, eu procuraria algo semelhante ao Modelo 1, onde há uma pasta para cada VM - mas deixe de fora as subpastas "Máquinas Virtuais" e "Discos Rígidos de Máquinas Virtuais" - basta colocar todos os arquivos relacionados a uma VM uma pasta com o nome da VM.
Você também não precisa de máquinas virtuais Hyper-V \ - escolha um desses rótulos, não precisará de ambos.
Então:
etc.
Ou você pode decidir que não precisa dos nomes dos arquivos para corresponder à máquina virtual - o nome da pasta é suficiente. Nomear dessa maneira tornaria mais fácil clonar uma VM sem ter que se preocupar em renomear seus arquivos:
O principal argumento aqui é organizar os arquivos para que, olhando apenas para a estrutura do arquivo, você possa dizer a que VM cada arquivo pertence e para que serve esse arquivo.
fonte
Eu não gosto de nenhum.
Como nenhum dos seus modelos é estável no caso de você mover uma VM.
Eu usaria - e faço isso sozinho - usando uma estrutura de pastas idêntica à que você obtém ao migrar uma VM entre hosts. Dessa forma, nada muda quando - você move uma VM entre hosts.
fonte
Você precisa executar o modelo 2 para separar o acoplamento de peças de máquinas virtuais das preocupações de armazenamento. Ou seja, um VHDX para uma VM pode ir para um volume de desempenho, outro VHDX para a mesma VM está mais preocupado com a capacidade - e todos podem estar com diferenças na resiliência.
Portanto, você não poderá executar o modelo 1, a menos que também introduza no layout da estrutura do arquivo a complicação de mapear diferentes locais de armazenamento no acoplamento para as partes do arquivo das máquinas virtuais.
Portanto:
MODELO 2
Modelo 2 - Aqui, o gerenciamento de armazenamento tem precedência sobre o layout dos namespaces (enquanto isso, o layout do namespace é tratado na interface do usuário para gerenciar a VM ... ou seja, algumas partes da VM podem nem ser locais, mas estar na nuvem, etc. ônibus)
... gerenciando diferentes preocupações no gerenciamento de armazenamento:
D: \ Armazenamento \ Pool1 \ Hyper-V \ Discos rígidos virtuais \ xxx-xx-xx-System-01-Prod.vhdx
D: \ Armazenamento \ Pool1 \ Hyper-V \ Discos rígidos virtuais \ xxx-xx-xx-Data-01-Prod.vhdx
D: \ Storage \ Pool2 \ Hyper-V \ Discos rígidos virtuais \ xxx-xx-xx-Data-02-Prod.vhdx
D: \ Armazenamento \ Pool3 \ Hyper-V \ Discos rígidos virtuais \ xxx-xx-xx-Recovery-01-Prod.vhdx
D: \ Armazenamento \ Pool1 \ Hyper-V \ Máquinas Virtuais \ GUID_1
D: \ Armazenamento \ Pool1 \ Hyper-V \ Máquinas Virtuais \ GUID_1.xml
D: \ Armazenamento \ Pool1 \ Hyper-V \ Máquinas Virtuais \ GUID_2
D: \ Armazenamento \ Pool1 \ Hyper-V \ Máquinas Virtuais \ GUID_2.xml
MODELO 1
Para fazer esse mapeamento no modelo 1 - em que as preocupações com espaço para nome no sistema de arquivos (também conhecido como ui pseudo-provisionada) têm precedência -, mantendo as preocupações de armazenamento:
D: \ VMs \ xxx-xx-xx-01-Prod \ xxx-xx-xx-System-01-Prod.vhdx> (vinculado a) D: \ Storage \ Pool1 \ Hyper-V \ Discos rígidos virtuais \ xxx- xx-xx-System-01-Prod.vhdx
D: \ VMs \ xxx-xx-xx-01-Prod \ xxx-xx-xx-Data-01-Prod.vhdx> D: \ Armazenamento \ Pool1 \ Hyper-V \ Discos rígidos virtuais \ xxx-xx-xx- Data-01-Prod.vhdx
D: \ VMs \ xxx-xx-xx-01-Prod \ xxx-xx-xx-Data-02-Prod.vhdx> D: \ Armazenamento \ Pool2 \ Hyper-V \ Discos rígidos virtuais \ xxx-xx-xx- Data-02-Prod.vhdx
D: \ VMs \ xxx-xx-xx-01-Prod \ xxx-xx-xx-Recovery-01-Prod.vhdx> D: \ Armazenamento \ Pool3 \ Hyper-V \ Discos rígidos virtuais \ xxx-xx-xx- Recovery-01-Prod.vhdx
D: \ VMs \ xxx-xx-xx-01-Prod \ GUID_1> D: \ Armazenamento \ Pool1 \ Hyper-V \ Máquinas virtuais \ GUID_1 D: \ VMs \ xxx-xx-xx-01-Prod \ GUID_1.xml > D: \ Armazenamento \ Pool1 \ Hyper-V \ Máquinas Virtuais \ GUID_1.xml D: \ VMs \ xxx-xx-xx-01-Prod \ GUID_2> D: \ Storage \ Pool1 \ Hyper-V \ Máquinas Virtuais \ GUID_2 D: \ VMs \ xxx-xx-xx-01-Prod \ GUID_2.xml> D: \ Armazenamento \ Pool1 \ Hyper-V \ Máquinas virtuais \ GUID_2.xml
fonte