A redução de disco não funciona nos convidados do ESXi

11

EHLO todos! Meu primeiro post na rede StackOverflow:)

Estamos executando algumas infraestruturas do ESXi 5.0 / vCenter para hospedar principalmente sistemas convidados 6 / amd64 do Debian com partições ext3 e open-vm-tools compilado a partir de fontes por debian bug 471784 .

Temos um problema que é visto em toda a Internet, mas sem uma resposta conclusiva dada em qualquer lugar.

Ao tentar reduzir um disco thin-provisioned no modo independente persistente, sem instantâneos, pais, clones, eu sempre recebo o seguinte erro:

root@linux64:~# vmware-toolbox-cmd disk list
Shrink disk is disabled for this virtual machine.

Shrinking is disabled for linked clones, parents of linked clones,
pre-allocated disks, snapshots, or due to other factors.
See the User's manual for more information.

(A propósito, quais são os "outros fatores", e qual da tonelada de white papers e manuais técnicos é o manual do usuário?:)

Eu sei que posso encher as partições com zeros (na verdade, uso shred -fuzn0 ao excluir arquivos grandes), em seguida, desligar o convidado em questão e usar vários métodos como vmkfstools , clonagem ou vMotioning em discos modo de thin-provision, etc, mas todos eles incorrem na penalidade de tempo de inatividade para o convidado que está sendo shirnked, ou resultam em uma movimentação injustificada de dados entre datastores e / ou hosts.

E a resposta é: Sem redução no ESX / ESXi (a partir da versão 5).

A documentação diz:

IMPORTANTE A diminuição de discos não é permitida nas seguintes circunstâncias:

  1. A máquina virtual está hospedada em um servidor ESX / ESXi. O servidor ESX / ESXi pode reduzir o tamanho de um virtual disco somente quando uma máquina virtual é exportada. O espaço ocupado por o disco virtual no servidor ESX / ESXi, no entanto, não muda.

  2. A máquina virtual tem um guest Mac em operação sistema.

  3. Você pré-alocou todo o espaço em disco para o virtual disco quando você o criou.

  4. A máquina virtual contém um instantâneo .

  5. A máquina virtual é um clone vinculado ou pai de um clone vinculado.

  6. O disco virtual é um disco independente em Modo não persistente .

  7. O sistema de arquivos é um sistema de arquivos de registro no diário , como como um sistema de arquivos ext4, xfs ou jfs .

Não é de admirar que seja uma opção para reduzir no VMWare Workstation, mas não no vSphere Client conectado a uma instância do ESXi ou do vCenter.

    
por NekojiruSou 13.06.2012 / 08:45

3 respostas

3

link Página 13:

A diminuição de discos não é permitida nas seguintes circunstâncias:

A máquina virtual está hospedada em um servidor ESX / ESXi. ESX / ESXi Server pode reduzir o tamanho de um disco virtual somente quando uma máquina virtual é exportada. O espaço ocupado pelo disco virtual no servidor ESX / ESXi, no entanto, não muda.

    
por 14.06.2012 / 04:27
17

Na verdade, existe uma maneira de reduzir uma VM no ESXi, embora seja necessário desligar a VM para isso. Veja como:

  1. Zero todo o espaço não utilizado dentro da VM:

    dd if=/dev/zero bs=1048576 of=/zero ; sync ; rm /zero

  2. Faça o mesmo com outros pontos de montagem, partições de troca, etc.

  3. Encerre a VM.

  4. SSH para ESXi e emita este comando:

    vmkfstools -K /vmfs/volumes/volumename/vmname/vmname.vmdk

Isso levará algum tempo ... vmkfstools "perfura buracos" dentro do seu VMDK, por exemplo, desaloca todos os blocos preenchidos com zeros, reduzindo efetivamente seu VMDK.

    
por 13.03.2013 / 19:49
0

A única maneira de reduzir um VMDK no vSphere ESXi seria exportar ou migrar / Storage vMotion para outro datastore. Eu faço muito isso com servidores ativos que podem manipular uma migração (não SQL ou Exchange). Um administrador de servidor anterior criou todas as VMs com discos Thick Provisioned. Eu migro as VMs de um datastore para outro e mudo o VMDK para thin-provisioned.

Você também pode fazer o vmkfstools se o servidor estiver off-line.

    
por 08.12.2016 / 22:02