Práticas recomendadas para o layout de arquivos em um servidor Hyper-V?

10

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 feito 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 vm. Você pode simplesmente apontar para o diretório da máquina quando executar uma importação.

O argumento CONTRA este estilo de modelo é que não faz sentido haver um diretório chamado Virtual Machines se houver apenas um arquivo. O outro argumento é que parece que o próprio servidor Hyper-V parece esperar que todos os discos rígidos estejam em uma pasta e que todas as máquinas virtuais estejam em uma pasta diferente. isto é, não cria pastas separadas para cada VM (exceto aquelas nomeadas pelo GUID no diretório Virtual Machines)

Modelo 2

O argumento FOR Template 2 é que parece que é isso que o Hyper-V espera que o layout seja.

O argumento AGAINST Template 2, é que você não pode dizer quais arquivos da Máquina Virtual estão associados a uma máquina específica, a menos que você olhe dentro dos arquivos xml.

Eu adoraria ouvir sobre quaisquer armadilhas para qualquer layout.

    
por Benjamin Peikes 14.11.2014 / 20:24

3 respostas

11

Você realmente quer ser capaz de identificar facilmente quais arquivos pertencem a qual máquina virtual. Mesmo se você perder o acesso ao console do Hyper-V.

Isso ocorre quando se tenta restaurar uma VM a partir de backups. Ou quando o Hyper-V esquece todas as suas VMs e você precisa importá-las. Ou os arquivos de configuração da VM estão corrompidos e você precisa recriar a VM e apontar para os arquivos antigos do disco rígido (que agora você não consegue identificar, pois o seu arquivo de configuração está corrompido). Ou você apenas 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 que, eu iria para algo semelhante ao Template 1, onde há uma pasta para cada VM - mas deixe de fora as subpastas "Virtual Machines" e "Virtual Machine Hard Disks" - apenas coloque todos os arquivos relacionados a uma VM em uma pasta com o nome da VM.

Você também não precisa de máquinas Hyper-V \ Virtual - escolha um desses rótulos, você não precisa dos dois.

Então:

D:\Virtual Machines\MACHINE_A\GUID_1.xml
D:\Virtual Machines\MACHINE_A\Machine_a_OS.vhdx
D:\Virtual Machines\MACHINE_A\Machine_a_Data.vhdx

D:\Virtual Machines\MACHINE_B\GUID_2.xml
D:\Virtual Machines\MACHINE_B\Machine_b_OS.vhdx
D:\Virtual Machines\MACHINE_B\Machine_b_Data.vhdx

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:

D:\VMs\Machine A\GUID_1.xml
D:\VMs\Machine A\OS.vhdx
D:\VMs\Machine A\Data.vhdx

D:\VMs\Machine B\GUID_2.xml
D:\VMs\Machine B\OS.vhdx
D:\VMs\Machine B\SQLData.vhdx
D:\VMs\Machine B\SQLLog.vhdx

O principal objetivo aqui é organizar os arquivos de modo que, olhando apenas para a estrutura de arquivos, você possa saber a qual VM cada arquivo pertence e para que serve esse arquivo.

    
por 14.11.2014 / 20:35
1

Eu não gosto de nenhum.

Porque nenhum dos seus modelos é estável no caso de você mover uma VM.

Eu faria isso - e faço isso sozinho - use uma estrutura de pastas idêntica à que você obtém quando você executa uma VM entre hosts. Dessa forma, nada muda quando - você move uma VM entre hosts.

    
por 17.11.2014 / 17:59
1

Você precisa fazer o modelo 2 para separar o acoplamento das partes da máquina virtual das preocupações com armazenamento. Ou seja um VHDX para uma VM pode ter um volume de desempenho, outro VHDX para a mesma VM está mais preocupado com a capacidade - e todos podem estar com diferenças de resiliência.

Portanto, você não poderá fazer o modelo 1, a menos que você também introduza no layout da estrutura de arquivos a complicação de mapear locais de armazenamento diferentes no acoplamento para as partes do arquivo das máquinas virtuais.

Assim:

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. usando, por exemplo, o barramento de armazenamento)

... 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: \ Armazenamento \ Pool2 \ Disco Rígido Hyper-V \ Virtual \ 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 - onde as preocupações de namespace no sistema de arquivos (também conhecido como pseudo provisioned ui) têm precedência - enquanto mantêm as preocupações de armazenamento:

D: \ VMs \ xxx-xx-xx-01-Prod \ xxx-xx-xx-System-01-Prod.vhdx > (vinculado a) D: \ Armazenamento \ 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: \ Storage \ 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: \ Storage \ 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 \ Virtual Machines \ 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: \ Armazenamento \ Pool1 \ Hyper-V \ Virtual Machines \ GUID_2 D: \ VMs \ xxx-xx-xx-01-Prod \ GUID_2.xml > D: \ Armazenamento \ Pool1 \ Hyper-V \ Máquinas Virtuais \ GUID_2.xml

    
por 15.10.2016 / 13:21