Como fazer backup de máquinas virtuais em um host ESXi independente?

16

Host independente do ESXi (4.1) sem qualquer vCenter Server.

Como fazer backup de máquinas virtuais com a maior rapidez e facilidade de armazenamento possível?

Eu sei que posso acessar o console do ESXi e usar o comando padrão Unix cp , mas isso tem a desvantagem de copiar todos os arquivos VMDK, não apenas o espaço realmente usado; Assim, para uma VMDK de 30 GB, da qual apenas 1 GB é usado, o backup levaria 30 GB de espaço total e tempo de acordo.

E sim, eu sei sobre discos virtuais com aprovisionamento dinâmico, mas eles tendem a se comportar com muito mal quando fisicamente copiados, e / ou explodir para o seu tamanho total provisionado; Além disso, eles não são recomendados para o desempenho real da VM.

Não há problema em desligar as VMs antes de fazer o backup delas (por exemplo, não preciso de backups "ao vivo"); mas preciso de uma maneira de copiá-los com eficiência; e sim, uma maneira de automatizar o desligamento / inicialização ao fazer um backup também ajudaria.

Eu só tenho o ESXi; no Service Console, no vCenter Server ... qual é a melhor maneira de lidar com essa tarefa? Além disso, e restaura?

    
por Massimo 14.09.2011 / 21:37

8 respostas

4

Acabei de escrever um script que copia os arquivos de configuração da VM e usa vmkfstools -d para clonar os VMDKs, preservando o provisionamento thin.

Para referência:

#!/bin/sh

if [ $# != 2 ]; then
        echo "Usage: $(basename $0) <SOURCE VM PATH> <DESTINATION PATH>"
        echo "Example: $(basename $0) /vmfs/volumes/datastore1/VM1 /vmfs/volumes/datastore2"
        exit
fi

vmx=$(basename $(/bin/ls $1/*.vmx))
name=$(grep displayName $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')
vmxf=$(grep vmxf $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')
nvram=$(grep nvram $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')
vmdks=$(grep vmdk $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')

echo "Started copying VM $name"

vmdir=$(basename $1)
destpath="$2/$vmdir"

echo "Source path: $1"
echo "Destination path: $destpath"

echo "Creating destination path $destpath"
/bin/mkdir -p $destpath

echo "Copying configuration files:"
echo $vmx
/bin/cp $1/$vmx $destpath
echo $vmxf
/bin/cp $1/$vmxf $destpath
echo $nvram
/bin/cp $1/$nvram $destpath

echo "Copying virtual disks:"
for vmdk in $vmdks;
do
        echo $vmdk
        /sbin/vmkfstools -d thin -i $1/$vmdk $destpath/$vmdk
done

echo "Completed copying VM $name"

Isso requer que a VM seja desligada e não tenha instantâneos ativos.

    
por 22.09.2011 / 17:09
15

Minha solução preferida para isso é simplesmente exportá-los para um arquivo ovf ou ova usando o cliente vSphere ou o linha de comando ovftool .

No vSphere Client, certifique-se de que a VM esteja desativada, selecione-a e vá para Arquivo- > Exportar & Exportar o modelo OVF. Em seguida, basta seguir as instruções.

Restaurar é um pedaço de bolo, basta fazer o inverso (a opção do menu é "Implantar modelo OVF", eu acho).

Para criar um backup thin usando o ovftool

ovftool -dm=thin  vi://<user>@<esxi-host>/<vm-name> <local-file>.ovf

Você também pode querer conferir algumas das opções no link , eu sei que elas são muito populares e eu acho que há algumas boas escolhas para backups, embora eu não tenha olhado para nenhum deles recentemente.

    
por 14.09.2011 / 21:49
5

Eu não sei se isso se encaixa na conta para você, mas o VM Explorer faz um bom trabalho ao realizar backups quentes ou frios de máquinas virtuais. Acredito que, com o ESXi 4.1, o VM Explorer permite que você realize backups de convidados da VM de um host para outro também.

    
por 14.09.2011 / 22:58
3

Eu tentaria usar uma solução comprovada de algum tipo, em vez de usar a sua própria. O aborrecimento, o tempo e o risco reduzidos serão facilmente compensados, mesmo que você opte por uma solução que não seja gratuita. Todos esses problemas com os quais você está preocupado são abordados em qualquer solução de backup moderna para o ESXi.

A solução que um cliente usa em seu ambiente ESXi com boa sorte é a Veeam. Existe até uma edição gratuita que pode funcionar para as suas necessidades: link

    
por 30.08.2016 / 07:39
2

O Ghetto VCB pode fazer o backup enquanto a máquina está em execução. Para o espaço, você pode usar um sistema de arquivos de deduplicação + compactação como o lessfs no servidor de backup.

    
por 14.09.2011 / 22:19
1

O XSIBackup é um serviço do ESXi que é executado no sistema operacional do hipervisor ESXi e tem uma pegada mínima. Na verdade, seus usuários não notarão que há um backup em segundo plano.

Oferece duas ferramentas diferentes: XSIBackup-Free e XSIBackup-Pro.

O

XSIBackup-Free oferece todos os recursos presentes na versão Pro, como:

  • Backups quentes
  • Cron scheduling
  • Backups diferenciais instantâneos (OneDiff)
  • Deduplicação em nível de bloco nativo mais compactação para datastores locais e para servidores Linux (XSITools).

A versão Pro oferece todas as ferramentas acima e mais extensas que agilizarão suas transferências de dados (XSIDiff), certificação de backup via checksum, métodos de comparação rápida de arquivos e uma GUI SSH (Graphical User Interface) que permite configurar todas as opções um assistente, acelerando a configuração de tarefas de backup.

link

    
por 07.09.2013 / 15:37
0

Estou exportando para o formato OVF também. Tudo bem porque ele compacta a imagem com gzip.

Mas as licenças sumiram, porque, ao importar um arquivo OVF para um ESXI, é criada uma máquina com novo hardware.

Solução:

Eu backup (download) da pasta de arquivos da máquina virtual sem a imagem grande e comprimir-los.

Ambos - pasta ovf e cópia compactada de arquivos de imagem virtual (sem imagem grande) - estão na mesma pasta.

Restaurando:

- > Importando o OVF para o ESXI e carregando a configuração descompactada (da pasta de arquivos de backup) - > Máquina Virtual está bem novamente

ismail

    
por 02.10.2013 / 09:17
0

cpio pode copiar arquivos esparsos enquanto preserva os "buracos" neles.

    
por 11.11.2013 / 09:25