Imagen del sistema de ejecutar el sistema Debian?


22

¿Es posible hacer una copia de seguridad de un sistema Debian en ejecución en algún tipo de archivo de imagen, que simplemente podría escribirse en otro disco duro usando dd en caso de fallas del sistema Debian original (respaldado)?

Estoy buscando especialmente una herramienta directamente disponible en los repositorios, ya que tengo Debian Wheezy ejecutándose en una frambuesa pi y, por lo tanto, necesito soporte para la arquitectura ARM, que es bastante confiable para los paquetes de los repositorios Debian.


2
No recomendaría intentar obtener una copia bloque por bloque del sistema de archivos montado en rw. La escritura más pequeña puede corromperlo y cree que tiene una copia de seguridad viable. Entonces, mount -o remount,rola unidad que está copiando si opta por dd, dumpo similar. Copiar dentro del sistema de archivos con rsynco con cualquier otro método, incluso cpes seguro para el sistema en vivo.
WhimsicalWombat

Respuestas:


15

ddes bueno si no le importa generar un archivo de imagen que sea exactamente del tamaño de su disco sin formato. rsynces bueno si quieres un acceso fácil a nivel de archivo. Pero el medio estándar para hacer una copia de seguridad de un sistema de archivos es dumpy restore( aptitude install dump).

Para un dispositivo como Raspberry Pi, haría una copia de seguridad de la siguiente manera, suponiendo una tabla de partición de MS-DOS y que el disco es / dev / sda:

  • dd if=/dev/sda of=sda-boot-sectors.img count=2048 para obtener una imagen de la sección de arranque del disco.
  • fdisk -lu /dev/sda >sda-partition-table.txt para posterior referencia humana.
  • dump -0af sda1-root-level0.dump /dev/sda1 y repita para cada partición de la que desea hacer una copia de seguridad.

Luego puede comprimir el lote y dejarlo en un lugar seguro. Para restaurar, usaría ddpara restaurar la tabla de particiones y los sectores de arranque, volver a cargar la tabla de particiones, crear los nuevos sistemas de archivos y usarlos cd /mnt/new-filesystem; restore -rf /some-location/sda1-root-level0.dump.

Las ventajas:

  • dump obtiene una copia completa del sistema de archivos, incluidas las ACL, los atributos extendidos, la propiedad, los archivos dispersos, los atributos especiales del sistema de archivos: todo se descarga tal como está.
  • Solo copiará los bloques que necesita, ignorando los no utilizados.
  • Es una herramienta estándar de Unix y legible por muchas otras herramientas de Unix.

Los inconvenientes:

  • producirá instantáneas corruptas si se escribe en el sistema de archivos durante el volcado
  • es más difícil montar la imagen con copia de seguridad (que puede hacer con imágenes de disco) o acceder a archivos individuales (que puede obtener con rsynccopias de seguridad).
  • Es un sistema de archivos de tipo específico. Puede volcar un ext3sistema de archivos y restaurarlo en ext4uno, pero puede volcar cualquier tipo de sistema de archivos. La mayoría de los sistemas de archivos maduros tienen sus propias dumpversiones. El Debian estándar lo dumphace ext2, ext3y ext4. Si utiliza un sistema de archivos específico de Flash, sus opciones pueden ser diferentes.

No se indica en la página de manual para dumpque el sistema de archivos no se debe escribir. Quiero decir, esto suena como una restricción sensata, pero es una pena que no se mencione en la página del manual, para que alguien pueda cometer este error ...
imz - Ivan Zakharyaschev

Gracias a tu publicación, he aprendido sobre esta herramienta (volcado / restauración). Lo mkfs.ext4 /dev/sda1; mount /dev/sda1 /mnt/disk; cd /mnt/disk; dump -0af - /dev/sda5 | restore -rf -
usaré

5

Úselo ddpara el sector de arranque y rsync -aHSpara los archivos. Debe excluir los sistemas de archivos "virtuales" como / proc / sys y cualquier disco RAM (tmpfs).

Si también desea mantener la partición, puede volcarla sfdisko volver a crearla parted.


Gracias, suena muy interesante, ¿ya lo probaste en el pasado? ¿Cómo creo una imagen completa de estas partes, solo uso un dispositivo loopkack? (Sí, desea seguir particionando y así sucesivamente. Quiere una imagen lista para ser escrita en una nueva tarjeta / disco SD sin más
retoques

@ stefan.at.wpf Acabo de mezclar algunas de mis soluciones para clonar máquinas virtuales, creando servidores físicos (autoyast / kistart) haciendo un raid1-mirror de un sistema no duplicado y la forma habitual de replicar partes (estáticas) del sistema de archivos para nodos de clúster. No uso este myselv. Mi método sería instalar automáticamente un nuevo servidor (incluido un cliente de respaldo) y luego restaurar a través de una copia de respaldo el contenido del antiguo servidor en el nuevo servidor.
Nils

4

Para Debian , realmente solo necesita hacer una copia de seguridad de sus datos y archivos de configuración .

Para hacer una copia de seguridad del estado existente:

  • Haga una copia de seguridad de las selecciones de paquetes con dpkg --get-selections > dpkg_selections.
  • Haga una copia de seguridad de la base de datos de debconf con sudo debconf-get-selections > debconf_selections.

Para aplicar esto a un nuevo sistema:

  • Primero aplique las selecciones de debconf con sudo debconf-set-selections < debconf_selections.
  • Aplicar selecciones de paquetes con dpkg --set-selections < dpkg_selections.
  • Instalar paquetes con apt-get dselect-upgrade.

Sus datos deben estar principalmente en /homey /var(por ejemplo, /var/lib/mysqlpara MySQL, /var/wwwpara Apache, etc.). Debería poder averiguar qué aplicaciones son importantes para usted.

La configuración estará principalmente en /etc. Nuevamente, no debería ser difícil elegir lo que es importante para usted.


Para debconf-get-selectioncorrerapt-get install debconf-utils
pandita

1

No sé, si es bueno hacerlo, cuando el sistema se está ejecutando, pero esto es lo que hago.

sudo dd if=/dev/mmcblk0 of=/path/to/backup/directory/backup.img bs=1M

Como dije, tal vez haya una mejor solución, ¡en ese caso me gustaría conocerla también!


1

He intentado tanto software de copia de seguridad y restauración y nunca estuve contento. Esto es lo que hago ahora: tengo un segundo Debian instalado en una computadora de repuesto (misma MB, tarjeta NIC, etc.). Todas las noches sincronizo de la máquina A a la máquina B. Hay algunos archivos que guardo (/ etc / network / interfaces, / etc / hosts, / etc / hostname) ya que no quiero conflictos de los dos sistemas en ejecución. En realidad, tengo copias de ellos en otra carpeta. También deshabilito algunos servicios que no necesito ejecutar en la máquina B (postfix, mysql, etc.). Tengo un script escrito en la máquina B que básicamente lo convertirá en la máquina A (reemplazará los archivos que retuve), reiniciará la NIC y habilitará los servicios que estaban deshabilitados. Por supuesto, la máquina A debe estar apagada cuando ejecuto el script o habrá estragos. Pruebo la máquina B mensualmente apagando la máquina A, ejecutando el script, y haciendo algunas pruebas para asegurarse de que esté actualizado y funcionando correctamente. ¡Funciona a las mil maravillas!


0

Echa un vistazo a Clonezilla. Lo veo listado en los repositorios estándar de Debian. http://clonezilla.org/

Editar: Probablemente no, los requisitos de la lista de Clonezilla en su página principal: "Procesador X86 o x86-64"


Proyecto interesante, gracias de todos modos :-)
stefan.at.wpf

0

Para hacer una copia de seguridad de mi pi, extraigo la tarjeta microSD y la conecto a mi computadora portátil. Luego ejecute a ddpara producir un archivo en mi computadora portátil de todo el disco, como se indica arriba:

dd if=/dev/mmcblk0 of=/path/to/backup/directory/backup.img bs=1M

2
Esto literalmente ignora la parte más importante de la pregunta. La pregunta es cómo hacer una imagen en vivo de un sistema y para cuando mueva los discos, será mejor que apague el sistema.
Sirenas

0

Utiliza el sistema de embalaje. Lo tengo funcionando incluso con Debian Stretch. Le brinda un buen usb de arranque en vivo con exactamente su escritorio configurado.

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.