¿Cómo hacer una copia de seguridad de máquinas virtuales en un host ESXi independiente?

17

Host ESXi independiente (4.1) sin ningún servidor vCenter.

¿Cómo hacer una copia de seguridad de las máquinas virtuales de la manera más rápida y fácil de almacenar posible?

Sé que puedo acceder a la consola ESXi y usar el cpcomando estándar de Unix , pero esto tiene la desventaja de copiar todos los archivos VMDK, no solo su espacio realmente utilizado; entonces, para un VMDK de 30 GB de los cuales solo se usa 1 GB, la copia de seguridad tomaría 30 GB completos de espacio, y el tiempo correspondiente.

Y sí, sé sobre discos virtuales de aprovisionamiento delgado, pero tienden a comportarse muy mal cuando se copian físicamente, y / o explotar a su tamaño de aprovisionamiento completo; Además, no se recomiendan para el rendimiento real de VM.

Está bien para mí apagar las máquinas virtuales antes de hacer una copia de seguridad (es decir, no necesito copias de seguridad "en vivo"); pero necesito una forma de copiarlos de manera eficiente; y sí, una forma de automatizar el apagado / inicio cuando se realiza una copia de seguridad también ayudaría.

Solo tengo ESXi; sin consola de servicio, sin servidor vCenter ... ¿cuál es la mejor manera de manejar esta tarea? Además, ¿qué pasa con las restauraciones?

Massimo
fuente

Respuestas:

17

Mi solución preferida para esto es simplemente exportarlos a un archivo ovf u ova usando el cliente vSphere o la línea de comandos ovftool .

En vSphere Client, asegúrese de que la VM esté apagada, luego resáltela y vaya a Archivo-> Exportar-> Exportar plantilla OVF. Luego solo sigue las indicaciones.

Restaurar es pan comido, simplemente haga lo contrario (la opción de menú es "Implementar plantilla OVF", creo).

Para crear una copia de seguridad delgada utilizando ovftool

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

También puede consultar algunas de las opciones en http://www.virtuallyghetto.com/ , sé que son muy populares y creo que hay algunas buenas opciones para las copias de seguridad, aunque no he visto ninguna de ellas. Demasiado recientemente

Jed Daniels
fuente
La copia de seguridad y restauración de OVF parece funcionar muy bien como la opción de copia de seguridad VMWare de un hombre pobre. Eventualmente tengo la intención de automatizar el uso de cli ovftool, pero cerrar la vm dentro del script mientras se ejecuta la copia de seguridad será la parte difícil.
alimentado a vapor el
OVF es muy lento. Si desea evitar el tiempo de inactividad, puede usar el cliente web para clonar una máquina virtual en ejecución pagando vMotion, luego apagar y hacer una copia de seguridad del clon. Sin tiempo de inactividad.
impulsado por vapor
5

No sé si esto le conviene, pero VM Explorer hace un buen trabajo al realizar copias de seguridad en frío o en caliente de máquinas virtuales. Creo que con ESXi 4.1 VM Explorer también le permite realizar copias de seguridad de invitados VM de un host a otro.

joeqwerty
fuente
Tendré que ver esto más, pero desde el principio veo algo que me gusta: licencia por instalación.
Chadddada
La versión básica es gratuita
Matthew Lock
Es bueno tener en cuenta que esto ya no es gratis, el nivel más bajo es "Profesional" a $ 699
Douglas Gaskell
4

Terminé escribiendo un script que copia los archivos de configuración de VM y los usa vmkfstools -dpara clonar los VMDK mientras se preserva el aprovisionamiento delgado.

Para referencia:

#!/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"

Esto requiere que la VM esté apagada y no tenga instantáneas activas.

Massimo
fuente
Hola, ¿qué hay de holgazán grueso?
rovshango
Gran script @Massimo, pero tuve que agregar comillas dobles a la asignación de vmx para evitar el error de sintaxis de nombre base: vmx = $ (nombre base "$ (/ bin / ls $ 1 / *. Vmx)"). Pero ahora, si la ruta $ 1 contiene espacios, se bloquea porque $ 1 no se cotiza. No pude deshacerme de este problema. ¿Alguna idea?
Blazeag
4

Intentaría usar una solución probada de algún tipo en lugar de usar la suya. La molestia, el tiempo y el riesgo reducidos se amortizarán fácilmente incluso si opta por una solución que no sea gratuita. Todos estos problemas que le preocupan se abordan en cualquier solución de copia de seguridad moderna para ESXi.

La solución que utiliza un cliente en su entorno ESXi con buena suerte es Veeam. Incluso hay una edición gratuita que puede funcionar para sus necesidades: https://www.veeam.com/virtual-machine-backup-solution-free.html

Josh Richards
fuente
1
La edición gratuita aún necesita licencias de ESXi.
Overmind
@ Overmind Tienes toda la razón. Pasé por alto que no funciona (irónicamente, tal vez) con la edición gratuita de vSphere Hypervisor.
Josh Richards
2

Ghetto VCB puede hacer la copia de seguridad mientras la máquina está en funcionamiento. Para el espacio, puede usar un sistema de archivos de deduplicación + compresión como lessfs en el servidor de respaldo.

Mircea Vutcovici
fuente
1

XSIBackup es un servicio de ESXi que se ejecuta en el SO del hipervisor ESXi y tiene una huella mínima. De hecho, sus usuarios no notarán que hay una copia de seguridad en segundo plano.

Ofrece dos herramientas diferentes: XSIBackup-Free y XSIBackup-Pro.

XSIBackup-Free ofrece todas las características presentes en la versión Pro, como:

  • Copias de seguridad en caliente
  • Programación cron
  • Copias de seguridad diferenciales instantáneas (OneDiff)
  • Desduplicación de nivel de bloque nativo más compresión para almacenes de datos locales y servidores Linux (XSITools).

La versión Pro ofrece todas las herramientas anteriores más extendidas que acelerarán sus transferencias de datos (XSIDiff), certificación de respaldo mediante suma de verificación, métodos rápidos de comparación de archivos y una GUI SSH (interfaz gráfica de usuario) que permite configurar todas las opciones desde un asistente, acelerar la configuración de trabajos de respaldo.

https://33hops.com/xsibackup-pro-vmware-esxi-backup.html

Daniel J.
fuente
0

También estoy exportando a formato OVF. Está bien porque comprime sobre la marcha la imagen con gzip.

Pero las licencias se han ido, porque con la importación de un archivo OVF a un ESXI se crea una máquina con nuevo hardware.

Solución:

Respaldo (descargo) la carpeta de archivos de la máquina virtual sin la imagen grande y los comprimo.

Tanto la carpeta ovf como la copia comprimida de los archivos de imagen virtual (sin imagen grande) están en la misma carpeta.

Restaurando:

-> Importar OVF a ESXI y cargar la configuración descomprimida (desde la carpeta de archivos copiados) -> La máquina virtual está bien nuevamente

ismail

Ismail
fuente
0

cpio puede copiar archivos dispersos mientras conserva los "agujeros" en ellos.

MattBianco
fuente
AFAIK, no había ninguna herramienta que pudiera manejar archivos sparse.vmdk de forma nativa, aparte de vmkfstools, que se limita a copiar archivos dentro de un sistema de archivos local. Es por eso que creamos (c) XSIDiff como parte de nuestro conjunto de herramientas para ESXi. Copia solo los bloques usados ​​como vmkfstools, pero puede copiar datos a través de SSH y también como una aplicación de cliente / servidor TCP / IP. Puede descargar una versión de trabajo gratuita aquí: 33hops.com/download-xsidiff-trial.html
Daniel J.