Project

General

Profile

BaculaBackup » History » Version 18

Amministratore Truelite, 08/21/2006 12:42 PM

1 5 Amministratore Truelite
[[TracNav(TOC)]]
2 1 Amministratore Truelite
= Backup con Bacula =
3 1 Amministratore Truelite
4 2 Amministratore Truelite
[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.
5 1 Amministratore Truelite
6 1 Amministratore Truelite
L'architettura di bacula è composta da tre componenti principali:
7 1 Amministratore Truelite
8 2 Amministratore Truelite
 * 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.
9 14 Amministratore Truelite
 * lo ''Storage Daemon'' che va installato sulla macchina su cui è presente il dispositivo di registrazione dei dati (nastro, disco o quant'altro).
10 14 Amministratore Truelite
 * 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 gestisce i backup.
11 1 Amministratore Truelite
12 14 Amministratore Truelite
Ciascuno di questi tre servizi ha un suo script di avvio ed un suo file di configurazione, come illustrato nella seguente tabella:
13 1 Amministratore Truelite
14 1 Amministratore Truelite
||Servizio||File di configurazione||Script di avvio||
15 3 Amministratore Truelite
||File Daemon||{{{bacula-fd.conf}}}||bacula-fd||
16 3 Amministratore Truelite
||Storage Daemon||{{{bacula-sd.conf}}}||bacula-sd||
17 3 Amministratore Truelite
||Director||{{{bacula-dir.conf}}}||bacula-director||
18 1 Amministratore Truelite
19 11 Amministratore Truelite
== Uso dell'autochanger ==
20 1 Amministratore Truelite
21 11 Amministratore Truelite
Perché sia possibile utilizzare un dispositivo cambianastri (quello che in gergo viene chiamato ''Autochanger''), deve essere disponibile e funzionante lo script {{{/etc/bacula/scripts/mtx-changer}}}.
22 1 Amministratore Truelite
23 14 Amministratore Truelite
Normalmente i dispositivi cambianastri sono pilotati direttamente attraverso l'interfaccia SCSI, utilizzando il dispositivo generico (se avete solo il nastro SCSI questo sarà {{{/dev/sg0}}}, in generale va verificato). Per inviare i comandi viene usato un programma apposito, {{{mtx}}}, cui lo script installato di default si appoggia. Esistono però anche cambianastri pilotati con modalità diverse, nel qual caso occorrerà uno script dedicato, un esempio per un ''IBM Ultrium LTO 3581 L28'', che viene comandato via {{{telnet}}}, è allegato alla pagina.
24 1 Amministratore Truelite
25 11 Amministratore Truelite
Per poter utilizzare il cambianastri si deve anzitutto segnalarne la presenza nella sezione Device del file {{{bacula-sd.conf}}}, ed indicare il file di dispositivo da usare, un possibile esempio è il seguente:
26 1 Amministratore Truelite
{{{
27 1 Amministratore Truelite
Device {
28 1 Amministratore Truelite
  Name = DDS-4                        #
29 1 Amministratore Truelite
  Media Type = DDS-4
30 1 Amministratore Truelite
  Archive Device = /dev/nst0
31 1 Amministratore Truelite
  AutomaticMount = yes;               # when device opened, read it
32 1 Amministratore Truelite
  AlwaysOpen = yes;
33 1 Amministratore Truelite
  RemovableMedia = yes;
34 1 Amministratore Truelite
  RandomAccess = no;
35 1 Amministratore Truelite
  Changer Command = "/etc/bacula/scripts/mtx-changer %c %o %S %a %d"
36 1 Amministratore Truelite
  Changer Device = /dev/sg1
37 1 Amministratore Truelite
  AutoChanger = yes
38 1 Amministratore Truelite
  Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
39 1 Amministratore Truelite
}
40 1 Amministratore Truelite
}}}
41 13 Amministratore Truelite
inoltre deve essere reso noto al ''Director'' che lo storage supporta l'autochanger; questo si fa con una analoga riga {{{AutoChanger = yes}}} nella sua configurazione; cioè si dovrà avere dentro {{{bacula-dir.conf}}} qualcosa del tipo:
42 10 Amministratore Truelite
{{{
43 10 Amministratore Truelite
Storage {
44 10 Amministratore Truelite
  Name = File
45 10 Amministratore Truelite
  Address = bacula.truelite.it   # N.B. Use a fully qualified name here
46 10 Amministratore Truelite
  SDPort = 9103
47 10 Amministratore Truelite
  Password = "xxxxxxx"
48 10 Amministratore Truelite
  Device = DDS-4
49 10 Amministratore Truelite
  Media Type = DDS-4
50 10 Amministratore Truelite
  Autochanger = yes
51 10 Amministratore Truelite
}
52 10 Amministratore Truelite
}}}
53 1 Amministratore Truelite
54 14 Amministratore Truelite
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:
55 1 Amministratore Truelite
{{{
56 1 Amministratore Truelite
*label slot=5
57 1 Amministratore Truelite
Using default Catalog name=MyCatalog DB=bacula
58 1 Amministratore Truelite
Automatically selected Storage: File
59 1 Amministratore Truelite
Enter new Volume name: Volume005
60 1 Amministratore Truelite
Automatically selected Pool: Default
61 10 Amministratore Truelite
Connecting to Storage daemon File at bacula.truelite.it:9103 ...
62 1 Amministratore Truelite
Sending label command for Volume "Volume005" Slot 5 ...
63 1 Amministratore Truelite
3301 Issuing autochanger "loaded drive 0" command.
64 1 Amministratore Truelite
3302 Autochanger "loaded drive 0", result is Slot 4.
65 1 Amministratore Truelite
3303 Issuing autochanger "unload slot 4, drive 0" command.
66 1 Amministratore Truelite
3304 Issuing autochanger "load slot 5, drive 0" command.
67 1 Amministratore Truelite
3305 Autochanger "load slot 5, drive 0", status is OK.
68 1 Amministratore Truelite
block.c:264 Volume data error at 0:0! Wanted ID: "BB02", got "". Buffer discarded.
69 1 Amministratore Truelite
3000 OK label. Volume=Volume005 Device=/dev/nst0
70 1 Amministratore Truelite
Catalog record for Volume "Volume005", Slot 5  successfully created.
71 1 Amministratore Truelite
Requesting to mount DDS-4 ...
72 1 Amministratore Truelite
3001 Device /dev/nst0 is mounted with Volume "Volume005"
73 1 Amministratore Truelite
}}}
74 1 Amministratore Truelite
da ripetere per tutti i nastri disponibili. 
75 1 Amministratore Truelite
76 1 Amministratore Truelite
Una volta inizializzati i vari nastri si può rendere noto al ''Director'' la presenza dei vari nastri con il comando:
77 1 Amministratore Truelite
{{{
78 1 Amministratore Truelite
update slots scan
79 1 Amministratore Truelite
}}}
80 11 Amministratore Truelite
81 11 Amministratore Truelite
82 11 Amministratore Truelite
== Come gestire manualmente i nastri ==
83 11 Amministratore Truelite
84 11 Amministratore Truelite
Per la rimozione dei dati presenti sui nastri si devono seguire i seguenti passi:
85 11 Amministratore Truelite
86 15 Amministratore Truelite
 * rimuovere i dati dal catalogo con {{{purge}}} scegliendo il volume da cancellare.
87 15 Amministratore Truelite
 * inserire il nastro nel dispositivo, se si dispone dell'autochanger si può fare con:
88 15 Amministratore Truelite
{{{
89 15 Amministratore Truelite
/etc/bacula/scripts/mtx-changer /dev/sg1 load N
90 15 Amministratore Truelite
}}}
91 15 Amministratore Truelite
   dove N è il numero dello slot.
92 15 Amministratore Truelite
 * cancellarne il contenuto a mano con {{{btape test}}} o scrivendoci direttamente
93 13 Amministratore Truelite
 * usare {{{label}}} per modificarne l'etichetta
94 11 Amministratore Truelite
95 11 Amministratore Truelite
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, 
96 11 Amministratore Truelite
97 11 Amministratore Truelite
Nel qual caso si potrà ridurre il periodo di ritenzione con il comando:
98 11 Amministratore Truelite
{{{
99 11 Amministratore Truelite
update volume=VolumeXXX VolRetention=ddd
100 11 Amministratore Truelite
}}}
101 11 Amministratore Truelite
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.
102 16 Amministratore Truelite
103 16 Amministratore Truelite
104 16 Amministratore Truelite
== Cosa fare quando si esaurisce lo spazio disponibile ==
105 16 Amministratore Truelite
106 16 Amministratore Truelite
La maggiore forza di [http://www.bacula.org/ Bacula] è quella, una volta configurato correttamente, di essere in grado di gestire tutta la procedura di backup in maniera automatica. In genere questo funziona correttamente senza nessun intervento manuale. L'incidente più comuen che può capitare è che si esaurisca lo spazio (disco o nastro) disponibile per i backup, nel qual caso il comportamento di [http://www.bacula.org/ Bacula] è quello di bloccare i backup rispettando i termini del periodo di ritenzione dei dati impostato. 
107 16 Amministratore Truelite
108 16 Amministratore Truelite
Perciò se si desidera che i backup proseguano sovrascrivendo i vecchi dati occorrerà liberare lo spazio necessario. Questo dovrà essere fatto andando a rimuovere i dati più vecchi; per questo su può utilizzare il comando {{{purge}}}, ma occorrerà individuare opportunamente cosa rimuovere. Un esempio di utilizzo allora potrebbe essere il seguente; prima si potrà verificare lo stato dei volumi utilizzati con il comando:
109 16 Amministratore Truelite
{{{
110 16 Amministratore Truelite
*list volumes
111 16 Amministratore Truelite
Using default Catalog name=MyCatalog DB=bacula
112 16 Amministratore Truelite
Pool: Default
113 16 Amministratore Truelite
+---------+------------+-----------+-------------+----------+--------------+---------+------+-----------+-----------+---------------------+
114 16 Amministratore Truelite
| MediaId | VolumeName | VolStatus | VolBytes    | VolFiles | VolRetention | Recycle | Slot | InChanger | MediaType | LastWritten         |
115 16 Amministratore Truelite
+---------+------------+-----------+-------------+----------+--------------+---------+------+-----------+-----------+---------------------+
116 16 Amministratore Truelite
| 1       | Volume0013 | Full      | 13156318147 | 0        | 1814400      | 1       | 0    | 0         | File      | 2006-08-06 02:53:16 |
117 16 Amministratore Truelite
| 2       | Volume0014 | Full      | 15260956061 | 0        | 1814400      | 1       | 0    | 0         | File      | 2006-08-15 01:12:48 |
118 16 Amministratore Truelite
| 3       | Volume0015 | Full      | 10288088510 | 0        | 1814400      | 1       | 0    | 0         | File      | 2006-07-30 02:03:26 |
119 16 Amministratore Truelite
| 4       | Volume0016 | Full      | 28805889791 | 0        | 1814400      | 1       | 0    | 0         | File      | 2006-08-06 01:26:31 |
120 17 Amministratore Truelite
| 5       | Volume0017 | Full      | 14412428094 | 0        | 1814400      | 1       | 0    | 0         | File      | 2006-07-29 01:27:50 |
121 17 Amministratore Truelite
+---------+------------+-----------+-------------+----------+--------------+---------+------+-----------+-----------+---------------------+
122 17 Amministratore Truelite
}}}
123 17 Amministratore Truelite
dopo di che, considerato che i dati più vecchi si trovano sul Volume0017, se potrà cancellare il contenuto con:
124 17 Amministratore Truelite
{{{
125 17 Amministratore Truelite
* purge volume=Volume0017
126 17 Amministratore Truelite
127 17 Amministratore Truelite
This command is can be DANGEROUS!!!
128 17 Amministratore Truelite
129 17 Amministratore Truelite
It purges (deletes) all Files from a Job,
130 17 Amministratore Truelite
JobId, Client or Volume; or it purges (deletes)
131 17 Amministratore Truelite
all Jobs from a Client or Volume without regard
132 17 Amministratore Truelite
for retention periods. Normally you should use the
133 17 Amministratore Truelite
PRUNE command, which respects retention periods.
134 17 Amministratore Truelite
135 17 Amministratore Truelite
}}}
136 17 Amministratore Truelite
(il comando impiegherà un certo tempo per eseguire l'operazione), a questo punto si potrà verificare che il volume è diventato disponibile con:
137 17 Amministratore Truelite
{{{
138 17 Amministratore Truelite
*list volumes
139 17 Amministratore Truelite
Using default Catalog name=MyCatalog DB=bacula
140 17 Amministratore Truelite
Pool: Default
141 17 Amministratore Truelite
142 17 Amministratore Truelite
+---------+------------+-----------+-------------+----------+--------------+---------+------+-----------+-----------+---------------------+
143 17 Amministratore Truelite
| MediaId | VolumeName | VolStatus | VolBytes    | VolFiles | VolRetention | Recycle | Slot | InChanger | MediaType | LastWritten         |
144 17 Amministratore Truelite
+---------+------------+-----------+-------------+----------+--------------+---------+------+-----------+-----------+---------------------+
145 17 Amministratore Truelite
| 1       | Volume0013 | Full      | 13156318147 | 0        | 1814400      | 1       | 0    | 0         | File      | 2006-08-06 02:53:16 |
146 17 Amministratore Truelite
| 2       | Volume0014 | Full      | 15260956061 | 0        | 1814400      | 1       | 0    | 0         | File      | 2006-08-15 01:12:48 |
147 17 Amministratore Truelite
| 3       | Volume0015 | Full      | 10288088510 | 0        | 1814400      | 1       | 0    | 0         | File      | 2006-07-30 02:03:26 |
148 17 Amministratore Truelite
| 4       | Volume0016 | Full      | 28805889791 | 0        | 1814400      | 1       | 0    | 0         | File      | 2006-08-06 01:26:31 |
149 18 Amministratore Truelite
| 5       | Volume0017 | Purged    | 968063348   | 0        | 1814400      | 1       | 0    | 0         | File      | 2006-08-21 11:59:28 |
150 16 Amministratore Truelite
+---------+------------+-----------+-------------+----------+--------------+---------+------+-----------+-----------+---------------------+
151 16 Amministratore Truelite
}}}