TESI DI LAUREA IN PROGRAMMAZIONE IN RETE Network backup nella MAN di Ateneo: il caso di Bacula



Documenti analoghi
Inizializzazione degli Host. BOOTP e DHCP

Console di Monitoraggio Centralizzata

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Il web server Apache Lezione n. 3. Introduzione

Software di gestione della stampante

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

1) GESTIONE DELLE POSTAZIONI REMOTE

15J0460A300 SUNWAY CONNECT MANUALE UTENTE

Sistemi avanzati di gestione dei Sistemi Informativi

SurfCop. Informazioni sul prodotto

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

List Suite 2.0. Sviluppo Software Il Telefono Sas 10/06/2010

Strategie e Operatività nei processi di backup e restore

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Installazione LINUX 10.0

Guida Rapida di Syncronize Backup

Replica con TeraStation 3000/4000/5000/7000. Buffalo Technology

La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

ORACOLO Gestione questionari.

Capitolo 1 Installazione del programma

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Protocollo Informatico (D.p.r. 445/2000)

OmniAccessSuite. Plug-Ins. Ver. 1.3

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

PROGETTO Backup Consolidation

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Le Soluzioni Tango/04 per adempiere alla normativa sugli amministratori di sistema

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

Registratori di Cassa

Introduzione a Windows XP Professional Installazione di Windows XP Professional Configurazione e gestione di account utente

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

Studi di Settore. Nota Operativa 22/4/2013

Presentazione FutureMobile. Sicurezza e Tracciabilità

Il Web Server e il protocollo HTTP

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Guida alla registrazione on-line di un DataLogger

Capire i benefici di una rete informatica nella propria attività. I componenti di una rete. I dispositivi utilizzati.

Approfondimento: Migrazione dei database e backup della posta

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

Backup e Restore di un database PostgreSQL Sandro Fioravanti INFN-LNF

Configurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

Procedura per creare un archivio storico remoto nelle 24 ore giornaliere

INDICAZIONI GENERALI

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Protocollo Informatico (D.p.r. 445/2000)

GUIDA UTENTE PRIMA NOTA SEMPLICE

La Metodologia adottata nel Corso

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

La Videosorveglianza Criteri per il dimensionamento dello storage

Online Help StruxureWare Data Center Expert

FPf per Windows 3.1. Guida all uso

Acronis License Server. Manuale utente

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

SOFTWARE PER LA RILEVAZIONE PRESENZE SUL WEB

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Procedura per la configurazione in rete di DMS.

FidelJob gestione Card di fidelizzazione

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi

Architetture Applicative

Software per Helpdesk

Considerazioni sui server

Guida di Pro Spam Remove

itime Chiaramente inclusa la stampa del cartellino presenze come previsto dalle normative

CODICE PRIVACY PROCEDURA DI GESTIONE DEL BACKUP ED IL RESTORE DEI DATI

I dati : patrimonio aziendale da proteggere

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (utente singolo)

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it

Allegato 3 Sistema per l interscambio dei dati (SID)

Ottimizzazione delle interrogazioni (parte I)

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Linee guida per il Comitato Tecnico Operativo 1

19. LA PROGRAMMAZIONE LATO SERVER

Manuale Terminal Manager 2.0

FileMaker Pro 13. Utilizzo di una Connessione Desktop Remota con FileMaker Pro13

SISTEMA DI GESTIONE PER LA QUALITA Capitolo 4

Le fattispecie di riuso

BACKUP OnLine. Servizi di backup e archiviazione remota. SCHEDA PRODOTTO Versione 1.7

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

FIRESHOP.NET. Gestione completa delle fidelity card & raccolta punti. Rev

DuBackup+ OnlineBackups BestPractices

Centro Tecnico per la Rete Unitaria della Pubblica Amministrazione

Dispensa di Informatica I.1

Manuale di Aggiornamento BOLLETTINO. Rel H4. DATALOG Soluzioni Integrate a 32 Bit

lem logic enterprise manager

Concessione del servizio di comunicazione elettronica certificata tra pubblica amministrazione e cittadino- PostaCertificat@

Servizi ASP. ASP su Centro Servizi TeamSystem Contratto e SLA

UN APP FLESSIBILE E INTUITIVA PER GESTIRE I TUOI AFFARI IN TUTTA COMODITÀ

OwnCloud Guida all installazione e all uso

Transcript:

UNIVERSITÀ DEGLI STUDI DI BARI FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI CORSO DI LAUREA IN INFORMATICA A.A. 2010/11 TESI DI LAUREA IN PROGRAMMAZIONE IN RETE Network backup nella MAN di Ateneo: il caso di Bacula Relatore: Chiar.mo prof. Filippo LANUBILE Correlatori: Emanuele Magno Dario Mastropasqua Laureando: Daniele D AGNELLI ANNO ACCADEMICO 2010-2011

Sommario 1. Introduzione... 1 2. Il Backup... 2 2.1. Adempimenti di legge... 3 2.2. Qualità desiderabili... 3 2.3. Approcci al Backup... 4 2.3.1. Il backup dell intero sistema... 4 2.3.2. Il backup dei dati delle applicazioni... 6 2.3.3. I livelli di backup... 6 2.3.4. La periodicità dei backup... 7 3. Il software di Backup... 8 3.1. Software a Confronto... 8 3.1.1. Perché Bacula... 9 3.2. Bacula... 11 3.2.1. Stato dello sviluppo... 11 3.2.2. La licenza... 11 3.2.3. Le statistiche di Ohloh.net... 11 3.2.4. L architettura... 13 3.2.5. Le componenti... 13 3.2.6. L interazione... 15 3.2.7. Il protocollo... 16 3.2.8. L autenticazione... 16 3.2.9. La configurazione... 16 3.2.10. Funzioni... 16 4. Analisi dei Requisiti... 18 4.1. I servizi attivi al CSI CAMPUS... 18 4.1.1. Apache HTTP Server... 19 4.1.2. MySQL... 19 4.1.3. Dovecot... 20 4.1.4. OpenLDAP... 21 4.1.5. BIND... 21

4.1.6. Syslogd... 21 4.1.7. Bacula... 21 4.2. Linux CentOS... 22 5. L Installazione... 23 6. La configurazione... 24 6.1. Automatizzazione dei task da eseguire prima e dopo il backup... 25 6.2. web1.uniba.it... 26 6.2.1. Implementare il Mirroring Master-Slave... 26 6.2.2. Apache... 28 6.3. mail.uniba.it... 29 6.4. auth1.uniba.it... 29 6.4.1. LDAP Sync Replication... 29 6.5. gauss.uniba.it... 29 6.6. logger.csi.uniba.it... 30 6.7. bacula.uniba.it... 30 6.7.1. Il server Slave del DBMS MySQL di web1.uniba.it... 30 6.7.2. Il mirror del server OpenLDAP di auth1.uniba.it... 31 7. Estrazione dei Dati... 32 7.1. Disaster Recovery... 32 8. Il Testing... 34 8.1. L hardware del server Bacula... 34 8.2. Il repository EPEL... 34 8.3. Compatibilità tra le versioni... 34 8.4. L installazione manuale di Bacula 3 attraverso gli RPM... 35 8.5. La configurazione degli agenti bacula-fd... 35 8.6. Backup di web1.uniba.it... 37 8.6.1. TCP Wrappers... 37 8.7. Backup di gauss.uniba.it... 38 8.7.1. Il firewall iptables... 38 8.8. Backup di bacula.uniba.it... 38 8.8.1. Il directory OpenLDAP di auth1.uniba.it... 38 8.8.2. Il catalogo SQL di Bacula... 39 8.8.3. Script da eseguire prima del backup tramite il parametro ClientRunBeforeJob... 39 8.8.4. Script da eseguire dopo il backup tramite il parametro ClientRunAfterJob... 39 8.9. Performance... 40

8.9.1. Velocità del Backup sul Network: il backup delle directory /etc... 40 8.9.2. Velocità del ripristino sul Network della directory /etc... 42 8.9.3. Le velocità di trasferimento a confronto... 43 8.9.4. Velocità del Backup sul Network di notte... 44 8.9.5. Velocità del ripristino sul Network di notte... 46 8.9.6. L estrazione dei dati del DBMS di web1.uniba.it... 47 8.10. Previsioni... 48 web1.uniba.it... 48 mail.uniba.it... 48 logger.uniba.it... 49 gauss.uniba.it... 49 auth1.uniba.it... 50 bacula.uniba.it... 50 8.10.1. Confronto tra gli spazi di archiviazione richiesti per un Full Backup... 51 8.10.2. Confronto del tempo impiegato per un Full Backup... 51 9. Conclusioni... 52 10. Sviluppi Futuri... 54 Appendice: le Tape Library... 55 I Tape Drive... 55 FUJITSU ETERNUS LT40... 56 Ringraziamenti... 57 Bibliografia... 58

1. Introduzione Questa tesi è il risultato del lavoro svolto presso il Centro Servizi Informatici (CSI) dell Università degli Studi di Bari, dove si è resa necessaria una soluzione affidabile che garantisse l incolumità dei dati che vengono gestiti. Al momento non è in vigore nessuna politica per quanto riguarda le copie di sicurezza dei dati, generalmente se ne effettua una copia prima delle operazioni di aggiornamento o modifica delle configurazioni; i dati salvati sono spesso archiviati sulla stessa macchina e nessuna precauzione è adottata per tutelarsi da eventi disastrosi. La tesi analizza tutte le fasi che portano all implementazione del sistema di backup per il CED CSI CAMPUS: analisi dei requisiti, scelta del software e strategie di configurazione nonché i risultati dei test di archiviazione e ripristino effettuati. Il sistema desiderato deve centralizzare oltre all archiviazione dei dati il controllo sui client in modo che la soluzione possa facilmente essere integrata con altre periferiche in futuro. Tutte le macchine in oggetto comunicano tra loro attraverso la rete, nel nostro caso una LAN ma potrebbe essere anche Internet. Questo tipo di soluzione è generalmente chiamato Network Backup. 1

2. Il Backup Per Backup si intende una generica operazione che realizzi una copia dei dati al fine di un loro eventuale recupero in caso di perdita. I dati potrebbero andare perduti per diversi e imprevedibili motivi, per questo è importante intraprendere, al fine di tutelare i dati, azioni che limitino l'impatto di questi eventi, ovvero il lavoro e quindi il tempo di coloro che su questi dati lavorano. Una perdita dei dati può avere diverse cause: Intenzionale: un file o un programma vengono deliberatamente eliminati da un utente Non intenzionale: la cancellazione accidentale di un file o di un applicazione, lo smarrimento di un supporto di archiviazione, errori dell amministratore di sistema Guasto: o Interruzione improvvisa dell alimentazione con conseguente perdita dei dati in memoria non ancora archiviati su supporti di archiviazione permanente o L hardware sul quale i dati sono archiviati smette di funzionare o Il crash inaspettato di un software con conseguente perdita dei dati non salvati o Un bug software porta a una cancellazione inattesa Disastro: disastri naturali come terremoti, allagamenti o incendi Crimine: furto, attacco informatico o la presenza di malware sui sistemi 2

2.1. Adempimenti di legge A rafforzare l'importanza dei backup sussistono precisi obblighi imposti dalla legge riguardo la gestione dei dati personali, come email e spazi web. L'argomento è trattato dal D.lgs 192/2003 - "Codice in materia di protezione dei dati personali ( [1]) In particolare, citando l articolo 31 del D.lgs: I dati personali oggetto del trattamento sono custoditi e controllati [ ] in modo da ridurre al minimo, mediante l adozione di idonee e preventive misure di sicurezza, i rischi di distruzione o perdita, anche accidentale, L'articolo 31 specifica, con il comma 1-f, che il trattamento dei dati personali è legittimo solo se sussistono adeguati requisiti di sicurezza e disponibilità degli stessi. La legge impone inoltre, con l'articolo 18, che i salvataggi avvengano con cadenza almeno settimanale e che in caso di bisogno il ripristino debba avvenire entro sette giorni. Tutti i provvedimenti presi devono essere inoltre riportati, secondo l'articolo 19, nel documento programmatico sulla sicurezza. 2.2. Qualità desiderabili È importante identificare quali siano tutte le proprietà desiderabili per un sistema di backup, prima di analizzare i compromessi che inevitabilmente il caso particolare impone. 3

Semplicità: se la realizzazione dei backup è complessa, si corre il rischio che la soluzione non venga adottata come previsto, rendendo tutto il lavoro inutile; Affidabilità e velocità: tutti i dati devono poter essere recuperati e i sistemi che hanno subito perdite devono poter tornare operativi in breve tempo anche in caso di disastro; Discrezione: la soluzione di backup deve avere un impatto minimo sulle normali attività svolte dai sistemi che la impiegano, non deve penalizzarne le prestazioni né la disponibilità dei servizi; Archiviazione fuori sede: il recupero dei dati deve essere possibile anche in caso di evento catastrofico (furto, incendio, allagamento, etc..) e bisogna organizzarsi per mantenere una ulteriore copia aggiornata dei dati in un luogo fisicamente distante. 2.3. Approcci al Backup La scelta della modalità varia da sistema a sistema ed è la conseguenza del compromesso tra economicità, prestazioni e affidabilità richieste. 2.3.1. Il backup dell intero sistema Il Backup dell intero sistema è la soluzione che offre la massima affidabilità. Sebbene i dati che si intendono proteggere sono quelli di lavoro mentre i file di programma e sistema operativo possono essere recuperati con una nuova installazione, questo approccio permette di far fronte ai cambiamenti imprevisti del sistema in uso. Un sistema potrebbe venire aggiornato o potrebbero venire 4

aggiunti dei nuovi servizi che operano in posizioni non precedentemente indicate al servizio di Backup. Il rovescio della medaglia risiede nel fatto che un backup integrale implica il salvataggio anche di dati ai quali non si è interessati e questo si traduce in uno spazio di archiviazione richiesto maggiore, un maggior traffico sul network e ancora in un maggior tempo per terminare il task. 2.3.1.1. Salvare tutti i dati del disco Quando si è interessati a salvare tutti i dati di un sistema è sufficiente indicare al software di backup la directory radice (root) come posizione di interesse. Utilizzando questo approccio bisogna tener presente che su Linux anche i device sono considerati file e che come tali sono presenti sul filesystem. Salvare questi file non è di alcuna utilità, oltretutto spesso risultano bloccati dal sistema operativo. In tal caso si può quindi indicare al software di backup quali sono i loro percorsi, tramite un opportuna lista di esclusione che può comprendere anche i file temporanei. 2.3.1.2. Lo snapshot LVM Nei sistemi che utilizzano LVM il backup completo può essere ottenuto mediante un suo snapshot. LVM è un software per la gestione dei volumi che permette l astrazione di dischi fisici in volumi logici e il loro ridimensionamento anche durante operazioni di scrittura; tramite l opzione snapshot del comando lvcreate è possibile creare un volume logico che rappresenta il sistema nell istante in cui viene eseguito. 5

Il volume creato può essere montato e utilizzato dal sistema di backup affinché possa effettuare una copia dei dati a partire da uno stato consistente del filesystem mentre lo stesso può continuare ad essere utilizzato. La durata del processo non è tuttavia predicibile e la consistenza dei dati è minacciata, soprattutto se il volume è utilizzato da un DBMS; inoltre se un applicazione utilizza volumi diversi contemporaneamente non è garantita la consistenza tra la realizzazione di uno snapshot e l altro. Queste caratteristiche limitano la generalità dell impiego di questa soluzione che rimane però la scelta più affidabile in tutti quei contesti per i quali i requisiti sono soddisfatti. 2.3.2. Il backup dei dati delle applicazioni Al software di Backup si indicano esplicitamente i percorsi delle directory e dei file da archiviare. Di interesse sono i dati su cui operano le applicazioni, i contenuti dei database, le directory degli utenti e i file di configurazione dei servizi. 2.3.3. I livelli di backup Non è sempre necessario effettuare una copia integrale dei dati di interesse; a seconda dell affidabilità richiesta si può effettuare un backup completo o un backup incrementale. I tipi di backup, secondo una terminologia consolidata, sono classificati in: Livello 0: tutti i file di interesse; Livello 1: differenze rispetto all ultimo backup di livello 0; 6

Livelli da 2 a 9: differenze rispetto al livello precedente; Incrementale: tutto i cambiamenti rispetto all ultimo backup di qualsiasi tipo. 2.3.4. La periodicità dei backup Come linea guida il backup è un processo da eseguire quotidianamente quando l attività sui server e il traffico sul network sono minimi, ad a esempio di notte. Figura 2 Grafico prodotto da MRTG del traffico settimanale sugli Switch dei servizi fornitii da Uniba (Verde traffico in ingresso, Blu traffico in uscita) Una pratica consolidata è effettuare un backup di Livelloo 0 ogni settimana, e un backup di livello 1 ogni giorno. Ill compromesso come sempre è tra affidabilità richiesta e ottimizzazione delle risorse in quanto ogni backup completo (livello 0) impiega più spazio su disco e più traffico sul network ma è una risorsa indipendente, i backup incrementali li dipendonoo invece dall integrità dei backup di livello inferiore a cui si riferiscono. r 7

3. Il software di Backup Per il Network Backup dei servizi del CSI CAMPUS non era indispensabile un software multipiattaforma in quanto i server attivi hanno sistemi operativi omogenei. Non ci si è però voluta precludere la possibilità di future integrazioni e quindi un requisito preso in considerazione è stato che la componente client, quella da installare su ogni sistema di cui si vuole effettuare il backup, lo fosse stata. Nella scelta del software hanno influito da un lato il budget limitato che ha costituito un forte incentivo all adozione di soluzioni gratuite, dall altro la compatibilità con l hardware di cui l Università ha pensato di dotarsi, la Tape Library Fujitsu ETERNUS LT 40, discusso in Appendice. I principali sistemi che soddisfano i questi requisiti sono risultati essere Amanda, Bacula e Arkeia Network Backup. 3.1. Software a Confronto Arkeia è dei tre l'unico prodotto non Open Source, supporta i backup di molti servizi senza interromperli, ma è distribuito con una licenza commerciale a pagamento. Amanda e Bacula hanno il vantaggio di essere gratuiti, nonché OpenSource. Questo si traduce in un investimento iniziale nullo a fronte di una richiesta di maggiori competenze, di cui però l'università dispone. Tra i tre software la scelta che meglio soddisfa le esigenze del centro è risultato essere Bacula. 8

3.1.1. Perché Bacula Bacula oltre ad essere gratuito a differenza di Arkeia offre inoltre alcuni vantaggi rispetto ad Amanda. Il primo è la GUI: per Bacula ne esistono diverse tra le quali q una molto completa chiamata BAT (Bacula Administration Tool), liberamente e gratuitamente disponibile mentre. Per Amanda è invece disponibile unn tool di configurazione basato su Web solo nella sua versione commerciale a pagamento chiamata Zamanda. Figura 3 Navigazione tramite BAT attraverso le versioni dei file tra i quali scegliere per il recupero [2] 9

Figura 4 Zamanda [3]] La differenza più importante di archiviazione dei dati. Amanda rispetto a Bacula B è laa modalità di Amanda utilizza gli strumenti standard messi a disposizione dal sistema operativo (tar, gzip, dump etc.), Bacula ha un suo personale formato d'archiviazione. Il formato di archiviazione di Amanda dipende invece dallaa particolare implementazione dei tool che utilizza, implementazione che potrebbe variare tra diverse versioni del sistema operativo; tra diverse versioni potrebbero cambiare le opzioni disponibili o i limiti alla profondità dell'albero delle directoryy che possono gestire. I dati archiviati da Bacula sono in un nuovo formato, aperto, ma coerente tra i vari sistemi. 10

3.2. Bacula Bacula è un insieme di programmi per la gestione del Backup, recupero e verifica dei dati di sistemi in un network eterogeno. Il software è Open Source ed è progettato per scalare dall impiego su una singola macchina a quello distribuito in un network grazie alla sua architettura client/server. Gestisce in maniera trasparente l archiviazione su diversi tipi di supporti, anche in combinazione, come dischi rigidi, dispositivi a nastro e media ottici quali CD e DVD. 3.2.1. Stato dello sviluppo Il progetto Bacula, nato nel 2002 e giunto alla sua quinta versione, è distribuito con licenza Open Source Affero General Public License (AGPL), un estensione della licenza GNU GPL 2. 3.2.2. La licenza La GNU General Public prescrive che opere derivate da codice distribuito con licenza GPL siano a loro volte distribuite sotto tale licenza. La AGPL estende quest obbligo alle opere derivate che, anche se non materialmente distribuite, vengono rese accessibili in rete come servizi riconoscendo il diritto agli utenti di tali servizi di aver accesso al codice sorgente. 3.2.3. Le statistiche di Ohloh.net Oholoh.net è una piattaforma che monitora lo sviluppo di più di 500.000 software Open Source fondata nel 2004 da due ex-manager Microsoft. Stando alle statistiche offerte dal portale, Bacula ha goduto di un repentino sviluppo dalla sua 11

creazione nel 2002 fino a metà 2008 godendo adesso dii una codebase matura e ben consolidata. [4] Figura 5 Crescita delle righe di codice nel tempoo [5] Figura 6 Crescita degli update al codice nel tempo [5] 12

3.2.4. L architettura Bacula è strutturato in componenti cooperanti che comunicanoc o tra di loro utilizzando il protocolloo TCP/IP, il l che permette di distribuire il carico di ognuna su un hardware indipendente e specializzato. Il trasporto dei dati via TCP può essere a sua volta incapsulato in TLS (Transport Layer Security) S che ne consente la protezionee della trasmissione tramite la cifratura. 3.2.5. Le componenti Figura 7 - Schema dell interazione tra le applicazioni di Bacula [6] Ogni componente è implementataa come applicazione indipendente all interno dell ambientee Bacula. 13

3.2.5.1. Bacula Director È l applicazione centrale di tutta l architettura Bacula: accentra pressoché tutte le configurazioni e le politiche del sistema specificando la definizione dei pool dei media di archiviazione, la schedulazione dei Job, il controllo degli accessi e la reportistica. 3.2.5.2. DBMS Bacula mantiene un indice di tutti i file archiviati all interno di un database relazionale esterno. Allo stato attuale dello sviluppo sono disponibili driver che permettono l utilizzo trasparente di SQLite, MySql e PostgreSQL. 3.2.5.3. Bacula Storage E il demone che gestisce l interazione con i supporti di backup (nastri, dischi rigidi, supporti ottici) e l unico ad interagirvi direttamente, fornendo alle altre componenti un interfaccia astratta. Il demone di storage gestisce il mountunmount dei volumi, l etichettatura dei nastri e la gestione di Tape Library automatizzate. 3.2.5.4. Console di amministrazione È una console che permette all amministratore di interagire con il sistema per l esecuzione di nuovi Job, il recovery dei file, la consultazione dei log e dello schedulatore. È disponibile sia nella versione a riga di comando, che implementa tutte le funzioni disponibili in Bacula, sia tramite GUI. 14

3. 2.5.5. Bacula File È il demone che va installato sui client dei quali si vuole effettuare un backup con Bacula. Comunica con il i Director e quest ultimo determina quali dati e metadati devono essergli trasmessi. 3.2.6. L interazione Il Director comunica all File Deamon con quale Storagee Deamon interagire per effettuare i backup, escludendosi quindi dal traffico intenso del trasferimento dei dati. Il Director ha un proprio schedulatore che organizza i Job e si occupa del recapito dei log via maill agli amministratori. Figura 8 - Diagramma a blocchi che mostra l interazione tipica tra i servizi di Bacula per realizzaree un Backup. Ogni blocco b rappresenta in generale un processo, normalmente un demone. Inn generalee il Director monitora il flusso di informazione ed è anche responsabile del mantenimento del Catalogo. [7]] 15

3.2.7. Il protocollo Quello di comunicazione tra le componenti di Bacula è un protocollo a pacchetti realizzato sulla base degli stream standard TCP/IP. Al livello più basso i trasferimenti sono implementati tramite richieste di read() e write() alle socket di sistema. I trasferimenti dei file avvengono invece tramite le routine bnet_open, bnet_write, bnet_recv e bnet_close che garantiscono che tutti i byte inviati tramite la socket siano ricevuti come un singolo pacchetto, indipendentemente dal numero delle chiamate alle socket di sistema read() e write() necessari. 3.2.8. L autenticazione Ogni servizio è caratterizzato da un nome e da una password, salvata in chiaro nel suo file di configurazione e in quello del Director. Le password sono utilizzate per l autenticazione ma non vengono trasmesse direttamente in chiaro sul network ma vengono utilizzate per generare l hash dell acknowledge tra i servizi. 3.2.9. La configurazione Fatta eccezione del DBMS, che è indipendente, ogni servizio ha un suo file di configurazione che definisce gli oggetti su cui Bacula opera e come devono essere amministrati. 3.2.10. Funzioni 3.2.10.1. Catalogo SQL Memorizza la lista dei file che sono stati archiviati, gli attributi di ognuno, il checksum, il nome del client dal quale sono stati estratti e la posizione logica nella quale adesso sono archiviati. 16

3.2.10.2. Backup Multivolume Una delle caratteristiche più evolute di Bacula è il supporto ai backup multivolume. Quando configurato con una Tape Library è in grado di gestire i nastri senza l intervento umano e gestirne l etichettatura. Qualora fosse necessario l intervento umano Bacula comunica con l amministratore tramite messaggi via console o email. 3.2.10.3. Livelli di Backup in Bacula Bacula permette diversi livelli di backup: Completo: tutti i file Differenziale: backup di tutti i file cambiati rispetto all ultimo backup completo Incrementale: backup di tutti i dati modificati rispetto all ultimo backup di qualsiasi tipo 3.2.10.4. Formato di archiviazione I dati salvati vengono conservati nei volumi. Un volume è un semplice un archivio per i dati di backup. Bacula implementa questo unico formato anziché ricorrere a strumenti standard come tar o dump per garantire la consistenza tra diversi sistemi operativi e le implementazioni degli stessi tool, che possono variare da un sistema all altro. Il recupero dei dati dai volumi deve quindi avvenire tramite la console di Bacula o una delle tante interfacce grafiche liberamente disponibili o ancora utilizzando due applicazioni stand-alone che vengono messe a disposizione: bls e bextract. 17

4. Analisi dei Requisiti Il Centro Servizi Informatici dell Ateneo si occupa dello sviluppo, acquisizione e gestione di servizi telematici e di supporto al sistema informativo dell Università di Bari. Al Centro sono affidati: i servizi informatici, telematici e di comunicazione di utilità generale per l'università; il servizio di archivazione ed elaborazione dati dell'università; l'organizzazione di corsi d'addestramento sull'uso dei servizi di rete e di software applicativi; il coordinamento dell'accesso alle banche dati esterne; la gestione dei protocolli e livelli di sicurezza del sistema informativo. [9] Il Centro è organizzato in due sedi: CSI ATENEO e CSI CAMPUS, il primo ubicato presso Palazzo Ateneo e CSI CAMPUS presso il Dipartimento di Fisica. 4.1. I servizi attivi al CSI CAMPUS Web Hosting: Apache HTTP Server DBMS: MySQL Posta elettronica: Dovecot Autenticazione utenti: OpenLDAP DNS: BIND Log di sistema: Syslogd 18

Backup: Bacula Tutti i servizi al momento operativi di cui eseguire i backup, tra i quali lo stesso server di backup, sono in esecuzione su macchine con sistema operativo GNU/Linux, quasi tutte con distribuzione CentOS. Tutti i server comunicano tra loro tramite interfacce Gigabit Ethernet, in rete locale. L ampiezza di banda di 1000Mbit/s e il non dover concorrere per questa con gli utenti permette di trascurare, in questa sede, l impatto del traffico di rete generato dal backup sulla disponibilità al pubblico dei servizi. 4.1.1. Apache HTTP Server I dati su cui opera il server web sono un insieme relativamente statico di file. I file di configurazione di Apache indicano quali sono le directory servite e il backup si esaurisce specificando nel file di configurazione di Bacula Director quali siano queste directory. 4.1.2. MySQL MySQL non si appoggia direttamente al filesystem per l archiviazione permanente dei suoi dati ma implementa un ulteriore astrazione, invisibile all utente. Per archiviare su file il contenuto del database si utilizza il tool mysqldump. L output è un un file con estensione.sql che contiene tutte le istruzioni per creare lo schema dei database, delle tabelle e dei dati che lo popolano. Effettuare il backup di un database MySQL equivale quindi ad esportare una copia del dump. 19

Al fine di garantire la consistenza dei dati durante l esportazione delle tabelle mysqldump sospende le operazioni di scrittura sul database, e tale interruzione è direttamente proporzionale alla quantità di dati gestita dal DBMS. Dovendo garantire la continuità del servizio si utilizza quindi una tecnica chiamata Mirroring Slave-Master. 4.1.2.1. Il Mirroring Slave-Master Consiste nell avere un altro server MySQL (Slave), che non si interfaccia con l esterno, contenente una copia esatta del server operativo (Master). Lo Slave viene caricato con una copia iniziale dei dati del Master (un esecuzione di mysqldump e conseguente sospensione del servizio è comunque necessaria) e ne segue ogni aggiornamento mantenendosi sincronizzato. Il backup avviene quindi tramite il dump delle tabelle dello Slave la cui sincronizzazione riprende dopo il temporaneo lock della scrittura. 4.1.3. Dovecot La posta elettronica è affidata al servizio Dovecot che utilizza lo standard Maildir per l archiviazione. Lo standard prevede che ogni messaggio di posta sia mantenuto in un file separato dotato di un nome univoco e che ogni casella di posta sia una directory. La gestione del lock dei file, la scrittura lo spostamento e la cancellazione sono a carico del filesystem; non ponendosi problemi di consistenza dei dati il backup è molto semplice e consiste nell indicare al software la directory radice per tutte le caselle di posta. 20

4.1.4. OpenLDAP È un protocollo standard per l interrogazione e la modifica dei servizi di directory che utilizza la struttura ad per codificare i dati. Per esportare una copia dei dati si utilizza il comando slapcat; questo genera un file nel formato standard LDIF. Per garantire la consistenza dei dati questa è un operazione che va eseguita a servizio sospeso. Per il backup bisogna indicare al software la posizione del file LDIF così generato. Per garantire la continuità del servizio agli utenti e la consistenza dei dati di backup, come specificato nel caso del DBMS MySQL, è implementabile un servizio parallelo funzionale all estrazione di dati e metadati, dopo un breve stop di quest ultimo. 4.1.5. BIND Il server DNS utilizza file di configurazione, tutti statici, che è sufficiente indicare al software di Backup. 4.1.6. Syslogd Syslogd è un servizio che gestisce in maniera centralizzate i log di sistema di diverse macchine. Non sussistendo problematiche legate alla consistenza dei dati è sufficiente indicare al software di Backup la directory a partire dalla quale vengono salvati tali file. 4.1.7. Bacula Bacula è il servizio che si occupa del backup e come tale necessita anch esso di una copia di sicurezza dei dati sui quali opera, quindi del catalogo e dei file di configurazione. 21

I file di configurazione sono statici e basta indicarne la posizione in cui si trovano nel sistema all interno degli stessi. Il catalogo è gestito da un DBMS, nel nostro caso MySQL e va quindi effettuato un dump su file dei dati in esso contenuti e poi creare di questi ultimi una copia di sicurezza da esportare tramite Bacula. 4.2. Linux CentOS Il sistema operativo di riferimento utilizzato al CSI CAMPUS e sul quale sarà in esecuzione il software di backup è la distribuzione GNU/Linux CentOS. CentOS è una distribuzione GNU/Linux derivata dalla più nota distribuzione commerciale Red Hat Enterprise Linux (RHEL). RHEL è utilizzata in ambiti altamente professionali ed è caratterizzata da grande affidabilità e rapidità nel rilascio degli aggiornamenti. Red Hat vanta importanti clienti proprio per la sua affidabilità, uno dei più prestigiosi dei quali è il New York Stock Exchange che si affida a sistemi dotati di RHEL per gestire le sue transazioni finanziarie. [10] Sebbene commerciale RHEL fa uso di software Open Source ed è quindi tenuta a distribuire, secondo la licenza GPL del codice che implementa, il codice sorgente degli aggiornamenti che rilascia sotto la stessa licenza. La community che rilascia CentOS ricompila e ridistribuisce gli aggiornamenti di Red Hat, con l'unico accorgimento di eliminarne i marchi - quelli sì - protetti dal diritto d'autore, fornendo gratuitamente una versione compatibile al 100% con RHEL, dalla quale si differenzia solamente per l'assenza di un supporto tecnico. 22

5. L Installazione L installazione dei software avviene tramite il gestore dei pacchetti disponibile in CentOS, chiamato yum, che ne gestisce dipendenze e aggiornamenti. Bacula non è presente nei repository di default di e vanno per questo integrati con quelli di EPEL (Extra Packages for Enterprise Linux), gestiti dalla community di Fedora, il progetto Open Source di Red Hat. Sulla macchina che ospiterà il server bacula sono installati anche i server MySQL, OpenLDAP dedicati alle operazioni di Mirroring dei rispettivi servizi al pubblico, ed il primo anche alla gestione del catalogo di Bacula. 23

6. La configurazione Su ogni macchina del CSI CAMPUS girano servizi dedicati e collaudati tramite l uso nel tempo. L approccio scelto è quello di stabilire a priori quali saranno i dati di cui effettuare il backup in modo da economizzare l impiego di tutte le risorse. Tutti i servizi forniti dal centro devono garantire continuità, sono di pubblico accesso e vengono offerti globalmente. Ciò significa che non esiste un momento di completa inattività e vanno quindi esclusi tutti gli approcci che prevedono una interruzione dei demoni. Le operazioni di backup vengono comunque eseguite quando è notte in Italia e quindi il carico sui i server e sul network è al minimo. Nelle notti tra sabato e domenica si effettua un backup di Livello 0, punto di riferimento per i backup di Livello 1 dei giorni a seguire. Nel file di configurazione di bacula-director si indicano i percorsi dei dati di lavoro dei diversi servizi. Per ogni sistema si salva inoltre il contenuto della directory /etc all interno della quale, nei sistemi GNU/Linux CentOS di cui ci occupiamo, sono presenti tutti i file di configurazione del sistema. 24

Figura 10 Server operativi nel CSI CAMPUS 6.1. Automatizzazione dei task da eseguire prima e dopo il backup Alcuni servizi operanoo su file statici e non è necessaria alcuna operazione preliminare affinché Bacula possa effettuare il backup. In altri casi invece i dati su cui operano le applicazioni sono archiviati in formati proprietari o non si trovano in uno stato consistente se s il servizio non viene preventivamente arrestato; questo accade ad esempio con i DBMS. 25