Plugin NDMP Bacula Enterprise – 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].

Hay una serie de líneas NAS aprobadas para su uso con el complemento NDMP, entre otras:

  • EMC Celerra
  • Hitachi BlueArc
  • NetApp
  • Huawei OceanStor
  • EMC Isilon
  • EMC Unity

La versión actual del plugin NDMP tambien soporta la versión de los datos 7.3, 8.0, 8.1, 8.2 y varios otros proveedores de NetApp.

Backup sin Plugin NDMP

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 Enterprise - Guía Rápida 1

Figure 1. Diagrama Backup sin Plugin NDMP

Copia de Seguridad con Plugin NDMP

El NDMP tiene la principal ventaja de la velocidad sobre los protocolos NFS/CIFS para realizar copias de seguridad de los volúmenes NAS. Lo más importante que debe comprender sobre 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 cada proveedor de plataforma de almacenamiento lo define individualmente. Por lo tanto, en general, una copia de seguridad NDMP realizada en el NAS de un proveedor no se puede restaurar en el NAS de otro proveedor.

El complemento Bacula NDMP activa snapshots en los dispositivos de almacenamiento y genera copias de seguridad dentro del flujo de datos de respaldo estándar de Bacula, lo que permite multiplexarlo con otros flujos de respaldo y todas las funciones avanzadas. Dentro del flujo de datos guardados que contiene este flujo NDMP, los datos NDMP reales permanecen opacos (formato específico del proveedor, a veces propietario). Los atributos como las ACL se incluyen en el flujo de respaldo y el proveedor del NAS los maneja correctamente para el respaldo y la restauración.

Es posible realizar una restauración de un solo archivo utilizando la técnica de restauración de un solo elemento (opción use_hist). También es posible restaurar un solo archivo con el complemento NDMP restaurando el flujo de datos NDMP en una máquina local (lo mismo que Backup with NDMP tiene el complemento NDMP) y abriendo el archivo resultante. Esto requiere que conozca el formato de datos del proveedor y tenga un programa que pueda leerlo. Como se trata de restaurar la copia de seguridad completa y extraer los archivos deseados, este último no es muy eficiente.

Recuperación Granular a Nivel de Archivo

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.

Option Required Default Info Example
host Yes Hostname NAS host=192.168.0.50
user Yes Username user=root
pass Yes Password pass=password
port No 10000 Porta Conexão port=10000
auth No md5 md5, text, none auth=text
profile No nome perfil profile=root
volume Yes Volume para fazer backup volume=/vol/vol0
volume_format No Formato de volume específico volume_vormat=/vol/
file No / Diretório para fazer backup file=/home
type No dump dump, tar, SMTAPE, config type=dump
data_port_range No Intervalo de portas backup data_port_range=2000-3000
abort_on_error No Abortar job havendo erro abort_on_error
debug No Habilitar depuração debug
use_hist No Armazenar informação HIST no catálogo use_hist
hist_retention No Podar informação HIST após determinado tempo hist_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 Enterprise - 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.

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.

Referencias

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

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

Deja una respuesta