Copias de seguridad en sistemas de ficheros XFS

Si queremos realizar copias de seguridad de sistemas de ficheros XFS, no nos basta con herramientas clásicas como dump, ya que no son compatibles. Para ello debemos utilizar una serie de herramientas dedicadas a este sistema de ficheros, típico de los sistemas operativos de la compañía Red Hat. Dichas herramientas son xfsdump y xfsrestore. Sus nombres ya son bastante descriptivos. La primera es para realizar la copia de seguridad y la segunda para su restauración.

Para realizar la copia de seguridad, como hemos indicado en el párrafo anterior, utilizaremos la herramienta xfsdump. Dichas copias se pueden volcar contra unidades de cintas o imágenes de archivos regulares. Si estamos en una empresa, esta herramienta también permite que un volcado abarque varias cintas. Además permite copias de seguridad incrementales y puede excluir archivos de una copia, utilizando indicadores de tamaño, subárbol o inode para filtrarlos.

Admite copias de seguridad incrementales, mediante el uso de niveles para determinar un volcado base para el cual un volcado específico es relativo. Mediante el parámetro “-l”, se especifica un nivel del 0 al 9. Para realizar una copia de seguridad completa, utilizaremos 0.

Por ejemplo:

  1. xfsdump -l 0 -f /mnt/backup /home

Esto también se podría escribir así:

  1. xfsdump -l 0 /home -f /mnt/backup

También se observa el parámetro “-f” , indicando el destino del volcado, ya sea una unidad de cinta o un fichero. Al final indicamos el origen de la copia.

También es recomendable etiquetar la copia, esto lo lograremos utilizando el parámetro «-L» del termino anglosajón «label», un ejemplo:

  1. xfsdump -l 0 -L "Copia de de punto montaje /home `date`" /home -f /mnt/backup

En cambio, una copia de seguridad incremental sólo copiará archivos que hayan cambiado desde el último volcado de nivel 0. Un volcado de nivel 1 es el primero volcado incremental después de un volcado completo; el siguiente volcado incremental sería el nivel 2 y así en lo sucesivo. El máximo es 9.

Veamos otro ejemplo:

  1. xfsdump -l 1 -f /mnt/backup /home

El programa tiene muchas posibilidades, por ejemplo, podemos excluir una carpeta. Imagina que tenemos el sistema de ficheros montado en su totalidad sobre la raíz, cosa poco recomendable. Bien, vamos a excluir del backup la carpeta /proc, para ello utilizaremos el parámetro «-e»

  1. xfsdump -l 1 -f /mnt/backup / -e /proc

El turno de xfsrestore

A la hora de restaurar las copias de seguridad que tengamos almacenadas, debemos utilizar la herramienta xfsrestore. Dicha utilidad tiene dos modos. El primero es un modo simple, predeterminado, y otro, acumulativo. Los volcados específicos se identifican mediante ID de sesión o etiqueta de sesión. Por lo que, la restauración de un volcado, requiere su identificación o etiqueta de sesión correspondiente. Para mostrar dicha ID de sesión y las etiquetas relacionadas de todos los volcados (ya sean completos o incrementales), utilizaremos el parámetro “-l”

Un ejemplo:

  1. xfsrestore -I

Con un resultado dado, similar al siguiente:

  1. session 1:
  2.                 mount point:    servcasa-1.localdomain:/
  3.                 device:         servcasa-1.localdomain:/dev/mapper/centos_servca                                                                                        sa--1-root
  4.                 time:           Tue Nov 14 22:15:39 2017
  5.                 session label:  "Etiqueta mar nov 14 22:15:39 CET 2017"
  6.                 session id:     244ad9e2-70f9-4a30-86e6-1f8ea0353449
  7.                 level:          0
  8.                 resumed:        NO
  9.                 subtree:        NO
  10.                 streams:        1
  11.                 stream 0:
  12.                         pathname:       /mnt/backup-file
  13.                         start:          ino 70 offset 0
  14.                         end:            ino 12997149 offset 0
  15.                         interrupted:    NO
  16.                         media files:    1
  17.                         media file 0:
  18.                                 mfile index:    0
  19.                                 mfile type:     data
  20.                                 mfile size:     1184920328
  21.                                 mfile start:    ino 70 offset 0
  22.                                 mfile end:      ino 12997149 offset 0
  23.                                 media label:    "copia1"
  24.                                 media id:       987cb662-1a30-4fae-8e99-6654de68

Trabajar con xfsrestore en modo simple

El modo simple nos permite restaurar un sistema de ficheros completo desde un volcado 0 (completo) Después de identificar una ID de sesión de volcado de nivel 0 (su ID de sesión), restaurarlo completamente en una ruta destino.

Aquí un ejemplo:

  1. xfsrestore -f /mnt/backup -S session-ID /mnt/restore

La opción “-f” especifica el lugar del volcado a restaurar, mientras que la opción “-S” o “-L” especifica el volcado específico a restaurar. La opción “-S” se utiliza para especificar una ID de sesión. La opción “-L” al igual que con la otra herramienta, la utilizamos para las etiquetas de sesión. La opción “-l” muestra etiquetas de sesión e ID por cada volcado.

Trabajar con xfsrestore en modo acumulativo

Con el modo acumulativo se nos permite la restauración del sistema de ficheros desde una copia de seguridad incremental específica, por ejemplo, del nivel 1 al nivel 9. Para restaurar la copia desde un copia incremental siempre debemos utilizar el parámetro “-r”

  1. xfsrestore -f /mnt/backup -S session-ID -r /mnt/restore

Operación interactiva

Una de las ventajas de la herramienta es que permite que se extraigan, agreguen o eliminen ficheros específicos de un volcado. Para ello debemos utilizar el parámetro “-i”, como por ejemplo:

  1. xfsrestore -f /mnt/backup -i /mnt/restore

Para ello utilizaremos un diálogo interactivo, que nos aparecerá después de que xfsrestore termine de leer el dispositivo especificado. Tenemos a nuestra disposición una serie de comandos, incluyendo: cd, ls, add, delete o extract.

Fuente de la información:

Guide Red Hat about xfsdump and xfsrestore