Plugin NDMP Bacula – Guía Rápida

Visión general

Esta Guía Rápida está destinada a proporcionar información sobre las consideraciones y los procesos necesarios para implementar una estrategia de copia de seguridad mediante el protocolo NDMP con el software de copia de seguridad de Enterprise Bacula. Presenta varias técnicas y estrategias para la copia de seguridad de los archivadores NAS mediante los protocolos NDMP o NFS / CIFS con Bacula Enterprise Edition, incluyendo la restauración granular de un solo archivo y las capacidades de instantáneas del NAS [1].

El complemento también se puede utilizar para realizar copias de seguridad de algunos almacenes de tecnologías de virtualización, como Oracle VM (OVM), para realizar copias de seguridad de los clones de la máquina virtual [2].

La versión actual del plugin NDMP soporta la versión de los datos 7.3, 8.0, 8.1, 8.2 y varios otros proveedores de NetApp. Tenga en cuenta que las implementaciones de proveedores de NDMP son diferentes, por lo que no podemos garantizar que todas las implementaciones de NDMP funcionen con nuestro plug-in de NDMP. Para más detalles sobre los proveedores compatibles, consulte la Hoja de especificaciones de NDMP.

Estrategias de copia de seguridad de NAS

De acuerdo con la Figura 1, hay varios protocolos que se pueden utilizar para realizar copias de seguridad de un equipo NAS. Generalmente el NDMP es mejor, porque el uso de NFS o CIFS para mostrar archivos de copia de seguridad es muy lento, especialmente cuando se trata de millones de archivos pequeños. La exploración de directorios y la latencia de la red tienden a disminuir drásticamente el rendimiento de copia de seguridad. Utilizar los protocolos NFS o CIFS para realizar una restauración completa en un gran NAS puede consumir mucho tiempo, especialmente en una situación de recuperación de desastres urgente.

Plugin NDMP Bacula - Guía Rápida 1

Figure 1. Diagrama Plugin Backup NDMP

Copia de Seguridad con NDMP

NDMP tiene la principal ventaja de la velocidad sobre los protocolos NFS / CIFS para realizar copias de seguridad de volúmenes NAS. La cosa más importante para entender acerca de NDMP es que es un protocolo de control, no un formato de copia de seguridad. El formato de copia de seguridad del NDMP es arbitrario (específico de la implementación) y definido individualmente por cada proveedor de la plataforma de almacenamiento. Por lo tanto, en general, una copia de seguridad NDMP hecha en el cuadro NAS de un proveedor no se puede restaurar en el cuadro NAS de un proveedor diferente.

El plug-in Bacula NDMP encapsula imágenes de copia de seguridad dentro del flujo de datos de copia de seguridad estándar del Bacula, permitiendo que sea multiplexado con otros flujos de copia de seguridad y todas las características avanzadas de almacenamiento de Bacula. Dentro del flujo de datos guardados que contiene ese flujo NDMP, los datos reales del NDMP permanecen opacos (formato específico del proveedor, a veces propietario). Los atributos como ACL se incluyen en el flujo de copia de seguridad y manipulados correctamente por el proveedor NAS en la copia de seguridad y restauración.

Como el Bacula no implementa el protocolo DAR (Direct Access Recovery) del NDMP (que se considera muy lento), es posible realizar una restauración de archivo única a través de la técnica de restauración de elemento único (use_hist option). La restauración de un solo archivo con el plug-in NDMP también es posible restaurar el flujo de datos NDMP en una máquina local (la misma que la copia de seguridad con NDMP tiene el plug-in NDMP) y abriendo el archivo resultante. Esto requiere que conozca el formato de datos del proveedor y tenga un programa que pueda leerlo. Como implica la restauración de toda la copia de seguridad y la extracción de los archivos deseados, esta última no es muy eficiente.

Una técnica alternativa, simple y rápida es hacer uso de las instantáneas NAS para mantener un historial de instantáneas de copia de seguridad en directo. Estas instantáneas permanecen en el cuadro NAS y, por lo tanto, se puede acceder fácilmente para restaurar archivos individuales. En este tipo, las copias de seguridad de NDMP sólo se utilizan como un mecanismo de recuperación de desastres en lugar de un medio para restaurar archivos individuales.

En resumen, el mejor uso del plug-in NDMP de Bacula Enterprise Edition es proteger el NAS de situaciones de desastre, mientras que el uso de instantáneas en el cuadro NAS permite recuperar archivos rápidamente en el día a día. Tenga en cuenta que también puede realizar una copia de seguridad de una instantánea específica con el complemento NDMP. Vea más detalles sobre las instantáneas de la siguiente manera en este documento.

El complemento admite la opción de copia de seguridad de NetApp SMTAPE.

Recuperación a Nivel de Archivo

Con las opciones de instantánea disponibles directamente en el NAS, puede restaurar cualquier archivo en cualquier momento. Como las instantáneas tienen poco que ver con la protección de datos, el uso de NDMP con el formato nativo o la opción NetApp SMTAPE se puede utilizar para proteger el sistema NAS de una situación de desastre. Combinar las dos técnicas proporciona protección de datos con cierta flexibilidad.

En los sistemas NDMP que soportan DAR, la opción de plugin use_hist se puede usar para habilitar la característica «Single Item Restore». Con la opción use_hist, todos los nombres de archivo incluidos en un volcado se almacenan en el catálogo Bacula, y una sesión de restauración tendrá la capacidad de elegir archivos o directorios individuales que se restaurarán. Sólo los archivos seleccionados se restauran en el sistema de destino NDMP. El archivo de volcado correcto se selecciona automáticamente durante el proceso de selección de archivos.

Instalación del Plugin

El complemento Bacula Enterprise Edition NDMP se compone de tres archivos que se deben instalar con un archivo Daemon que se ejecuta en el mismo servidor que ejecuta un demonio de Bacula Storage que almacena sus datos. Esto evita el envío de los datos de copia de seguridad a través de la LAN del demonio de archivo al demonio de almacenamiento. Es posible instalar el plug-in NDMP en cualquier otro host, pero hacer esto es menos eficiente porque hará que los datos recorra dos enlaces de red – una vez desde el NAS al archivo Daemon y otra segunda vez del Daemon de Archivo al Almacenamiento demonio.

Los paquetes binarios están disponibles para un número limitado de plataformas compatibles con Bacula Enterprise Edition. Por favor, póngase en contacto con nosotros para tener acceso a ellos.

rpm -ivh bacula-enterprise-ndmp_8.10.x.rpm
# or
dpkg -i bacula-enterprise-ndmp_8.10.x.deb

Estos paquetes asegurarán que su versión de Bacula Enterprise Edition sea compatible con el complemento NDMP e instalarán los programas bndmp y ndmp-fd.

/opt/bacula/plugins/ndmp-fd.so
/opt/bacula/bin/bndmp
/opt/bacula/bin/idx_dump.pl

Configuración

Su File Daemon debe tener un acceso directo a la red para el NAS, usted puede probar la comunicación usando el telnet.

# telnet nasbox 10000
Connected to nasbox.
Escape character is '^]'.

Tenga en cuenta que el NDMP, al realizar la copia de seguridad real, se conecta de nuevo al host de Bacula. Esto puede requerir que los servidores de seguridad se configuren de acuerdo, incluyendo firewalld y iptables. Utilizando la opción data_port_range, puede controlar qué puertos TCP el NAS intentará utilizar, permitiendo una configuración de firewall más restringida. Cuando la conexión de red no es posible, se puede emitir el error NDMP4_CONNECT_ERR.

Dependiendo de su configuración, puede configurar el método de autenticación para md5 o texto.

Las posibles configuraciones de plug-in se listan de la siguiente manera.

OptionRequiredDefaultInfoExample
hostYesHostname NAShost=192.168.0.50
userYesUsernameuser=root
passYesPasswordpass=password
portNo10000Porta Conexãoport=10000
authNomd5md5, text, noneauth=text
profileNonome perfilprofile=root
volumeYesVolume para fazer backupvolume=/vol/vol0
volume_formatNoFormato de volume específicovolume_vormat=/vol/
fileNo/Diretório para fazer backupfile=/home
typeNodumpdump, tar, SMTAPE, configtype=dump
data_port_rangeNoIntervalo de portas backupdata_port_range=2000-3000
abort_on_errorNoAbortar job havendo erroabort_on_error
debugNoHabilitar depuraçãodebug
use_histNoArmazenar informação HIST no catálogouse_hist
hist_retentionNoPodar informação HIST após determinado tempohist_retention=30days

Formato de Volumen Personalizado

El plug-in de NDMP debe ser consciente de la organización de la estructura para detectar si el administrador desea restaurar un nuevo volumen (where=/dev/vol_tmp) o dentro de un subdirectorio del volumen de destino (where=/tmp).

El Plugin NDMP detectará automáticamente la siguiente estructura:

  • /vol/ (utilizado enNetApp)
  • /root_vdm/ (utilizado en algunos EMCs)

Si sus volúmenes están utilizando un esquema de nomenclatura diferente, debe utilizar la opción volume_format.

/dev/volume_home -> volume_format=/dev/
/rootvolume/volume_tmp -> volume_format=/rootvolume/
/VG/volume_var -> volume_format=/VG/
FileSet {
  Name = NDMPFS
  ...
    Include {
      Plugin = "ndmp:host=nasbox user=root pass=root file=/dev/vol1 volume_format=/dev/"
    }
}

Por ejemplo, en NetApp, el formato del volumen es:

/vol/vol1
/vol/vol2
...

La parte común para distinguir volúmenes y directorios es /vol/. En Solaris y ZFS, los volúmenes se almacenan en /dev/.

/dev/Volume01
/dev/Volume02
/dev/Volume03

Si sus volúmenes se organizan como en este ejemplo:

/FS1/
/FS2/
/FS3/

El volumen_format debe ser configurado con / FS – tenga en cuenta que no hay barra final aquí!

Como se muestra en la Figura 2, si tiene la GUI EBacula de Bweb, puede configurar gráficamente el plug-in del NDMP FileSet, y más tarde un trabajo.

Plugin NDMP Bacula - Guía Rápida 2

Figura 2. Configuración del plug-in del NDMP de Bweb

Ejemplos de FileSet

Copia de seguridad de todo en /vol/vol1 y /vol/vol2:

FileSet {
Name = NDMP
  Include {
    Plugin = "ndmp:host=nasbox user=root pass=root volume=/vol/vol1"
    Plugin = "ndmp:host=nasbox user=root pass=root volume=/vol/vol2"
  }
}

Copia de seguridad de /home en volumen /vol/vol2:

FileSet {
  Name = NDMP_home
    Include {
      Plugin="ndmp:host=nas user=root pass=root volume=/vol/vol2 file=/home"
    }
}

Copia de seguridad de volumen /vol/vol2 utilizando SMTAPE:

FileSet {
  Name = NDMP_home
    Include {
      Plugin="ndmp:host=nas user=root pass=root volume=/vol/vol2 type=SMTAPE"
    }
}

Copia de seguridad de una instantánea específica en /vol/vol2

FileSet {
  Name = NDMP_snapshot
    Include {
      Plugin="ndmp:host=nas user=root pass=root volume=/vol/vol2/.snapshot/snap1"
  }
}

Al utilizar NDMP en comparación con los volúmenes montados por NFS/CIFS, el software NAS NDMP es responsable de realizar copias de seguridad de toda la información relativa a los archivos, incluidos los ACL.

Nota: el plug-in de NDMP no es compatible con la opción «sparse» de FileSet.

Utilizar ndmp.conf para Almacenar Credenciales

Si no desea exponer la contraseña NAS en la línea de comandos del complemento, puede utilizar un archivo ndmp.conf almacenado en el archivo Daemon, que contendrá la información de la credencial.
En el ejemplo siguiente, el perfil «root» se referirá al NAS host «nasbox», la conexión usará el MD5 como método de autenticación («/ m»), el nombre de usuario será «root» y la contraseña será «password» .

# cat /opt/bacula/etc/ndmp.conf
[--root]
-D nasbox/m,root,password

El formato del parámetro -D es el siguiente:

HOST[:PORT][/FLAGS][,USERNAME,PASSWORD]

Donde:

  • HOST: Es el nombre de host o la dirección IP del NAS
  • :PORT: número de puerto opcional. Si no se proporciona, el número de puerto es 10000.
  • USERNAME: un nombre de usuario que será reconocido por el NAS. Si este es un nombre de usuario general o una cuenta especial en el NAS, depende de la implementación.
  • CONTRASEÑA: La contraseña correspondiente al nombre de usuario. El campo de contraseña no debe contener caracteres especiales, como: «,»,!, $, / O #
    / FLAGS: Indicadores opcionales para indicar la versión o el método de autenticación del NDMP deseado.
  • La versión estándar se negocia para ser lo más alto posible. El método de autenticación predeterminado es el texto (NDMP_AUTH_TEXT).
    2: Utilice NDMP versión 2.
    3: Utilice NDMP versión 3.
    4: Utilice NDMP versión 4.
    n: no utiliza autenticación (NDMP_AUTH_NONE).
    t: Utilice la autenticación de texto (NDMP_AUTH_TEXT). El nombre de usuario y la contraseña se envían a través de la red como texto no cifrado (sin cifrado).
    m: Utilice autenticación de desafío / respuesta MD5 (NDMP_AUTH_MD5).
    El NAS remoto es solicitado por un desafío. La contraseña se utiliza como secreto compartido y nunca se envía a través de la red.

En el siguiente ejemplo, el perfil «11» se referirá al host NAS «10.1.1.11», la conexión usará el MD5 como método de autenticación («/ m»), el nombre de usuario será «root» y la contraseña será «Mi contraseña.» Un segundo perfil «12» también se muestra en este archivo de ejemplo ndmp.conf.

[root@lxbackup ~]# cat /opt/bacula/etc/ndmp.conf
[--11]
-D 10.1.1.11/m,root,mypassword
[--12]
-D 10.1.1.12/m,root,mypassword2

En el siguiente ejemplo FileSet, se configuran dos copias de seguridad de los complementos de NDMP – Uno para cada uno de los dos perfiles NAS configurados en el ejemplo ndmp.conf anterior.

Fileset {
  Name = NDMP_FS
    Include {
      Plugin = "ndmp: host=10.1.1.12 profile=12 volume=/vol/DMZ_backup type=smtape"
      Plugin = "ndmp: host=10.1.1.11 profile=11 volume=/vol/LAN_backup type=smtape"
    }
}

Consideraciones de agenda

El formato nativo dump tiene una seria limitación de ocho para el número de trabajos incrementales que se pueden ejecutar entre dos copias de seguridad completas o diferenciales. Hacer más de ocho incrementos no permitirá que usted restaure su sistema con precisión.

Todos los archivos se restaurarán correctamente, pero las restauraciones posteriores de copias de seguridad incrementales no volver a crear el sistema de archivos como estaba durante la copia de seguridad incremental final.

Configuración y Prueba del Volumen NAS

Al especificar type=config como un argumento del plugin NDMP, Bacula hará una copia de seguridad de una vista general de la configuración de todos los volúmenes NAS al archivo /@ndmp/.config.

Para ver la configuración, basta con seleccionar el archivo usando el comando restore, ejecutar la restauración y el Bacula mostrará la configuración del volumen NAS en el registro de tareas, como se muestra en el ejemplo.

El archivo de configuración principal de NetApp se encuentra de forma predeterminada en /vol/vol0/ etc. Entonces, si desea restaurar el NAS desde cero, debe incluir el directorio /vol/vol0/ etc en su FileSet de copia de seguridad.

La opción type=config también se puede utilizar para comprobar la configuración de la red y la información de conexión entre el complemento del Bacula Enterprise Edition NDMP y el NAS. Si esta tarea de copia de seguridad no es correcta, compruebe su configuración o su contraseña.

Plugin = "ndmp:host=nasbox user=root pass=pass type=config"

Una muestra de la salida de configuración del NAS aparece como sigue.

...
JobId 3: QR File system /vol/vol2
JobId 3: QR physdev
JobId 3: QR unsupported 0x0
JobId 3: QR type WAFL
JobId 3: QR status online
JobId 3: QR space 805306 total, 118784 used, 8052948 avail
JobId 3: QR inodes 288238 total, 100 used
JobId 3: QR empty default env
JobId 3: QR
JobId 3: QR File system /vol/vol1
JobId 3: QR physdev
JobId 3: QR unsupported 0x0
JobId 3: QR type WAFL
JobId 3: QR status online
JobId 3: QR space 8589938 total, 6594560 used, 858334 avail
JobId 3: QR inodes 307450 total, 1703 used
JobId 3: QR empty default env
JobId 3: QR
...

Restaurar con NDMP

Para restaurar archivos de copia de seguridad con el protocolo NDMP, debe seleccionar todos los archivos presentes en el directorio /@ndmp/virtual. Puede cambiar el parámetro where para restaurar los archivos a una ubicación alternativa. Sin embargo, la opción RegexWhere no está disponible con este método.

El parámetro donde puede contener un directorio dentro del volumen original o un directorio dentro de un volumen alternativo. La opción volume_format permite configurar cómo el Plug-in de NDMP distinguirá volúmenes y directorios.

En el siguiente ejemplo, si el volumen_format es /vol/, el flujo NDMP se restaurará al directorio / tmp en el volumen «newvolumen».

* restore where=/vol/newvolume/tmp

En el siguiente ejemplo, el flujo NDMP se restaurará al volumen original en el directorio /tmp.

* restore where=/tmp

Restaurar Archivos sin el Host NDMP

En algunos casos, puede extraer archivos generados por el host NDMP, primero restaurando la copia de seguridad del NAS en su máquina host de plug-in de NDMP y, a continuación, utilizando restore o tar. Para este propósito, puede utilizar la opción where = durante la restauración con el siguiente formato:

* restore where=">/tmp"

Los archivos NDMP se extraer al directorio local /tmp/. (Tenga en cuenta que las citas en el ejemplo anterior sólo se deben utilizar al utilizar el argumento de línea de comandos, que no son necesarias al editar opciones a través del menú de restauración).

Restaurar con NetApp SMTAPE

Puede realizar copias de seguridad y restaurar volúmenes enteros con la opción SMTAPE mediante la ruta de acceso a la raíz del volumen (por ejemplo, / vol / foo). Es como hacer una copia de seguridad y restaurar una partición del disco duro mediante dd o partimage. El Bacula no necesita saber nada sobre la estructura subyacente de los datos de SMTAPE, porque cuando el volumen se coloca de nuevo en línea después de la restauración, el cuaderno simplemente lo reconoce como un sistema de archivos WAFL y pasa alegremente por el camino.

Para restaurar un volumen NetApp con la opción SMTAPE, debe colocar el volumen sin conexión con el comando vol en el host NetApp.

netapp> vol offline /vol/vol1
Volume "vol1" is now offline.

Entonces usted necesita especificar where=/vol/vol1 en el comando restore.

Atención, con este método, cualquier dato en el volumen se sobrescribirá por los datos guardados anteriormente.

Limitaciones

Los plug-ins no son compatibles con trabajos de copia / migración / VirtualFull de forma predeterminada.

La opción de contraseña de NDMP no debe contener caracteres especiales, como: «,»,!, $, / O #

Con la restauración de un elemento único, el número de archivos que se van a restaurar no puede exceder de 10.000.

La función Restaurar elemento único no puede buscar dentro del flujo de copia de seguridad de Bacula. Si se selecciona un solo archivo dentro de un archivo de volcado NDMP de 1 TB, se lee 1 TB del disco. La variable DIRECT no se puede establecer en «Yes».

El volcado de NDMP no proporciona información acerca de los archivos eliminados. No se admite el modo preciso de Bacula.

Con la función Restaurar elemento único activado, el archivo NDMP de NDMP debe analizarse en la memoria al final de la sesión de copia de seguridad de NDMP en el sistema de archivos Daemon. La memoria necesaria para esta operación depende del número de archivos y de la estructura del árbol. Con la versión actual, File Daemon necesita asignar un promedio de 1024 bytes por archivo en la memoria.

Con la función Restaurar elemento único activado, todos los archivos y directorios incluidos en un volcado NDMP se almacenan en el catálogo Bacula. Para construir el árbol de restauración con el comando bconsole «restore», el Director necesita asignar un promedio de 170 bytes por archivo en la memoria.

El archivo de historial (HIST) se almacena después de cada sesión de copia de seguridad en el directorio de trabajo. Este archivo es necesario para ejecutar una sesión de restauración de elemento único. Si el archivo no está presente en el directorio, es posible que la restauración no sea correcta. El archivo de historial se incluye automáticamente en la copia de seguridad. Puede restaurar el archivo de historial asociado a un volcado de NDMP antes de restaurar el archivo. Cuando se selecciona, el archivo de historial se restaura automáticamente en el directorio de trabajo.

La característica Restaurar elemento único se ha probado en los sistemas NetApp e ISILON con 50.000 archivos.

La característica Restaurar elemento único no se ha probado intensamente con caracteres acentuados.

El permiso en directorios creados automáticamente durante una restauración con la característica de elemento único puede no ser correcto.

La opción HIST sólo se admite con el formato de historial de archivos de directorio o nodo. Para establecer correctamente esta opción y comprobar que está habilitada en los dispositivos Islion, se pueden emitir los siguientes comandos en la interfaz CLI de Isilon:

NAS1-4# isi ndmp settings variables modify /ifs/path/to/specific/share HIST D
NAS1-4# isi ndmp settings variables list
Path                          Name    Value
-----------------------------------------------------------
/ifs/path/to/specific/share   HIST    D

Sólo se admiten ocho trabajos consecutivos de copia de seguridad incremental.

No puede restaurar archivos individuales de un volcado durante la restauración local (con la opción where=»>/path/»).

La opción de sustitución no se respeta al utilizar la función de restauración de elementos únicos.

Consideraciones de Backup con las Alternativas NFS o CIFS

Si no puede utilizar el plug-in de EBacula NDMP, algunas de las consideraciones alternativas de las copias de seguridad de montaje de NFS y CIFS se dibujará de la siguiente manera.

ACL Utilizando NFS

Para poder realizar copias de seguridad de las listas de control de acceso (ACL) del archivo, debe habilitar el soporte de ACL en el comando mount de la siguiente manera:

# mount -t nfs -o soft,intr,proto=tcp,acl nas:/vol/vol1 /nas/vol/vol1

También debe agregar la opción ACL Support a su FileSet:

FileSet {
  Name = FS_NAS_VOL1
    Options {
      ACL Support = yes
    ...
    }
    File = /nas/vol/vol1
}

ACLs Utilizando CIFS

Si monta un volumen CIFS en Linux, no podrá realizar copias de seguridad de ACL. Para realizar copias de seguridad de ACL en volúmenes CIFS, debe montar el volumen en un servidor de Windows en el que está instalado el Daemon de archivo Bacula. Si tiene una gran cantidad de datos, quizás desee evitar enviar los datos de la red dos veces, instalando el servidor Windows en un host KVM en el servidor de almacenamiento de demonios. Al hacer esto, puede realizar copias de seguridad de las ACL de Windows y reducir la carga de la red. Este servidor virtual sólo se iniciará durante la copia de seguridad del NAS.

Referencias

[1] Backup with NDMP Using Bacula Enterprise Edition Whitepaper. http://baculasystems.com

[2] https://blogs.oracle.com/scoter/hands-on-backup-utilities-for-oracle-vm-34

Disponível em: pt-brPortuguês (Portugués, Brasil) enEnglish (Inglés) esEspañol

Deja un comentario

Cerrar menú