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.
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.
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: Português (Portugués, Brasil)English (Inglés)Español