En Linux, ¿cómo creo / restauro una instantánea de imagen de todo mi disco?


14

Estoy demasiado mimado por las utilidades de Windows que toman una instantánea digital de todo su disco, que luego puede restaurar en caso de un bloqueo del disco. (p. ej., Time Machine para Mac OS X).

¿Hay una forma similar de hacer esto en Linux?


1
Supongo que está malcriado en Windows de la misma manera que los usuarios de Linux están malcriados al tener utilidades del sistema. :)

Respuestas:


13

La herramienta que desea (que se parece más a Time Machine) se llama rsnapshot . A diferencia de las herramientas de copia de seguridad normales, solo copia cosas que han cambiado y le permite viajar fácilmente a muchos puntos en el tiempo. Puede decirle cuánto espacio en disco se le permite tener, y ajusta la cantidad de instantáneas que se mantienen dentro de ese límite. Una muy buena herramienta.


6

PartImage se ejecuta desde la línea de comandos o como una GUI de texto. Tiene una ventaja importante sobre dd:

Partimage solo copiará datos de las partes utilizadas de la partición. Para mayor velocidad y eficiencia, los bloques libres no se escriben en el archivo de imagen. Esto es diferente al comando 'dd', que también copia bloques vacíos.


6

Simplemente puede hacer " dd if=/dev/sda of=/path/to/target/backup" si sabe que tiene la habitación donde está tratando de colocarlo. También puede hacer " dd if=/dev/sda | bzip2 > /path/to/target/backup" para comprimir sobre la marcha. Sin embargo, esto puede llevar algo de tiempo.

O bien, puede hacerlo " tar --preserve-permissions -cjf backup.tar.bz2 /what/to/backup" como un usuario que tiene todos los permisos de lectura necesarios. Elige tu opción.

Anexo: Recientemente compré una computadora portátil nueva, preinstalada con Vista. Pensé que quería preservar la vista en algún lugar, en caso de que quisiera probarlo en algún momento, así que la primera vez que encendí la computadora (con un livecd de Linux), hice esto:

dd if=/dev/sda | ssh 10.0.0.1 "bzip2 > ~/vistadrive.bz2"

Esto estaba en una red local rápida, por supuesto. De lo contrario, habría sido más prudente comprimir antes de la transmisión:

dd if=/dev/sda | bzip2 | ssh 10.0.0.1 "cat > ~/vistadrive.bz2"

Espero que encuentres algo de esto útil.

Editar: ¡ Vaya! Cambiado bba dd...


1
Eso tampoco incluiría el sector de arranque, ¿verdad? Eso siempre me fastidiaba cuando usaba imágenes para hacer una copia de seguridad de una unidad de Windows.

greg, incluiría todo, incluyendo cualquier tabla de partición y mbr
Johannes Schaub - litb

4

Utilizo una estrategia doble: el número 1 son las instantáneas LVM y el número dos es la rsnapshot , que utilizo para hacer copias de seguridad en un punto en el tiempo en un disco duro externo dedicado. El disco duro externo está colocado de modo que pueda tirarlo fácilmente cuando salga por la puerta en caso de que ocurra algo malo. No uso (todavía) un mecanismo externo aparte de grabar periódicamente una instantánea en una serie de discos DVD encriptados y enviarlos al lugar de un amigo en otra ciudad para su almacenamiento.

Recomiendo encarecidamente rsnapshot por la forma en que lo hace, usando enlaces duros para cosas que no han cambiado. Si su directorio de inicio se vuelve loco, puede tomar una copia de rsnapshot y tarpipe o volver a sincronizarlo a su nueva partición de inicio después de reinstalar o recuperarse de una falla de la unidad.


3

Varios. Está el antiguo dd (1) , que es algo arcano; hay dump (8) y restore (8) ; hay varios productos de código abierto, como Amanda ; y si lo desea, puede instalar ZFS y usar un script cron para tomar instantáneas periódicas, lo que le brinda algo efectivamente idéntico a Time Machine (consulte el blog de Tim Foster).

Wikipedia tiene un artículo con una lista de muchas opciones .


2

Si desea una copia de seguridad a nivel de archivo como la máquina del tiempo, le recomiendo rsnapshot como lo sugirió Norman .

Si desea una solución de tipo de copia de seguridad y restauración de imagen completa, como Norton Ghost, he encontrado que CloneZilla funciona bastante bien. Arranco el CD en vivo y luego uso otra máquina como servidor SSH para hacer copias de seguridad / restaurar las imágenes a / desde.

(Incluso logré que la versión en vivo funcionara a través del arranque PXE para una vieja computadora portátil con tableta que no tenía unidad de CD y sin arranque de USB, pero fue un montón de retoques).

Y también puede usarlo para máquinas con Windows.


1

Siempre me preocupé por usar dd cuando las unidades tenían un tamaño diferente. O tenía diferentes números de cabezas / sectores / pistas / etc.

dd es muy útil cuando se toman instantáneas y se vuelve a flashear la misma unidad. Especialmente unidades USB o particiones de Windows. Pero cuando paso de una unidad de 500Meg a una unidad de 1500Meg, me preocupa.

Además, cuando mi disco falla, me gusta poder usarlo como una excusa para actualizar a un sistema operativo más nuevo.


Dicho todo esto, ¡el viejo alquitrán hace un buen trabajo! GNU-tar incluye las opciones diff-tar-against-files , only-update-files-that-have-changed y only-archive-files-new-than-date .

(Debo mencionar: me encontré con un error hace unos años que me obligó a descargar e instalar una versión más nueva de GNU-tar . (Algo que ver con nombres de ruta muy largos y múltiples volúmenes). No es gran cosa. Solo tenga en cuenta eso siempre es una opción).

Probablemente debería excluir / proc , / sys y quizás / var / log / lastlog o / mnt . (Normalmente hago una copia de seguridad en una unidad externa montada en / mnt . Copia de seguridad de la copia de seguridad, ¡no es tan bueno!)

Incluir / dev puede valer la pena. gnu-tar manejará los dispositivos correctamente ( mknod ). Aunque probablemente no utilizará la copia de seguridad / dev durante una restauración. (Ocasionalmente, es bueno ver qué permisos o enlaces ha configurado anteriormente).

Además, es posible que desee volcar fdisk y rpm información antes de realizar copias de seguridad. P.ej

/sbin/sfdisk -l /dev/sda > /....../info_sda
rpm -qa | sort > /...../info_rpms
rpm -qa --qf "%{ARCH} \t %{NAME}-%{VERSION}-%{RELEASE}\n" | sort -k2,2 > /........./info_rpms_arch

Además de montar cualquier sistema de archivos "opcional" montado por el usuario .


1

Aquí están los pasos completos para otro método, funciona para pasar de un disco duro a otro e incluso clonar una máquina si el hardware es similar.

Primero, cree una imagen de un buen sistema de trabajo. Haz esto como root.

# cd / 
# tar cpzf hostname.tgz / --exclude=hostname.tgz --exclude=proc --exclude=lost+found --exclude=mnt --exclude=sys --exclude=home --exclude=usr/src

Copia de seguridad de las imágenes del kernel

# mount /boot
# cd /boot
# tar cpzf boot.tgz *

Arranque la máquina en la que desea desplegar la imagen con un Live CD / Gentoo CD. Montar ese disco duro y particionarlo adecuadamente:

# fdisk /dev/hda
/dev/hda1  /boot
/dev/hda2  swap
/dev/hda3  /tmp
/dev/hda4  /

Agregar sistemas de archivos

# mke2fs /dev/hda1
# mkswap /dev/hda2
# mke2fs -j /dev/hda3
# mke2fs -j /dev/hda4

Montar unidades:

# mount /dev/hda4 /mnt/new_root
# mkdir /mnt/new_root/tmp
# mkdir /mnt/new_root/boot
# mkdir /mnt/new_root/proc
# mkdir /mnt/new_root/sys
# mount /dev/hda3 /mnt/new_root/tmp
# mount /dev/hda1 /mnt/new_root/boot
# swapon /dev/hda2
# mount -t proc proc /mnt/new_root/proc

Copie el archivo hostname.tgz en esta máquina.

Extraerlo en la raíz de la nueva máquina / mnt / new_root

# tar -xzf hostname.tgz

Chroot en el nuevo entorno.

# chroot /mnt/new_root /bin/bash
# env-update && source /etc/profile

Verifique /boot/grub/grub.conf y / etc / fstab

Configuración de grub en el disco duro:

# grep -v rootfs /proc/mounts > /etc/mtab
# grub-install /dev/hda

Salga y desmonte las unidades, reinicie la máquina.


0

Puede tener instantáneas en Linux usando LVM, el administrador de volumen lógico.


1
Si está utilizando LVM, no necesariamente es el caso. Si es así, sí, esta sería una buena opción howtoforge.com/linux_lvm_snapshots
Gavin H
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.