bacula.html 22.6 KB
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head xmlns="http://www.w3.org/1999/xhtml">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title xmlns="">Bacula</title>
    <link rel="stylesheet" href="../../libs/ubuntu-book.css" type="text/css" />
    <link rel="home" href="index.html" title="Guida a Ubuntu Server" />
    <link rel="up" href="backups.html" title="Capitolo 18. Backup" />
    <link rel="prev" href="backups-shellscripts-rotation.html" title="Rotazione degli archivi" />
    <link rel="next" href="virtualization.html" title="Capitolo 19. Virtualizzazione" />
    <link rel="copyright" href="legal.html" title="Riconoscimenti e licenza" />
  </head>
  <link href="http://help.ubuntu-it.org/favicon.ico" rel="shortcut icon" />
  <body>
    <div id="page-border-left-repeat">
      <div id="page-border-right-repeat">
        <script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
        <script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-8147493-2");
pageTracker._trackPageview();
} catch(err) {}</script>
        <div id="page-border-top-repeat">
          <div id="header">
            <div id="header-navigation">
              <ul>
                <li>
                  <a href="http://www.ubuntu-it.org">Web</a>
                </li>
                <li>
                  <a href="http://wiki.ubuntu-it.org">Documentazione</a>
                </li>
                <li>
                  <a href="http://forum.ubuntu-it.org">Forum</a>
                </li>
                <li>
                  <a href="http://planet.ubuntu-it.org">Planet</a>
                </li>
              </ul>
            </div>
            <form action="http://help.ubuntu-it.org/11.04/ubuntu/search.php" id="cse-search-box">
              <div>
                <input type="text" name="s" size="28" title="search" />
                <input type="submit" value="Cerca" title="search" />
              </div>
            </form>
          </div>
        </div>
        <div>
          <div id="bodyarea">
            <div class="pagelocation"><a href="http://help.ubuntu-it.org/">Documentazione di Ubuntu</a> &gt; <a href="http://help.ubuntu-it.org/11.04/ubuntu/index.html">Ubuntu 11.04</a> &gt; <span class="breadcrumb-link"><a href="index.html">Guida a Ubuntu Server</a></span> &gt; <span class="breadcrumb-link"><a href="backups.html">Backup</a></span> &gt; <span class="breadcrumb-node">Bacula</span></div>
            <div xmlns="http://www.w3.org/1999/xhtml" class="sect1" title="Bacula">
              <div class="titlepage">
                <div>
                  <div>
                    <h2 class="title" style="clear: both"><a id="bacula"></a>Bacula</h2>
                  </div>
                </div>
              </div>
              <p><span class="application"><strong>Bacula</strong></span> è un programma per eseguire backup, ripristinare e verificare i dati attraverso la rete. Esistono client Bacula per Linux, Windows, e Mac OS X rendendolo una soluzione multi-piattaforma.</p>
              <div class="sect2" title="Panoramica">
                <div class="titlepage">
                  <div>
                    <div>
                      <h3 class="title"><a id="bacula-overview"></a>Panoramica</h3>
                    </div>
                  </div>
                </div>
                <p><span class="application"><strong>Bacula</strong></span> è composto da diversi componenti e servizi usati per la gestione dei file di cui eseguire il backup e dove eseguirlo:</p>
                <div class="itemizedlist">
                  <ul class="itemizedlist" type="disc">
                    <li class="listitem">
                      <p><span class="application"><strong>Bacula Director</strong></span>: un servizio che controlla tutte le operazioni di backup, ripristino, verifica e di archiviazione.</p>
                    </li>
                    <li class="listitem">
                      <p><span class="application"><strong>Bacula Console</strong></span>: un'applicazione che consente di comunicare con "Director". Sono disponibili tre versioni:</p>
                      <div class="itemizedlist">
                        <ul class="itemizedlist" type="circle">
                          <li class="listitem">
                            <p>Versione testuale per la riga di comando.</p>
                          </li>
                          <li class="listitem">
                            <p>Versione grafica per GNOME basata su GTK+.</p>
                          </li>
                          <li class="listitem">
                            <p>Interfaccia wxWidgets.</p>
                          </li>
                        </ul>
                      </div>
                    </li>
                    <li class="listitem">
                      <p><span class="application"><strong>Bacula File</strong></span>: conosciuta anche come <span class="application"><strong>Bacula Client</strong></span>. Questa applicazione è installata nei computer di cui deve essere fatto il backup ed è responsabile dei dati richiesti dal Director.</p>
                    </li>
                    <li class="listitem">
                      <p><span class="application"><strong>Bacula Storage</strong></span>: il programma che esegue l'archiviazione e il ripristino sul dispositivo fisico.</p>
                    </li>
                    <li class="listitem">
                      <p><span class="application"><strong>Bacula Catalog</strong></span>: responsabile per mantenere l'indice dei file e il database di tutti i file, consentendo una facile localizzazione e ripristino. "Catalog" supporta tre diversi database: MySQL, PostgreSQL e SQLite.</p>
                    </li>
                    <li class="listitem">
                      <p><span class="application"><strong>Bacula Monitor</strong></span>: consente di monitorare i demoni "Director", "File" e "Storage". Attualmente "Monitor" è disponibile solo come applicazione GTK+.</p>
                    </li>
                  </ul>
                </div>
                <p>Questi servizi e applicazioni possono essere eseguiti su molteplici server e client oppure possono essere installati su un solo computer se deve essere eseguito il backup di un singolo disco o volume.</p>
              </div>
              <div class="sect2" title="Installazione">
                <div class="titlepage">
                  <div>
                    <div>
                      <h3 class="title"><a id="bacula-installation"></a>Installazione</h3>
                    </div>
                  </div>
                </div>
                <p>Ci sono molteplici pacchetti che contengono i diversi componenti di <span class="application"><strong>Bacula</strong></span>. Per installare Bacula, in un terminale, digitare:</p>
                <pre class="screen">
<span class="command"><strong>sudo apt-get install bacula</strong></span>
</pre>
                <p>In modo predefinito, installando il pacchetto <span class="application"><strong>bacula</strong></span> viene usato un database <span class="application"><strong>MySQL</strong></span> per "Catalog". Se si vuole usare SQLite oppure PostgreSQL, installare <span class="application"><strong>bacula-director-sqlite3</strong></span> o <span class="application"><strong>bacula-director-pgsql</strong></span> rispettivamente.</p>
                <p>Durante il processo di installazione viene chiesto di fornire delle credenziali per l'<span class="emphasis"><em>amministratore</em></span> del database e per il <span class="emphasis"><em>proprietario</em></span> del database <span class="emphasis"><em>bacula</em></span>. L'amministratore del database deve avere i diritti apporpriati per poter creare un database. Per maggiori informazioni, consultare la <a class="xref" href="mysql.html" title="MySQL">la sezione chiamata «MySQL»</a>.</p>
              </div>
              <div class="sect2" title="Configurazione">
                <div class="titlepage">
                  <div>
                    <div>
                      <h3 class="title"><a id="bacula-configuration"></a>Configurazione</h3>
                    </div>
                  </div>
                </div>
                <p>I file di configurazione di <span class="application"><strong>Bacula</strong></span> sono formattati in base alle <span class="emphasis"><em>risorse</em></span> composte da <span class="emphasis"><em>direttive</em></span> marcate da parantesi <span class="quote">«<span class="quote">{}</span>»</span>. Ogni compoenente di Bacula dispone di un file nella directory <code class="filename">/etc/bacula</code>.</p>
                <p>I diversi componenti di <span class="application"><strong>Bacula</strong></span> devono autorizzarsi tra di loro. Questo è fatto usando la direttiva <span class="emphasis"><em>password</em></span>. Per esempio, la risorsa password di <span class="emphasis"><em>Storage</em></span> nel file <code class="filename">/etc/bacula/bacula-dir.conf</code> deve corrispondere alla risorsa password di <span class="emphasis"><em>Director</em></span> nel file <code class="filename">/etc/bacula/bacula-sd.conf</code>.</p>
                <p>In modo predefinito, il lavoro di backup chiamato <span class="emphasis"><em>Client1</em></span> è confoigurato per archiviare il "Catalog" di <span class="application"><strong>Bacula</strong></span>. Se si intende usare il server per eseguire il backup di più di un client, è necessario modificare il nome del lavoro con qualche cosa di più descrittivo. Per fare questo, modificare il file <code class="filename">/etc/bacula/bacula-dir.conf</code>:</p>
                <pre class="programlisting">
#
# Define the main nightly save backup job
#   By default, this job will back up to disk in 
Job {
  Name = "BackupServer"
  JobDefs = "DefaultJob"
  Write Bootstrap = "/var/lib/bacula/Client1.bsr"
}
</pre>
                <div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;">
                  <table border="0" summary="Note">
                    <tr>
                      <td rowspan="2" align="center" valign="top" width="25">
                        <img alt="[Nota]" src="../../libs/admon/note.png" />
                      </td>
                      <th align="left"></th>
                    </tr>
                    <tr>
                      <td align="left" valign="top">
                        <p>L'esempio precedente modifica il nome del lavoro in <span class="emphasis"><em>BackupServer</em></span>, in corrispondenza del nome host del computer. Sostituire <span class="quote">«<span class="quote">BackupServer</span>»</span> con il nome host appropriato o un altro nome descrittivo.</p>
                      </td>
                    </tr>
                  </table>
                </div>
                <p><span class="emphasis"><em>Console</em></span> può essere usato per interrogare <span class="emphasis"><em>Director</em></span> riguardo i lavori, ma per poter usare "Console" con un utente <span class="emphasis"><em>non-root</em></span>, l'utente deve essere nel gruppo <span class="emphasis"><em>bacula</em></span>. Per aggiungere un utente al gruppo "bacula", in un terminale, digitare:</p>
                <pre class="screen">
<span class="command"><strong>sudo adduser NOME_UTENTE bacula</strong></span>
</pre>
                <div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;">
                  <table border="0" summary="Note">
                    <tr>
                      <td rowspan="2" align="center" valign="top" width="25">
                        <img alt="[Nota]" src="../../libs/admon/note.png" />
                      </td>
                      <th align="left"></th>
                    </tr>
                    <tr>
                      <td align="left" valign="top">
                        <p>Sostituire <span class="emphasis"><em>NOME_UTENTE</em></span> con il vero nome utente. Inoltre, se si sta aggiungendo l'utente corrente al gruppo, è necessario terminare la sessione e rientrarvi affinché le modifiche abbiano effetto.</p>
                      </td>
                    </tr>
                  </table>
                </div>
              </div>
              <div class="sect2" title="Backup locale">
                <div class="titlepage">
                  <div>
                    <div>
                      <h3 class="title"><a id="bacula-localhost-backup"></a>Backup locale</h3>
                    </div>
                  </div>
                </div>
                <p>Questa sezione descrive come eseguire un backup di specifiche directory di un singolo host in un dispositivo a nastro locale.</p>
                <div class="itemizedlist">
                  <ul class="itemizedlist" type="disc">
                    <li class="listitem">
                      <p>Per prima cosa, <span class="emphasis"><em>Storage</em></span> deve essere configurato. Modificare <code class="filename">/etc/bacula/bacula-sd.conf</code>:</p>
                      <pre class="programlisting">
Device {
  Name = "Tape Drive"
  Device Type = tape
  Media Type = DDS-4
  Archive Device = /dev/st0
  Hardware end of medium = No;
  AutomaticMount = yes;               # when device opened, read it
  AlwaysOpen = Yes;
  RemovableMedia = yes;
  RandomAccess = no;
  Alert Command = "sh -c 'tapeinfo -f %c | grep TapeAlert'"
}
</pre>
                      <p>L'esempio è per un dispositivo a nastro <span class="emphasis"><em>DDS-4</em></span>. Modificare "Media Type" e "Archive Device" affinché corrispondano al proprio hardware.</p>
                      <p>È possibile anche de-commentare uno degli altri file di esempio.</p>
                    </li>
                    <li class="listitem">
                      <p>Una volta modificato il file <code class="filename">/etc/bacula/bacula-sd.conf</code>, il demone <span class="application"><strong>Storage</strong></span> deve essere riavviato:</p>
                      <pre class="screen">
<span class="command"><strong>sudo /etc/init.d/bacula-sd restart</strong></span>
</pre>
                    </li>
                    <li class="listitem">
                      <p>Ora aggiungere una risorsa <span class="emphasis"><em>Storage</em></span> in <code class="filename">/etc/bacula/bacula-dir.conf</code> per usare il nuovo "Device":</p>
                      <pre class="programlisting">
# Definition of "Tape Drive" storage device
Storage {
  Name = TapeDrive
  # Do not use "localhost" here    
  Address = backupserver               # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cgkiyj"
  Device = "Tape Drive"
  Media Type = tape
}
</pre>
                      <p>La direttiva <span class="emphasis"><em>Address</em></span> deve essere il "Fully Qualified Domain Name" (FQDN) del server. Modificare quindi <span class="emphasis"><em>backupserver</em></span> col nome host attuale.</p>
                      <p>Inoltre, assicurarsi che la direttiva <span class="emphasis"><em>Password</em></span> corrisponda alla stringa in <code class="filename">/etc/bacula/bacula-sd.conf</code>.</p>
                    </li>
                    <li class="listitem">
                      <p>Creare un nuovo <span class="emphasis"><em>FileSet</em></span>, per determinare di quali directory eseguire il backup:</p>
                      <pre class="programlisting">
# LocalhostBacup FileSet.
FileSet {
  Name = "LocalhostFiles"
  Include {
    Options {
      signature = MD5
      compression=GZIP
    }
    File = /etc
    File = /home
  }
}
</pre>
                      <p>Questa sezione <span class="emphasis"><em>FileSet</em></span> farà in modo di eseguire il backup della directory <code class="filename">/etc</code> e <code class="filename">/home</code>. La direttiva <span class="emphasis"><em>Options</em></span> configura "FileSet" per creare una somma MD5 per ogni file di cui è fatto il backup e per comprimere tali file con GZIP.</p>
                    </li>
                    <li class="listitem">
                      <p>Creare una nuova sezione <span class="emphasis"><em>Schedule</em></span> per il lavoro di backup:</p>
                      <pre class="programlisting">
# LocalhostBackup Schedule -- Daily.
Schedule {
  Name = "LocalhostDaily"
  Run = Full daily at 00:01
}
</pre>
                      <p>Il lavoro verrà eseguito ogni giorno alle 00.01. Sono comunque disponibili molte altre opzioni di schedulatura.</p>
                    </li>
                    <li class="listitem">
                      <p>Infine creare il <span class="emphasis"><em>Job</em></span>:</p>
                      <pre class="programlisting">
# Localhost backup.
Job {
  Name = "LocalhostBackup"
  JobDefs = "DefaultJob"
  Enabled = yes
  Level = Full
  FileSet = "LocalhostFiles"
  Schedule = "LocalhostDaily"
  Storage = TapeDrive
  Write Bootstrap = "/var/lib/bacula/LocalhostBackup.bsr"
}  
</pre>
                      <p>Questo lavoro crearà un backup <span class="emphasis"><em>Full</em></span> (completo) ogni giorni sul dispositivo a nastro.</p>
                    </li>
                    <li class="listitem">
                      <p>Ogni nastro usato deve avere una <span class="emphasis"><em>Label</em></span>. Se il nastro corrente ne è sprovvisto, <span class="application"><strong>Bacula</strong></span> invierà un'email. Per aggiungere un'etichetta a un nastro usando <span class="application"><strong>Console</strong></span>, in un terminale, digitare:</p>
                      <pre class="screen">
<span class="command"><strong>bconsole</strong></span>
</pre>
                    </li>
                    <li class="listitem">
                      <p>Al prompt di "Console" digitare:</p>
                      <pre class="screen">
<span class="command"><strong>label</strong></span>
</pre>
                    </li>
                    <li class="listitem">
                      <p>Viene quindi chiesta la risorsa <span class="emphasis"><em>Storage</em></span>:</p>
                      <pre class="screen">
<code class="computeroutput">
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
The defined Storage resources are:
     1: File
     2: TapeDrive
Select Storage resource (1-2):<strong class="userinput"><code>2</code></strong>
</code>
</pre>
                    </li>
                    <li class="listitem">
                      <p>Inserire il nome del nuovo <span class="emphasis"><em>Volume</em></span> (volume):</p>
                      <pre class="screen">
<code class="computeroutput">
Enter new Volume name: <strong class="userinput"><code>Sunday</code></strong>
Defined Pools:
     1: Default
     2: Scratch</code>
</pre>
                      <p>Sostituire <span class="emphasis"><em>Sunday</em></span> con l'etichetta desiderata.</p>
                    </li>
                    <li class="listitem">
                      <p>Ora selezionare <span class="emphasis"><em>Pool</em></span>:</p>
                      <pre class="screen">
<code class="computeroutput">
Select the Pool (1-2): <strong class="userinput"><code>1</code></strong>
Connecting to Storage daemon TapeDrive at backupserver:9103 ...
Sending label command for Volume "Sunday" Slot 0 ...
</code>
</pre>
                    </li>
                  </ul>
                </div>
                <p><span class="emphasis"><em>Bacula</em></span> è ora configurato per eseguire backup del host locale su un dispositivo a nastro.</p>
              </div>
              <div class="sect2" title="Risorse">
                <div class="titlepage">
                  <div>
                    <div>
                      <h3 class="title"><a id="bacula-resources"></a>Risorse</h3>
                    </div>
                  </div>
                </div>
                <div class="itemizedlist">
                  <ul class="itemizedlist" type="disc">
                    <li class="listitem">
                      <p>Per maggiori informazioni sulle opzioni di configurazione di <span class="emphasis"><em>Bacula</em></span>, consultare il <a class="ulink" href="http://www.bacula.org/en/rel-manual/index.html" target="_top">manuale di Bacula</a></p>
                    </li>
                    <li class="listitem">
                      <p>Il sito <a class="ulink" href="http://www.bacula.org/" target="_top">di Bacula</a> contiene le ultime notizie dello sviluppo di Bacula.</p>
                    </li>
                    <li class="listitem">
                      <p>Consultare anche la <a class="ulink" href="https://help.ubuntu.com/community/Bacula" target="_top">documentazione di bacula online</a>.</p>
                    </li>
                  </ul>
                </div>
              </div>
            </div>
            <div xmlns="http://www.w3.org/1999/xhtml" class="navfooter">
              <hr />
              <table width="100%" summary="Navigation footer">
                <tr>
                  <td width="40%" align="left"><a accesskey="p" href="backups-shellscripts-rotation.html"><img src="../../libs/navig/prev.png" alt="Indietro" /></a> </td>
                  <td width="20%" align="center">
                    <a accesskey="u" href="backups.html">
                      <img src="../../libs/navig/up.png" alt="Risali" />
                    </a>
                  </td>
                  <td width="40%" align="right"> <a accesskey="n" href="virtualization.html"><img src="../../libs/navig/next.png" alt="Avanti" /></a></td>
                </tr>
                <tr>
                  <td width="40%" align="left" valign="top">Rotazione degli archivi </td>
                  <td width="20%" align="center">
                    <a accesskey="h" href="index.html">
                      <img src="../../libs/navig/home.png" alt="Partenza" />
                    </a>
                  </td>
                  <td width="40%" align="right" valign="top"> Capitolo 19. Virtualizzazione</td>
                </tr>
              </table>
            </div>
          </div>
        </div>
        <div id="page-border-bottom-repeat">
          <div id="footer">
            <div id="copyright">
						Ubuntu e Canonical sono marchi registrati da Canonical Ltd.
					</div>
          </div>
        </div>
        <div id="page-border-right-top"></div>
        <div id="page-border-right-bottom"></div>
      </div>
      <div id="page-border-left-top"></div>
      <div id="page-border-left-bottom"></div>
    </div>
    <p></p>
  </body>
</html>