Copia de seguridad / clonar una partición btrfs

9

¿Es posible hacer una copia de seguridad de una partición btrfs textualmente (incluidas todas las estructuras compartidas que ahorran espacio marcando árboles de instantáneas como COW) en otra? Por ejemplo, me gustaría hacer una copia de seguridad de mi partición raíz que tiene un par de subvolúmenes btrfs (instantáneas del / sí mismo).

La única forma en que puedo pensar es usar una herramienta de copia de bloques como, ddpero eso es ineficiente ya que mi partición está llena solo en un 20% y tengo la intención de hacer una copia de seguridad regularmente. Ya hice una copia de seguridad de todo de forma incremental rsync, por lo que esta no es una solución para otro problema. Simplemente necesito un clon bit por bit de mi partición btrfs sin tener que usar una herramienta como dd.

Sé que ext3, por ejemplo, proporciona una utilidad de volcado y restauración. Ese es el tipo de cosas que estoy buscando.

ACTUALIZAR

Aquí hay una actualización para aclarar el hecho de que quiero poder acceder a los archivos en el almacenamiento de respaldo de la misma manera que puedo en el disco en vivo (es decir, no quiero almacenar archivos de volcado en el almacenamiento de respaldo).

Mansour
fuente

Respuestas:

6

Partclone es la herramienta que estás buscando.

  • Es compatible con muchos sistemas de archivos Linux, incluido BTRFS
  • incluso admite algunos otros sistemas de archivos (como FAT o exFAT)
  • a diferencia de ddlo que se ve en el mapa de asignación de sistemas de archivos (por ejemplo: tablas FAT y FAT de exFAT, mapas de extensión BTRFS, etc.) y clona solo los bloques utilizados.

Dependiendo de su patrón de uso:

  • use -b(long:) --dev-to-devsi tanto el dispositivo negro de origen como el de respaldo están visibles en la misma máquina (básicamente si ambos discos están conectados a la misma computadora).
  • o use -cy -r(long: --cloneand --restore) para clonar primero en el formato de imagen del propio clon en la máquina fuente y luego restaurar desde la imagen en la máquina de respaldo
  • De acuerdo con la página de manual de Partclone , es posible canalizar imágenes, por lo que debería ser posible copiar particiones a través de la red sin guardar archivos reales, si se está quedando sin espacio, pero tiene una red extremadamente confiable.

Una forma completamente diferente de manejar el problema sería el uso btrfs sendy el btrfs receivemecanismo.

  • Esto NO producirá copias de dispositivos de bloque para el sector
  • pero, al proporcionar referencias correctamente en ambos extremos, también puede mantener las referencias entre archivos (partes de) vinculados por referencia.

Así propio mecanismo btrfs' no es un sector de la copia perfecta (a diferencia de partclone) pero es una medida copia perfecta (mucho mejor que rsynv -aSHAXel que sólo trata los archivos de hardlinked).

DrYak
fuente
1

Canalice la salida a ddtravés de algo como bzip2o su otro programa de compresión favorito que se leerá desde la entrada estándar. Lo hice en un disco de 500 GB que tenía una instalación relativamente pequeña y terminé con un archivo de 8 GB.

Llora Havok
fuente
1
Tendría que llenar el espacio libre con ceros primero (por ejemplo cat /dev/zero > zeroes) para deshacerse de los datos no vinculados que todavía están en el disco. Pero eso podría no funcionar más cuando BTRFS obtenga deduplicación de datos a nivel de bloque en el futuro.
Wim Coenen
Por favor, consulte la actualización de mi pregunta.
Mansour
1

Todavía no lo he intentado, pero btrfs-imageparece resolver este problema:

https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-image

Actualización: no utilice esto como copia de seguridad. Gracias por el comentario.

Lo dejo abierto y no lo eliminaré, para que otros también puedan aprender de él.

Jonas Stein
fuente
2
Advertencia, btrfs-image solo copia los datos META, no los datos en los archivos mismos. (Se utiliza para enviar una copia a los desarrolladores para que puedan ver qué salió mal. No para copiar los datos).
DrYak
-2

solo fyi ext2 / 3/4 dump no hace lo que quieres hacer ... solo fs capaces de hacer esto, sé que son ntfs (usando ntfs-3g) y zfs

aunque podrías lograr esto usando lvm y el aprovisionamiento delgado experimental ...

Editar: volviendo a esto unos años más tarde dándome cuenta, puedes hacer esto con cualquier sistema de archivos usando squashfs ...

zorro
fuente
partclone ha podido hacer exactamente eso para muchas particiones que no son ntfs-3g ni zfs.
DrYak
Las imágenes dispersas montables de @DrYak de NTFS definitivamente son compatibles con ntfsclone ... linux.die.net/man/8/ntfsclone
Fox
-3

Creo que aparentemente no existe una herramienta de este tipo (todavía, ATM).

poige
fuente