
Tengo un disco duro externo de 1 TB y me gustaría tomar una instantánea de todo el servidor periódicamente (tal vez una vez por semana). Para la parte de cronjob, planeo apuntar a un script bash en:
$ sudo crontab -e
pero no tengo idea de qué herramienta podría usar para crear una imagen de disco del servidor mientras se está ejecutando. ¿Tendría que estar abajo mientras se crea la imagen? Estaba mirando Clonezilla pero parece que primero tengo que configurar un servidor DRBL, lo cual parece algo que no quiero.
Tampoco sé cuánto tiempo podría llevar ejecutar una copia de seguridad o si hay alguna forma de realizar cambios incrementales. Planeo almacenar ~500 GB de datos allí.
¿Necesito formatear el disco duro externo de alguna manera en particular? ¿Alguien conoce buenos tutoriales/puntos de partida?
Gracias de antemano.
Respuesta1
Puede utilizar rsync para hacer una copia de todo el sistema. No será una "imagen" per se, pero contendrá una copia de todos los archivos del sistema. Por ejemplo, podrías hacer:
rsync -aHAXxv / /mnt/copia de seguridad/
Esto copiaría todo el contenido del sistema de archivos raíz en /mnt/backup. (Tenga en cuenta que solo copia un sistema de archivos debido a -x, por lo que si tiene varios sistemas de archivos, deberá ejecutar varios comandos u omitir -x y usar --exclude para excluir la ruta de respaldo).
Respuesta2
Pruebe fsarchiverhttp://www.fsarchiver.org/QuickStart Le permite crear copias de seguridad en vivo desde la partición y compresión de imágenes multiproceso. Desafortunadamente, las copias de seguridad incrementales son algo difíciles con eso. ¿Quizás usar rsync en la imagen dd de la partición? Considere hacer una imagen de partición comprimida y tal vez una copia de seguridad incremental rsync/bacula de algunas carpetas.
Respuesta3
Puede ser mejor pensar en lo que está respaldando: tomar una imagen de disco requeriría algún tipo de truco para no dañarla debido al sistema en ejecución; se me ocurren dos formas:
- algún tipo de magia negra premontada que crea una imagen al arrancar (suena difícil) y luego cron al reiniciar
- ejecutar el servidor bajo algún tipo de hipervisor y usar instantáneas controladas por el host
Las otras opciones son hacer una copia de seguridad de los datos y configuraciones creados y dejar que los "bits del sistema operativo" se vuelvan a crear mediante una nueva instalación; tal vez incluso podría programar la instalación para una DR súper rápida. También le ahorrará muchos gigas de espacio de copia de seguridad, lo que significa que podrá realizar copias de seguridad con mayor frecuencia y mantener una retención más prolongada.
Respuesta4
Como lo mencionó @ayer, podrías usar rsync de esta manera:
rsync -aHAXxv / /mnt/backup/
Esto crearía una copia de seguridad /
de otras particiones montadas, como por ejemplo. /var
Por lo tanto, debe hacer esto para cada partición de la que necesite realizar una copia de seguridad.
Pero para asegurarse de tener una copia de seguridad consistente, debe usar instantáneas LVM si están disponibles. Por ejemplo:
# create snapshots
lvcreate -s vg0/root -n root_snapshot -L2G
lvcreate -s vg0/var -n var_snapshot -L2G
# mount snapshots to make a copy
mount /dev/vg0/root_snapshot /mnt/snapshot
mount /dev/vg0/var_snapshot /mnt/snapshot/var
# backup all files (no need for -x here)
rsync -aHAXv /mnt/snapshot/ /mnt/backup/
# unmount the snapshots
umount /mnt/snapshot/var /mnt/snapshot
# remove the snapshots
lvremove vg0/root_snapshot
lvremove vg0/var_snapshot