Bacula Enterprise Backup è una soluzione completa di backup per le aziende per la protezione degli ambienti VMware vSphere, Hyper-V, Xen, KVM e Proxmox e permette di salvare i backup localmente, off-site e nel cloud.
Il prodotto prevede tutte le funzioni che i data center moderni necessitano per proteggere i server in esecuzione: backup full, differenziali, incrementali e virtual-full e funzioni di ripristino dati oltre alla deduplica, REST API, integrazione nativa cloud e molte altre. I backup di Bacula possono essere salvati on-premises (dischi, NAS, SAN, cassette), off-site e nel cloud (AWS S3, Azure, Google Cloud ed Oracle Cloud).
Oltre a proteggere gli ambienti VMware vSphere, Microsoft Hyper-V, etc., il prodotto supporta inoltre un buon numero di piattaforme database (MS-SQL, MySQL, PostgreSQL, Oracle, SAP ed HANA, giusto per menzionarne alcune). Bacula Enterprise Edition è altamente flessibile e fornisce lo stesso grado di protezione per le infrastrutture IT fisiche e virtuali e nel cloud.
Una lista completa di tutte le funzioni disponibili in Bacula Enterprise Backup Edition possono essere consultate in questa pagina.
Architettura
Bacula Enterprise Backup è composto da cinque componenti principali:
- Bacula Director - è il "cervello" dell'architettura di Bacula. Ad esempio effettua tutti i backup, restore, e la verifica delle operazioni oltre che a schedulare i backup e il ripristino dei file.
- Bacula Console - è il programma utilizzato dagli amministratori per comunicare con il Director e l'interfaccia utente è disponibile in tre versioni: grafica (è il programma più semplice che viene eseguito in una shell window), testo (buona opzione se sono utilizzati degli script) e via web (BWeb è l'interfaccia più completa).
- Bacula Client - è il servizio client di Bacula (File Daemon) che deve essere installato su ogni macchina da proteggere.
- Bacula Storage - è il servizio che viene eseguito come daemon installato su ogni macchina provvista di dispositivi di backup responsabile della lettura e scrittura sullo storage.
- Catalog - mantiene gli indici dei file e i volumi dei database per tutti i file protetti. Contiene tutte le infomazioni relative al volume utilizzato, ai job eseguiti e ai file salvati permettendo un efficiente processo di ripristino. Bacula supporta tre piattaforme di database: MySQL, PostgreSQL e SQLite (raccomandata solo per ambienti di test).
OS supportati
Il software Bacula Enterprise Backup supporta le maggiori distribuzioni Linux (RHEL, SUSE, Debian, Ubuntu), Windows, MacOS X, AIX o Solaris.
Il software è disponibile e certificato per i seguenti sistemi operativi:
Bacula Enterprise Backup per VMware
Poichè Bacula Enterprise Backup supporta numerose piattaforme e le funzioni fornite sono molteplici per la protezione di tutti i tipi di attività, questo articolo è principalmente focalizzato sul backup per VMware.
Bacula Enterprise Backup per VMware può essere installato sulle piattaforme Debian Squeeze e RHEL/CentOS e funziona tramite SAN (FC/ISCSI) o via Network Block Device (NBD).
Bacula effettua backup a livello di immagine (tecnologia snapshot) e sfrutta la tecnologia Changed Block Tracking (CBT) per effettuare il backup dei soli blocchi modificati rispetto al backup full iniziale. Questa soluzione permette di ottimizzare non solo il backup ma risparmia spazio nello storage del repository di backup con un carico limitato sulla rete.
Funzioni principali di backup
Bacula Enterprise Backup per VMware prevede molte funzionalità per la protezione delle macchine e le funzioni principali possono essere così riassunte:
- Funzioni di backup VMware - i backup vengono eseguiti a livello di immagine (Full, Differenziale ed Incrementale) supportando la tecnologia VSS per effettuare il quiesce delle applicazioni basate su VSS per mantenere il backup delle applicazioni consistenti. I backup possono essere compressi, deduplicati e criptati per fornire le migliori performance ottimizzando l'efficienza e la sicurezza. I file VMDK possono essere ripristinati in cartelle differenti e il restore granulare di Active Directory, Exchange, SharePoint, MS-SQL, e molti altri oggetti di applicazioni sono supportati. I backup possono essere salvati in locazioni diverse, come dischi locali, NAS, SAN, cassette, cloud e off-site.
- File Level Restore (FLR) - può essere effettuato da qualsiasi VM e file system (Linux, Windows, LVM, EXT3/4, etc.) supportato da VMware. FLR funziona con SAN o via NBD e può essere effettuato tramite interfaccia Web per una gestione più semplice o utilizzando l'interfaccia testo utile specialmente se si utilizzando script.
- File-Level Recovery rapido - i file possono essere collocati e ripristinati velocemente tra ambienti fisici e virtuali, ad applicazioni e folder direttamente dai backup della VM senza dover prima ripristinare l'intera VM.
- Verifica dell'integrità e consistenza - i backup delle VM sono verificati e vengono fatte delle operazioni di ripristino per garantire l'integrità e la recuperabilità dei backup per evitare problematiche dovute a backup corrotti o errori del disco.
- Endpoint Deduplication globale - i dati sono ottimizzati a livello di blocco salvando il nuovo blocco in maniera efficiente riparmiando spazio nello storage utilizzato e la banda utilizzata.
- Virtual Full progressivo - permette di risparmiare risorse lato client mentre vengono consolidati i backup incrementali prelevando i dati dallo storage locale e ricostruendo il full localmente.
- Backup nel cloud - i tool S3 ed Azure di Bacula permettono agli amministratori di salvare i backup nel cloud sfruttando la sicurezza e la flessibilità offerte da queste piattaforme ottimizzando i costi. Questa funzione fornisce inoltre un ambiente di DR utile in caso di problemi in produzione.
Installare Bacula Backup per VMware su CentOS 7
Bacula Enterprise per VMware può essere installato sulle piattaforme Debian Squeeze e RHEL/CentOS e richiede un abbonamento attivo per accedere all'area di download. Di seguito viene illustrata un panoramica dell'installazione.
Configurare il repository yum
Per installare il prodotto su CentOS 7, un repository yum deve essere configurato per effettuare l'installazione. Per procedere è necessario importare innanzitutto le due GPG keys signature presenti nella root dell'area di download.
Scaricare le chiavi GPG nel proprio server CentOS ed effettuare l'importazione tramite i seguenti comandi:
# rpm --import BaculaSystems-Public-Signature.asc
# rpm --import BaculaSystems-Public-Signature-08-2017.asc
Una volta che le chiavi sono state importate nel sistema, aggiungere le seguenti voci in /etc/yum.repos.d/Bacula-Enterprise-Edition.repo per scaricare i file rpm necessari per installare il software. Il valore della baseurl corretta è fornita da Bacula quando viene attivato l'abbonamento.
# vi /etc/yum.repos.d/Bacula-Enterprise-Edition.repo
[Bacula-Enterprise] name=Red Hat Enterprise - Bacula - Enterprise baseurl=https://URL_provided_by_Bacula_Systems/rvs/ix/10.0/rhel7-64 enabled=1 protect=0 gpgcheck=1
Installare Bacula Enterprise Backup
Come primo step si installa il database raccomandato PostgreSQL per Bacula Enterprise con il comando:
# yum install postgresql-server
Inizializzare il database ed impostare l'auto-start all'avvio:
# postgresql-setup initdb
# systemctl enable postgresql.service
Quando il database è stato inizializzato, installare il software Bacula tramite il comando:
# yum install bacula-enterprise-postgresql
Avviare il database PostgreSQL.
# systemctl start postgresql.service
Lo step successivo consiste nella creazione del database dando la corretta ownership.
# su - postgres
> /opt/bacula/scripts/create_postgresql_database
> /opt/bacula/scripts/make_postgresql_tables
> /opt/bacula/scripts/grant_postgresql_privileges
> exit
Avviare i servizi Bacula.
# systemctl start bacula-fd.service
# systemctl start bacula-sd.service
# systemctl start bacula-dir.service
Aprire le porte TCP richieste 9101, 9102 e 9103 nel firewall tramite i comandi seguenti:
# firewall-cmd --permanent --add-port=9101/tcp
# firewall-cmd --permanent --add-port=9102/tcp
# firewall-cmd --permanent --add-port=9103/tcp
Poichè SELinux potrebbe causare dei problemi, verificare se SELinux è abilitato nel proprio sistema. Editare il file /etc/selinux/config e disabilitarlo se necessario.
# sestatus
# vi /etc/selinux/config
Per disabilitare SELinux, modificare la voce SELINUX nel file /etc/selinux/config come riportato:
SELINUX=disabled
Salvare e riavviare il sistema. Quando il reboot viene completato, verificare nuovamente lo stato di SElinux. La funzione è stata disabilitata correttamente.
# sestatus
Eseguire il seguente test per verificare se il sistema funziona come ci si aspetta.
# sudo -u bacula /opt/bacula/bin/bconsole
Inserire i seguenti comandi:
* run job=BackupCatalog
* messages
* status dir
* quit
Se non vengono visualizzati errori, il sistema funziona correttamente.
Installare BWeb
BWeb è l'interfaccia web utilizzata per la gestione di Bacula Enterprise.
Per installare l'interfaccia web tramite yum, editare i file /etc/yum.repos.d/bacula-enterprise.repo ed aggiungere la seguente voce poichè è richiesto un altro URL :
# vi /etc/yum.repos.d/bacula-enterprise.repo
[Bacula-Enterprise-bweb] name=Red Hat Enterprise - BWeb Management Suite baseurl=https://URL_provided_by_Bacula_Systems/rvs/bwebix/10.0/rhel7-64 enabled=1 protect=0 gpgcheck=1 [Bacula-Enterprise-dag] name=Red Hat Enterprise - Bacula Systems dag for BWeb baseurl=https://URL_provided_by_Bacula_Systems/tz/DAG/rhel7-64/ enabled=1 protect=0 gpgcheck=0
Installare il componente BWeb con il seguente comando:
# yum install bacula-enterprise-bweb
Finalizzare l'installazione eseguendo il comando:
# /opt/bweb/bin/install_bweb.sh
Impostare l'auto-start di BWeb durante il boot ed avviare il servizio.
# systemctl enable bweb.service
# systemctl start bweb.service
Siccome BWeb è accessibile tramite la porta 9180, è necessario aprire questa porta nel firewall di sistema.
# firewall-cmd --permanent --add-port=9180/tcp
Ora accedere alla web console digitando l'indirizzo http://IP_Bacula_Server:9180. E' consigliato l'utilizzo di Firefox come browser. Verificare che i parametri elencati siano corretti e cliccare su Save in fondo allo schermo per salvare la configurazione.
Ora testare la configurazione nella sezione Configuration > Configure BWeb.
Cliccare su Check BWeb configuration in fondo allo schermo.
Il risultato del controllo indica eventuali package mancanti ed errori.
Installare i package di vSphere
Per effettuare il backup per le infrastrutture VMware, è necessario installare i package RPM corretti. I package possono essere facilmente installati utilizzando yum ma è necessario specificare il repository corretto nel proprio sistema. Editare il file /etc/yum.repos.d/bacula-enterprise.repo ed aggiungere la seguente voce:
# vi /etc/yum.repos.d/bacula-enterprise.repo
[Bacula-Enterprise-vsphere] name=Red Hat Enterprise - Bacula Systems vSphere baseurl=https://URL_provided_by_Bacula_Systems/rpms/vsphere/10.0.5/rhel7-64/ enabled=1 protect=0 gpgcheck=0
Installare i package richiesti necessari per garantire che la versione Bacula Enterprise Edition sia compatibile con il Plugin vSphere.
# yum install bacula-enterprise-vsphere*
Integrazione BWeb vSphere
Per integrare VMware con BWeb, è necessario installare il package VMware Perl SDK. Scaricare il package .GZ nel proprio sistema ed estrarre i file.
# tar -xzvf VMware-vSphere-Perl-SDK-6.7-0-8156551.x86_64.tar.gz
Una volta che i file sono stati estratti, accedere alla directory creata ed eseguire i seguenti comandi per installare il VMware Perl SDK:
# cd vmware-vsphere-cli-distrib
# /.vmware-install.pl
Accettare l'EULA digitando yes quando richiesto e premere Enter.
Se sono rilevate delle dipendenze mancanti necessarie per viperl, installare tutti i package richiesti.
Quando tutte le dipendenze sono state risolte, il VMware Perl SDK si installa correttamente.
Ora eseguire il seguente comando per recuperare il vCenter thumbprint necessario per la configurazione del plugin:
# /opt/bacula/bin/vsphere-ctl thumbprint <IP_vCenter>
Editare il file /opt/bacula/etc/vsphere_global.conf ed inserire i dettagli del proprio vCenter o host ESXi. Come thumbprint, inserire l valore ottenuto dallo step precedente.
# vi /opt/bacula/etc/vsphere_global.conf
Testare il plugin vSphere lanciando questo comando. SSi dovrebbe vedere la lista delle virtual machines in esecuzione nel vCenter.
# /opt/bacula/bin/vsphere-ctl update
Ora per abilitare il supporto dell'integrazione VMware, le librerie viperl devono essere installate nel sistema. Dalla directory precedentemente estratta vmware-vsphere-cli-distrib, copiare i file inclusi nella cartella lib/VMware/share/VMware nel percorso di inclusione di perl.
# cp vmware-vsphere-cli-distrib/lib/VMware/share/VMware/* /usr/local/share/perl5/
Prima di proteggere il proprio ambiente vSphere, è necessario configurare la propria infrastruttura di backup. Accedere alla dashboard della console web e selezionare Configuration > Configure Bacula per accedere all'area di configurazione e procedere con la configurazione del prodotto. Da questa sezione è possibile definire il proprio ambiente di backup: job di backup, repository dei backup, policy di backup, etc.
Bacula Enterprise Backup presenta così tante funzionalità per la protezione e la sicurezza delle infrastrutture IT che anche l'amministratore più esigente può trovare il prodotto completo.
Bacula Enterprise Backup è disponibile per il download come 30-day trial con tutta la documentazione ed esempi di scenari per i test.