Pregunta

¿Cuál es la mejor manera de realizar copias de seguridad de servidores VMWare (1.0.x)?Las máquinas virtuales en cuestión son nuestro entorno de desarrollo y se ejecutan aisladas de la red principal (por lo que no puede simplemente copiar datos de servidores virtuales a servidores reales).

Los archivos de imagen normalmente están en uso y bloqueados cuando el servidor está en ejecución, por lo que es difícil hacer una copia de seguridad de ellos con las máquinas en funcionamiento.

Actualmente:Pauso manualmente los servidores cuando salgo y tengo una tarea programada que se ejecuta a medianoche para copiar las imágenes a un NAS remoto.

¿Existe una mejor manera de hacer esto, idealmente sin tener que acordarse de pausar las máquinas virtuales?

¿Fue útil?

Solución

El servidor VMWare incluye la herramienta de línea de comandos "vmware-cmd", que se puede utilizar para realizar prácticamente cualquier operación que se pueda realizar a través de la consola.

En este caso, simplemente agregaría un "vmware-cmd susepend" a su secuencia de comandos antes de iniciar la copia de seguridad y un "vmware-cmd start" después de que se complete la copia de seguridad.

Usamos vmware-server como parte de nuestro sistema de compilación para proporcionar un entorno conocido para ejecutar actualizaciones automatizadas de base de datos, por lo que terminamos revertiendo el estado como parte de cada compilación (impulsada por CruiseControl) y hemos descubierto que esta interfaz es sólida como una roca. .

Usage: /usr/bin/vmware-cmd <options> <vm-cfg-path> <vm-action> <arguments>
       /usr/bin/vmware-cmd -s <options> <server-action> <arguments>

  Options:
    Connection Options:
       -H <host>       specifies an alternative host (if set, -U and -P must also be set)
       -O <port>       specifies an alternative port
       -U <username>   specifies a user
       -P <password>   specifies a password
    General Options:
       -h More detailed help.
       -q Quiet. Minimal output
       -v Verbose.

  Server Operations:
    /usr/bin/vmware-cmd -l 
    /usr/bin/vmware-cmd -s register <config_file_path>
    /usr/bin/vmware-cmd -s unregister <config_file_path>
    /usr/bin/vmware-cmd -s getresource <variable>
    /usr/bin/vmware-cmd -s setresource <variable> <value>

  VM Operations:
    /usr/bin/vmware-cmd <cfg> getconnectedusers
    /usr/bin/vmware-cmd <cfg> getstate
    /usr/bin/vmware-cmd <cfg> start <powerop_mode>
    /usr/bin/vmware-cmd <cfg> stop <powerop_mode>
    /usr/bin/vmware-cmd <cfg> reset <powerop_mode>
    /usr/bin/vmware-cmd <cfg> suspend <powerop_mode>
    /usr/bin/vmware-cmd <cfg> setconfig <variable> <value>
    /usr/bin/vmware-cmd <cfg> getconfig <variable>
    /usr/bin/vmware-cmd <cfg> setguestinfo <variable> <value>
    /usr/bin/vmware-cmd <cfg> getguestinfo <variable>
    /usr/bin/vmware-cmd <cfg> getid
    /usr/bin/vmware-cmd <cfg> getpid
    /usr/bin/vmware-cmd <cfg> getproductinfo <prodinfo>
    /usr/bin/vmware-cmd <cfg> connectdevice <device_name>
    /usr/bin/vmware-cmd <cfg> disconnectdevice <device_name>
    /usr/bin/vmware-cmd <cfg> getconfigfile
    /usr/bin/vmware-cmd <cfg> getheartbeat
    /usr/bin/vmware-cmd <cfg> getuptime
    /usr/bin/vmware-cmd <cfg> getremoteconnections
    /usr/bin/vmware-cmd <cfg> gettoolslastactive
    /usr/bin/vmware-cmd <cfg> getresource <variable>
    /usr/bin/vmware-cmd <cfg> setresource <variable> <value>
    /usr/bin/vmware-cmd <cfg> setrunasuser <username> <password>
    /usr/bin/vmware-cmd <cfg> getrunasuser
    /usr/bin/vmware-cmd <cfg> getcapabilities
    /usr/bin/vmware-cmd <cfg> addredo <disk_device_name>
    /usr/bin/vmware-cmd <cfg> commit <disk_device_name> <level> <freeze> <wait>
    /usr/bin/vmware-cmd <cfg> answer

Otros consejos

¿Vale la pena mirar rsync?Si solo cambia una parte de un archivo de imagen grande, entonces rsync podría ser la forma más rápida de copiar cualquier cambio.

Encontré una guía fácil de seguir para realizar copias de seguridad de máquinas virtuales en el servidor vmware 2 aquí: Copia de seguridad del servidor VMware 2

Si no recuerdo mal, VMWare Server tiene una interfaz de secuencias de comandos, disponible a través de Perl o COM.Es posible que pueda usarlo para pausar automáticamente las máquinas virtuales antes de ejecutar la copia de seguridad.

Si su software de respaldo admite instantáneas, eso también podría funcionar.

Hay una herramienta llamada (ejem) Hobocopy que copiará archivos VM bloqueados.Recomendaría tomar una instantánea de la VM y luego hacer una copia de seguridad del VMDK.Luego combine la instantánea una vez completada la copia.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top