Crear una instantánea de un sistema Linux

11

Quiero hacer lo siguiente: guardar el estado actual de mi sistema operativo Linux (centOS6.5). Realice algunos cambios (inyecte más específicamente una falla y pruebe algún servicio para verificar cómo se comporta cuando se produce ese tipo particular de falla). Luego restaure el sistema al estado guardado. No puedo entender cómo hacer esto en un sistema Linux. Tengo una máquina con centOS 6.5 con un sistema de archivos ext4. También es un servidor físico y no una máquina virtual.

¿Alguna idea o sugerencia?

bRuta
fuente
Servidor físico o máquina virtual?
Steve
1
Recomiendo ejecutar su sistema operativo en software de virtualización como VirtualBox. Soporta muy bien las instantáneas.
yaegashi
Es un servidor físico. Necesito hacer esto en varias máquinas (servidores físicos) y no puedo cambiar la configuración para ejecutar mi sistema operativo en un software de virtualización.
bRuta
Por lo general, necesita una metacapa adicional como la virtualización para admitir instantáneas del sistema. Sería muy difícil hacer que los servidores físicos se comporten como si estuvieran bajo su control desde el firmware y el nivel del gestor de arranque.
yaegashi

Respuestas:

8

Lo mantendría simple y lo clonaría. Inicie un sistema en vivo desde USB (lo más fácil es Ubuntu desde una unidad de memoria USB, creo), luego descargue su disco duro en una partición diferente (o disco duro externo, etc.), por ejemplo

dd if=/dev/sda1 bs=64M of=/mnt/my_mounted_backup_drive/backup-sda1

donde necesita reemplazar /dev/sda1con su /partición root ( ). Hacer lo mismo con otras particiones (como el de /boot, /boot/efi, /home) en su caso.

Si necesita ahorrar espacio, puede hacer

dd if=/dev/sda1 bs=64M | gzip --fast | dd bs=32M of=/mnt/my_mounted_backup_drive/backup-sda1.gz

o, más complicado, mucho más lento pero ahorrando unos pocos bytes más,

mkdir -p /mnt/linux
mount -o ro /dev/sda1 /mnt/linux
cd /mnt/linux
tar cvJf /mnt/my_mounted_backup_drive/linux-backup.tar.xz .??* *

Luego puede restaurar al revés, p. Ej.

mkdir -p /mnt/linux
mount /dev/sda1 /mnt/linux
cd /mnt/linux
tar xvJf /mnt/my_mounted_backup_drive/linux-backup.tar.xz

o

dd /mnt/my_mounted_backup_drive/backup-sda1.gz bs=32M | gzip --decompress | dd bs=64M of=/dev/sda1

(cuidado donde escribes tus datos, esto borra todo /dev/sda1, así que hazlo bien la primera vez :-)

Ned64
fuente
PD: Si espera que algo salga mal, haga una copia de seguridad de la tabla de particiones, como dd if=/dev/sda bs=64M count=2 of=/mnt/my_mounted_backup_drive/backup-sda. Al restaurar, debe tener cuidado de no escribir demasiados bloques en el disco aquí; no puede decir cuántos sin mirar el diseño de su partición. Restaura hasta (sin incluir) el bloque donde comienza tu primera partición según gdisko fdisk.
Ned64
5

Puede usar rsync para hacer una copia de seguridad de todo el sistema.

rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /* /path/to/backup/folder

Hay un artículo impresionante en Arch Linux Wiki sobre eso

Hugo Rodrigues
fuente
Eso es bastante corto para ser la mejor opción para mí. Por supuesto, si no tiene rsync, puede usar lo ddque uso para hacer una copia de seguridad de mis unidades usb.
m3nda
1

Puede usar FSArchiver , que guardará el contenido del sistema de archivos en un archivo comprimido y restaurará el sistema de archivos al extraer los datos.

Aquí hay un ejemplo de la documentación :

fsarchiver savefs /mnt/backup/gentoo-rootfs.fsa /dev/sda1

También puede usar la compresión multiproceso, y la restauración es sencilla:

fsarchiver restfs /mnt/backup/gentoo-rootfs.fsa id=0,dest=/dev/sda1
Paulo Almeida
fuente
-1

Para volver a un estado anterior, puede montar el sistema de archivos actual en un nuevo directorio. Esto monta el sistema de archivos en un nuevo directorio raíz especificado por el siguiente comando:

mount DIR DIR

Para restaurar este estado, cambie la raíz del sistema de archivos desde el directorio especificado en el comando de montaje.

umount DIR

usuario346623
fuente