Project

General

Profile

Actions

BaculaBackup » History » Revision 10

« Previous | Revision 10/35 (diff) | Next »
Amministratore Truelite, 03/17/2006 07:10 PM


TracNav(TOC) = Backup con Bacula =

[http://www.bacula.org/ Bacula] è un potente sistema che consente la centralizzazione dei backup di varie macchine all'interno di una rete, e la gestione automatica degli stessi.

L'architettura di bacula è composta da tre componenti principali:

  • il ''File Daemon'', che va installato sulle macchine di cui si vuole effettuare il backup ed ha il compito di gestire i file di cui deve essere eseguito il backup.
  • lo ''Storage Daemon'' che va installato sulla macchina su cui è presente il dispositivo di registrazione dei dati (nastro, disco o quant'altro)
  • il ''Director'' che va installato su una macchina qualsiasi (ma in genere si usa quella dove sta il dispositivo di backup) e che è il servizio che controlla tutti gli altri e gestiste i backup.

Ciascuno di questi tre servizi ha un suo scrip tdi avvio ed un suo file di configurazione, come illustrato nella seguente tabella:

Servizio File di configurazione Script di avvio
File Daemon {{{bacula-fd.conf}}} bacula-fd
Storage Daemon {{{bacula-sd.conf}}} bacula-sd
Director {{{bacula-dir.conf}}} bacula-director
Come gestire manualmente i nastri

Per la rimozione dei dati presenti sui nastri si devono seguire i seguenti passi:

  • rimuovere i dati dal catalogo con purge
  • usare label per modificarne l'etichetta
  • piallare tutto a mano con btape test o scrivendoci direttamente

Se invece si è configurato correttamente il periodo di ritenzione dei dati, sarà ''Bacula'' che provvederà a cercare il primo nastro libero, posto che il periodo non sia eccessivo e lo spazio disponibile esaurito,

Nel qual caso si potrà ridurre il periodo di ritenzione con il comando: {{{
update volume=VolumeXXX VolRetention=ddd
}}}
si tenga presente che cambiare il perido di ritenzione direttamente dentro {{{bacula-dir.conf}}} non è sufficiente in quanto questi dati sono registrati all'interno del singolo volume e non cambiano fintanto che non se ne aggiorna il valore.

Uso dell'autochanger

Si deve anzitutto definire il dispositivo come autochanger nella apposita sezione Device del file bacula-sd.conf:

{{{
Device {
Name = DDS-4 #
Media Type = DDS-4
Archive Device = /dev/nst0
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
Changer Command = "/etc/bacula/scripts/mtx-changer %c %o %S %a %d"
Changer Device = /dev/sg1
AutoChanger = yes
Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
}
}}}
inoltre deve essere reso noto al Director che lo storage supporta l'autochanger; questo li si fa con una analoga riga {{{AutoChanger = yes}}} nella sua configurazione, cioè si dovrà avere dentro {{{bacula-dir.conf}}} qualcosa del tipo: {{{
Storage {
Name = File
Address = bacula.truelite.it # N.B. Use a fully qualified name here
SDPort = 9103
Password = "xxxxxxx"
Device = DDS-4
Media Type = DDS-4
Autochanger = yes
}
}}}

Fatto questo diventa possibile usare l'attributo slot nel comando {{{label}}} da console. Con questo diventa possibile etichettare i vari nastri dell'autochanger con una serie di comandi del tipo: {{{
*label slot=5
Using default Catalog name=MyCatalog DB=bacula
Automatically selected Storage: File
Enter new Volume name: Volume005
Automatically selected Pool: Default
Connecting to Storage daemon File at bacula.truelite.it:9103 ...
Sending label command for Volume "Volume005" Slot 5 ...
3301 Issuing autochanger "loaded drive 0" command.
3302 Autochanger "loaded drive 0", result is Slot 4.
3303 Issuing autochanger "unload slot 4, drive 0" command.
3304 Issuing autochanger "load slot 5, drive 0" command.
3305 Autochanger "load slot 5, drive 0", status is OK.
block.c:264 Volume data error at 0:0! Wanted ID: "BB02", got "". Buffer discarded.
3000 OK label. Volume=Volume005 Device=/dev/nst0
Catalog record for Volume "Volume005", Slot 5 successfully created.
Requesting to mount DDS-4 ...
3001 Device /dev/nst0 is mounted with Volume "Volume005"
}}}
da ripetere per tutti i nastri disponibili.

Una volta inizializzati i vari nastri si può rendere noto al ''Director'' la presenza dei vari nastri con il comando: {{{
update slots scan
}}}

Updated by Amministratore Truelite over 18 years ago · 10 revisions