Driver de Almacenamiento S3 y CEPH Nube/Cloud Bacula Enterprise – Guía Rápida

Esta guía rápida está destinada a proporcionar información sobre los procesos necesarios para implementar backups almacenados de soluciones de S3, CEPH y otros proveedores de servicios en la nube usando el Cloud Driver de Bacula Community o Enterprise.

Amazon Web Services (AWS), Wasabi, Huawei Cloud y BackBlaze son algunos de los proveedores de almacenamiento de objetos probados, pero la mayoría de las tecnologías S3 y CEPH (con S3 Gateway) son compatibles con Bacula Cloud Driver. Oracle Cloud, Azure, Google Cloud, Swift (etc.) tienen controladores específicos exclusivos de Bacula Enterprise.

El Driver proporciona un tipo más de dispositivo de almacenamiento Bacula, lo que permite al administrador de Bacula administrar discos locales, cintas magnéticas y ahora múltiples backups almacenados en dispositivos en la nube, utilizando cualquier arquitectura o distribución deseada.

Bacula es solo el software. El servicio de almacenamiento de objetos debe comprarse en su proveedor de servicios favorito.

Transmisión Cloud y Caché

La transmisión del Driver Cloud Bacula, está limitada sólo por las funciones de lectura de disco de los clientes de copia de seguridad, las redes locales y la nube.

Para evitar cuellos de botella de conexión a Internet, el controlador admite técnicas avanzadas de caché local y de división de datos. La caché se puede mantener para restauraciones locales más rápidas o automáticamente descartado (truncado), de acuerdo con la voluntad del administrador Bacula y el almacenamiento en disco local disponible.

Estas son las posibles directivas para la nueva función Cloud, de bacula-sd.conf:

TruncateCache = AfterUpload # Cada parte del volumen de caché se eliminará poco después de la carga. Tenga en cuenta que, si se especifica esta opción, todas las restauraciones requerirán una descarga desde la nube.
# TruncateCache = AtEndOfJob # Al final del trabajo, cada parte que se haya enviado con éxito a la nube será eliminada (truncada). Tenga en cuenta que, si se especifica esta opción, todas las restauraciones requerirán una descarga desde la nube.
# TruncateCache = No # En este caso, el administrador debe especificar o truncar manualmente o mediante un administrador de secuencia de comandos de la consola (por ejemplo: cloud truncate).

Upload = EachPart # se carga cuando una parte (subdivisión del volumen) alcanza el tamaño máximo, incluso durante un Job de respaldo.
# Upload = AfterJob # carga las partes del volumen solo después de que se complete el trabajo.
# Upload = No # no haces carga automáticamente. El administrador debe especificar hacerlo o truncarlo manualmente o mediante una consola de comandos del script de administración (por ejemplo: cloud upload allpools allfrompool storage=<nombre_storage>).

También puede limitar el ancho de banda de transmisión.

Instalación

El controlador se instala en la misma máquina que aloja el Bacula Storage Daemon. Para instalar ambos, añada un nuevo repositorio a su distribución RedHat / CentOS, reemplazando @client-string@ por su código de cliente exclusivo y @version@ por la versión deseada de Bacula Enterprise:

cat /etc/yum.repos.d/bacula.repo

[Bacula]
name=Bacula Enterprise Edition
baseurl=https://www.baculasystems.com/dl/@customer-string@/rpms/bin/@version@/rhel7-64/
enabled=1
protect=0
gpgcheck=0

[BEECloudPlugin]
name=BEE Cloud Plugin
baseurl=https://www.baculasystems.com/dl/@customer-string@/rpms/cloud/@version@/rhel7-64/
enabled=1
protect=0
gpgcheck=0

El Cloud Driver también está disponible para Debian. Por ejemplo:

cat /etc/apt/sources.list.d/bacula.list

#Bacula Enterprise
deb https://www.baculasystems.com/dl/@customer-string@/debs/bin/@version@/jessie-64/ jessie main
deb https://www.baculasystems.com/dl/@customer-string@/debs/cloud/@version@/jessie-64/ jessie cloud

Utilice el gestor de paquetes para actualizar e instalar el controlador. Por ejemplo:

yum install bacula-enterprise-cloud-storage

# or

apt-get update && apt-get install bacula-enterprise-cloud-storage

Configuración

Como se muestra en la Figura 1, cree una nueva configuración de conexión en la nube. Puede utilizar bweb para ejecutar esto.

Driver de Almacenamiento S3 y CEPH Nube/Cloud Bacula Enterprise - Guía Rápida 1

Figura 1. Nueva Configuración de Conexión Cloud de Storage Daemon

Los ejemplos de configuración texto de los proveedores de servicios de nube AWS y CEPH alternativos se enumeran de la siguiente manera:

Cloud {
  Name = AWS
  Driver = "S3"
  HostName = "s3.amazonaws.com"
  BucketName = "su_bucket"
  AccessKey = "xyz"
  SecretKey = "abc"
  Protocol = HTTPS
  UriStyle = VirtualHost
  Truncate Cache = AfterUpload
  Upload = EachPart
  Region = "us-east-1" 
  MaximumConcurrentUploads=20
  MaximumConcurrentDownloads=20
  # MaximumUploadBandwidth = 5MB/s # Opcional
}
Cloud {
  Name = CEPH_S3
  Driver = "S3"
  HostName = ceph.mydomain.lan
  BucketName = "CEPHBucket"
  AccessKey = "xxxXXXxxxx"
  SecretKey = "xxheeg7iTe0Gaexee7aedie4aWohfuewohxx0"
  Protocol = HTTPS
  Upload = EachPart
  Truncate Cache = AfterUpload
  UriStyle = Path  # Must be set for CEPH
  MaximumConcurrentUploads=20
  MaximumConcurrentDownloads=20
}

Después de la configuración de la nube, como se muestra en la Figura 2, añada un dispositivo Bacula Storage Daemon que grabará en el bucket configurado. Debe tener el Cloud DeviceType y utilizar la misma configuración de nube creada anteriormente. ArchiveDevice es la ruta de la caché de disco local, por lo general con un gran espacio disponible. MediaType debe ser un nombre exclusivo para todos los demás Dispositivos Bacula existentes y el MaximumPartSize es el tamaño de los datos divididos que el Bacula transferirá al bucket.

Driver de Almacenamiento S3 y CEPH Nube/Cloud Bacula Enterprise - Guía Rápida 2

Figura 2. Nuevo dispositivo de almacenamiento de demonios

A continuación, se muestra un ejemplo de configuración de texto de un solo dispositivo Storage Daemon (tenga en cuenta que el Plugin Cloud también es compatible con el Autochanger, que son grupos de dispositivos Bacula):

Device {
  Name = MyCloudAWS
  Device Type = Cloud
  Cloud = AWS
  Archive Device = /mnt/backups # volúmenes de caché local
  Maximum Part Size = 500 MB # importante: es la granularidad de carga del objeto
  Media Type = Cloud01
  LabelMedia = yes
  Random Access = Yes;
  AutomaticMount = yes
  RemovableMedia = no
  AlwaysOpen = no
}

Finalmente, como se muestra en la Figura 3, es hora de atar el nuevo Device del Storage Daemon a su Director de Bacula. Cree una nueva configuración de almacenamiento para el Director. La dirección y la contraseña generalmente son las mismas que ya se utilizan con los Devices ya creados para el mismo Storage Daemon. DeviceName y MediaType deben coincidir con los valores definidos en la configuración del dispositivo recién creado.

Driver de Almacenamiento S3 y CEPH Nube/Cloud Bacula Enterprise - Guía Rápida 3

Figura 3. Nueva Configuración de Storage en el Director

Es aconsejable también crear una o más nuevas Pools para alojar copias de seguridad en la nube, utilizando el almacenamiento recién creado. Se puede especificar un nuevo valor de tiempo de la directiva CacheRetention Pool (x días, meses, etc.) para determinar la caducidad de los volúmenes almacenados en caché.

Modifique Jobs y Horarios de Bacula para usar los nuevos Cloud Pools, a su criterio.

Aplicar cambios y realizar un trabajo de copia de seguridad de prueba.

Prueba y Solución de problemas

El S3 CLI puede usarse para probar AWS y otras conexiones de Cloud Storage. Puede instalarlo utilizando pip:

yum -y install python-pip
pip install awscli

El siguiente comando se puede utilizar para configurar la conexión de bucket:

aws configure

La creación de bucket y una lista se pueden realizar de la siguiente manera (por ejemplo):

aws s3api --endpoint-url='https://s3.amazonaws.com' 
create-bucket --bucket bsyssdsync
aws s3 ls

Más comandos, detalles e información general sobre el Bacula Enterprise Cloud Driver se pueden encontrar en el whitepaper de referencia.

Referencia

Bacula Cloud Backup – Bacula Enterprise Edition. http://baculasystems.com

 

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

Deja una respuesta