Problema muito estranho com discos finos / grossos VMDK

3

Eu tenho algumas máquinas virtuais ESXi (4.1) que foram criadas inicialmente usando discos thin-provisioned, mas foram movidas fisicamente para diferentes armazenamentos de dados (todos eles iSCSI); Como esses são hosts independentes, não há nenhum servidor vCenter disponível para gerenciá-los, portanto, a operação foi feita a partir da linha de comando do ESXi usando o comando mv .

Agora as VMs exibem um comportamento bastante interessante: o formato do disco nas configurações da VM é mostrado como "espesso", os arquivos VMDK não têm a linha ddb.thinProvisioned = "1" , mas o tamanho real do arquivo é muito menor que o tamanho do disco virtual. Quando examinado pelo Navegador do Datastore, ele mostra duas colunas diferentes para "Tamanho" e "Tamanho provisionado", da mesma forma que faria com um disco com provisionamento thin.

No entanto, isso não parece ser um problema, já que as máquinas estão funcionando bem.

Em seguida, outra cópia deles foi tirada para fins de backup; essa cópia também foi feita a partir da linha de comando, usando o comando cp , entre dois datastores no mesmo host (novamente, ambos iSCSI).

Em seguida, perdemos as VMs originais e precisávamos das backups.

E estes não funcionam mais, reclamando sobre a corrupção dos arquivos VMDK.

Então, para recapitular:

  • VM criada com disco com aprovisionamento limitado - > trabalhando
  • VM movida fisicamente entre dois datastores - > mostra disco como grosso, mas se comporta como fino, mas a VM funciona bem
  • VM copiada fisicamente entre dois datastores - > disco se comporta da mesma forma, a VM não funciona mais

Eu tentei editar manualmente o arquivo VMDK para adicionar a linha ddb.thinProvisioned = "1" , mas isso não resolveu o problema. Eu tentei inflar o disco virtual, cloná-lo e convertê-lo: nada funciona, todo comando reclama que o disco está corrompido.

Eu estou com muita dificuldade para trazer essas VMs novamente; alguém por favor pode ajudar?

    
por Massimo 14.09.2011 / 13:00

2 respostas

3

Parece que copiar fisicamente os discos thin-provisioned é uma ideia ruim . O VMFS faz coisas estranhas com discos thin-provisioned, coisas que cp ou mv não conseguem suportar. Corrupção segue.

Não faça isso. vmkfstools lida com eles muito melhor (e mais seguro).

    
por 04.02.2012 / 23:49
0

Eu suspeito que seu armazenamento é um armazenamento de dados VMFS e não NFS?

Você poderia tentar baixar / copiar o vmdk em questão em algum lugar seguro, onde você poderia começar a usá-lo usando vmware-vdiskmanager ou vmware-mount - ambos parte do VMWare Server / Workstation ou disponível como um download independente do IIRC.

Se tudo falhar, tente usar ferramentas de terceiros nele - ferramentas como qemu-img do pacote QEMU ou VBoxManage clonehd do VirtualBox são capazes de converter vmdks em arquivos brutos que você pode simplesmente enviar de volta para o seu convidado ESX.

Existe também um driver de disco alternativo chamado "vdk" para Windows (a página do autor original parece inoperante, mas há < a downloads de versões mais antigas e por aí) que há rumores de que é possível ler arquivos vmdk parcialmente corrompidos muito bem - embora eu ainda tenha que testar isso.

Quanto à possível causa de corrupção, especularia que o comando "cp" não era o culpado. Há muitas maneiras de obter dados corrompidos - usando alvos iSCSI que não suportam / implementam reservas SCSI é uma delas. De qualquer forma, acho que a melhor maneira documentada para um processo de cópia é usar vmkfstools - você deve ficar com isso.

    
por 14.09.2011 / 13:30