Máquina virtual y respaldo

Máquina virtual y respaldo

Tengo una máquina virtual (centos) que ejecuta algún servicio de archivos para archivos pequeños. ¿Cuál es la forma recomendada de realizar copias de seguridad? ¿Debo hacer una copia de seguridad del disco/archivo de la máquina virtual (desde fuera de la máquina virtual) o debo ejecutar un agente de copia de seguridad dentro de la máquina virtual, de modo que haga una copia de seguridad del contenido y no de todo el disco virtual?

Respuesta1

TLDR: instale un agente de respaldo dentro de la VM.

Hacer una copia de seguridad de la imagen del disco desde fuera de la VM ciertamente parece tentador, ¿no es así? Especialmente si tiene varias máquinas virtuales, entonces puede decirle a la máquina host que haga una copia de seguridad de todas las imágenes del disco y listo, sin necesidad de configurar individualmente cada máquina virtual para que haga una copia de seguridad de sí misma.

Sin embargo, el problema con ese enfoque es que la máquina host no sabe qué está haciendo internamente el sistema operativo de la VM. No sabe si hay escrituras en el disco pendientes o en curso. No conoce ningún caché de escritura ni búfer de salida interno del proceso de VM. Y, por lo tanto, no puede garantizar que la imagen del disco de la que respalda sea unacoherenteimagen en el momento de la copia de seguridad. Es casi seguro que el archivo de imagen respaldado aún se podrá utilizar, pero existe una gran posibilidad de que primero deba ejecutar una reparación del sistema de archivos para limpiarlo.

El otro inconveniente importante de realizar copias de seguridad de imágenes de disco completas desde el exterior es que dichas copias de seguridad son principalmente útiles para restauraciones de todo el sistema. Si solo necesita recuperar la versión del jueves pasado de un archivo perdido, no son tan buenos para eso: necesita restaurar la imagen completa de la copia de seguridad del jueves y luego usar otras herramientas para extraer ese archivo de la segunda copia del imagen, lo que tomará mucho más tiempo y espacio que si hubiera realizado una copia de seguridad desde la máquina virtual y hubiera podido restaurar solo el archivo de interés.

También relacionado con esto está el hecho de que las copias de seguridad de imagen completa son más difíciles (en el mejor de los casos) de realizar de forma incremental, lo que significa que necesita hacer una copia completa de la imagen completa cada vez que ejecuta una copia de seguridad. Con una copia de seguridad basada en contenido desde la máquina virtual, puede realizar copias de seguridad completas periódicas y solo realizar copias de seguridad de los archivos modificados en el medio, lo que permite realizar copias de seguridad mucho más frecuentes con la misma cantidad de espacio de almacenamiento.

Si está creando una imagen de la máquina virtual completa con fines de recuperación ante desastres, o para usarla como maestra para clonar y crear otras máquinas virtuales, entonces apagar la máquina virtual y copiar la imagen completa del disco es una buena manera de hacerlo. Pero no es una buena manera de realizar copias de seguridad rutinarias de un sistema en ejecución.

Respuesta2

TL;DR hace una instantánea desde fuera de la VM

Todo el software de host de VM que he visto (incluidos los servicios en la nube y los hosts de contenedores) tiene una función de instantáneas. Esta es la forma preferida de realizar una copia de seguridad de un sistema en ejecución ya queinstantáneasSe garantiza que serán copias consistentes y atómicas de un disco completo en un solo momento. El software host de VM generalmente tiene herramientas de sistema operativo invitado que desactivan el sistema de archivos antes de una instantánea, aunque siempre es mejor hacer la instantánea en un momento en el que no hay muchas escrituras, como por la noche. La mayoría de los sistemas se detendrán brevemente mientras se guarda el estado de la instantánea.

Las instantáneas también suelen ser incrementales. También hay funciones avanzadas de instantáneas, como la deduplicación.

Si el sistema está apagado (no en pausa ni suspendido), puede simplemente tomar una copia de los archivos de la VM, ya que sabe que no puede haber ninguna escritura y que todos los datos deben haberse escrito en el disco.

Si necesita restaurar archivos individuales, puede simplemente restaurar el disco, adjuntarlo y montarlo en otro sistema.

Si ejecuta una copia de seguridad de los archivos en un sistema de archivos, existen un par de problemas:

Es posible que los archivos no sean consistentes, porque pueden ocurrir escrituras durante la copia de seguridad porque no es atómica. Tar, por ejemplo, le advierte que se escribió en un archivo mientras se realizaba una copia de seguridad. Como otro ejemplo, nunca confiaría en una copia de una base de datos cuyos archivos fueron respaldados. El sistema de base de datos puede ser resistente a la recuperación de inconsistencias, pero ¿quiere correr ese riesgo? Sería mejor que realizara una copia de seguridad de la base de datos externa por separado utilizando la herramienta del sistema correspondiente.

Otro problema es que sería difícil crear un sistema de arranque sólo a partir de los archivos. Se requieren otras cosas como el sector de arranque y la tabla de particiones para crear un sistema de arranque. Lo que significa que existe el paso de restauración adicional de instalar elexactamente el mismosistema operativo antes de la restauración del archivo. Incluso entonces tendría muchas dudas sobre confiar en él, incluso si arrancara.

información relacionada