Bonjour,

Je viens d'installer bacula sous debian squeeze.
Dans un premier temps, je me contente de faire des tests de configuration sur une seule machine, c-à-d que les démons bacula-sd, bacula-fd et bacula-director tournent sur le même PC.
Mon but est de faire une sauvegarde journalière cyclique de mon dossier contenant mes mails (puisque les données évoluent souvent au cours d'une journée).
Je souhaite sauvegarder plusieurs fois par jour, ce qui fait que la taille du dossier de sauvegarde est assez importante, d'où le choix d'une sauvegarde cyclique.

Pour fixer les idées, voici les heures et les types de sauvegardes (extrait du fichier bacula-dir.conf) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
Schedule {
  Name = "DailyCycle"
 
  #-----Backup full du dossier thunderbird-portable-----
  Run = Level=Full Pool=pool-full on 1-31 at 8:00
 
  #-----Backups inc du dossier thunderbird-portable-----
  Run = Level=Incremental Pool=pool-inc on 1-31 at 10:00
  Run = Level=Incremental Pool=pool-inc on 1-31 at 12:00
 
  #-----Backup diff du dossier thunderbird-portable-----
  Run = Level=Differential Pool=pool-diff on 1-31 at 13:15
 
  #-----Backups inc du dossier thunderbird-portable-----
  Run = Level=Incremental Pool=pool-inc on 1-31 at 15:00
  Run = Level=Incremental Pool=pool-inc on 1-31 at 17:00
  Run = Level=Incremental Pool=pool-inc on 1-31 at 19:00
  Run = Level=Incremental Pool=pool-inc on 1-31 at 21:00
}
Après avoir lancé les daemons juste avant l'heure de la sauvegarde complète (8h00), le soir, juste après la dernière sauvegarde incrémentale de 21h00, l'état du dossier de sauvegarde contient les volumes suivants :

Backup_Thunderbird_daily_full-0001

Backup_Thunderbird_daily_inc-0002
Backup_Thunderbird_daily_inc-0003

Backup_Thunderbird_daily_diff-0004

Backup_Thunderbird_daily_inc-0005
Backup_Thunderbird_daily_inc-0006
Backup_Thunderbird_daily_inc-0007
Backup_Thunderbird_daily_inc-0008

en supposant que le PC soit resté allumé et que toutes les sauvegardes aient bien été exécutées.

Pour pouvoir utiliser un volume par sauvegarde, et les réutiliser ensuite de façon cyclique, j'ai paramétré les 3 sections "pool" pour les 3 types de sauvegarde de la façon suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
Pool {
  Name = pool-full
  Pool Type = Backup
  Recycle = yes
  AutoPrune = yes
  Volume Retention = 23 hours
  Maximum Volume Jobs = 1
  LabelFormat = Backup_Thunderbird_daily_full-
}
 
Pool {
  Name = pool-inc
  Pool Type = Backup
  Recycle = yes
  AutoPrune = yes
  Volume Retention = 23 hours
  Maximum Volume Jobs = 1
  LabelFormat = Backup_Thunderbird_daily_inc-
}
 
Pool {
  Name = pool-diff
  Pool Type = Backup
  Recycle = yes
  AutoPrune = yes
  Volume Retention = 23 hours
  Maximum Volume Jobs = 1
  LabelFormat = Backup_Thunderbird_daily_diff-
}
Le paramètre "Maximum Volume Jobs = 1" permet d'utiliser un volume pour un seul backup (ou Job).
Le paramètre "Volume Retention = 23 hours" permet de réutiliser le volume pour un nouveau backup au bout de 23h, puisque ce paramètre signifie au système que les données contenues dans le volume sont devenues obsolètes et peuvent donc être écrasées.

Ainsi, si le 2eme jour de fonctionnement, le PC est toujours allumé, les sauvegardes utiliseront respectivement les mémes volumes que ceux utilisés le 1er jour.

(Si seulement certaines des sauvegardes incrémentales et différentielle ont lieu, la réutilisation des volumes est un peu plus compliquée, mais le système bacula s'y retrouve très bien pour effectuer une restauration.)

Je rappele juste que les backups différentiels sauvegardent la différence par rapport au dernier backup complet, alors que les backups de type incrémental sauvegardent la différence par rapport au dernier backup, qu'il soit complet, différentiel ou incrémental.

Je pense donc que cette organisation comporte un problème, d'où mon souhait d'avoir l'avis d'un spécialiste.

En effet, SUPPOSONS que le 2eme jour, pour une raison quelconque, la sauvegarde complète du matin à 8h00 ne s'exécute pas, mais que toutes les autres s'exécutent correctement.

ALORS, la 1ere sauvegarde incrémentale, de 10h00, va sauvegarder ce qu'elle trouve de différent par rapport à la dernière sauvegarde, c'est-à-dire la sauvegarde incrémentale contenue dans Backup_Thunderbird_daily_inc-0008 et qui date de la veille à 21h00, alors qu'elle aurait dû s'effectuer par rapport à la sauvegarde complète du matin à 8h00, selon les plans établis.

DONC, au fur et à mesure des sauvegardes incrémentales de la journée, les volumes sont réutilisés, et on finit par perdre le lien avec la sauvegarde complète de la veille, et ainsi, je pense qu'il n'est plus possible de reconstituer la totalité du dossier sauvegardé.

Pour y remédier, faut-il avoir au moins 2 sauvegardes complètes, faut-il boucler sur 2 jours au lieu de 1 jour ?

Voilà, mes connaissances en backups étant un peu limitées, je ne sais pas si mes intérogations sont légitimes.
Mais peut-être n'ai-je rien compris à la pratique des sauvegardes cycliques ?

Merci d'avance à tous ceux qui pourront m'éclairer.

Krys006