Project

General

Profile

Anomalie #759

Problème de sauvegarde restauration des acls

Added by Anonymous about 13 years ago. Updated over 12 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Category:
-
Start date:
07/07/2010
Due date:
% Done:

100%

Distribution:

Description

Contexte : SCRIBE-2.2.2 à jour

Dans le cadre d'un remplacement de matériel, j'ai, dans les 15 derniers jours, à 2 reprises, restauré un scribe.
A chaque fois, la démarche a été la suivante :
  • mise à jour totale de l'ancien scribe 2.2.2, reconfiguration, reboot
  • lancement d'une sauvegarde totale
  • installation de la nouvelle machine
  • instanciation puis mise à jour, reconfiguration et reboot
    L'ancien et le nouveau serveur sont donc exactement au même niveau de mises à jour.

Ensuite, lancement du script restauration-bacula.sh sur la nouvelle machine.

Le problème :
Sur le nouveau serveur, je constate que seules les acl déjà positionnées à l'install sont présentes.
Par exemple, on retrouve les bonnes acl sur /home/workgroups/commun/logiciels

Par contre, pour un répertoire de classe (nouvellement restauré donc) nommé c63 (et pour lequel je suis certains que des acls existaient sur l'ancien serveur), je n'ai aucune acl positionnée, ce sont donc les droits "standards" qui s'appliquent.

Un getfacl sur le répertoire concerné indique seulement :
  1. owner: root
  2. group: root
    user::rwx
    group::r-x
    other::---
A l'aide des scripts :
  • droits_partage.sh
  • droits_user.py
    je réussis à remettre en place des droits corrects.

La première fois que cela m'est arrivé j'ai d'abord cru à une erreur de ma part.
Mais le problème intervient 2 fois sur 2.

En tentant une restauration partielle vers un répertoire de test (/home/test, donc en ext3 et avec gestion des acls activée), je constate exactement le même problème.

J'ai l'impression que les acls n'ont pas été sauvegardées.

J'ai, par acquis de conscience, effectué le test suivant :
  • Création d'un nouveau Job de sauvegarde dans bacula-dir.conf
    En voici le contenu :
    _Job {
    Name = "Test"
    FileSet = "FileSetTest"
    Type = Backup
    Client = 127.0.0.1-fd
    Storage = File
    Messages = Standard
    Pool = Default
    Priority = 10
    Write Bootstrap = "/var/sauvegardes/TestBootStrap.bsr"
    RunBeforeJob = "/usr/share/eole/bacula/baculaservices.sh lock"
    RunBeforeJob = "/usr/share/eole/bacula/baculaservices.sh prebackup"
    RunAfterJob = "/usr/share/eole/bacula/baculaservices.sh postbackup"
    RunAfterJob = "/usr/share/eole/bacula/baculaservices.sh unlock"
    RunAfterFailedJob = "/usr/share/eole/bacula/baculaservices.sh postbackuperr"
    RunAfterFailedJob = "/usr/share/eole/bacula/baculaservices.sh unlock"
    }

FileSet {
Name = "FileSetTest"
Include {
Options {
signature = MD5
compression = GZIP
aclsupport = yes
}
Options {
wildfile = "*/.scanned:*"
exclude = yes
}
File = /home/workgroups/c63
}
}_

J'ai ensuite, depuis bconsole, lancé une sauvegarde à partir de ce job.
J'ai restauré dans /home/test en sélectionnant l'intégralité (restore all).

Constat sur les acls :
Seul le répertoire '/home/workgroups/c63' a retrouvé ses acls.
Si je relance une restauration spécifique du répertoire /home/workgroups/c63/travail, aucune acl n'est restaurée.

On dirait qu'en fait, seules les acls du répertoire racine sont sauvegardées et pas celles de son contenu.

Cela est d'autant plus gênant qu'une gestion fine des acls sera perdue en cas de restauration.

Est-ce un bug bacula? Une mauvaise configuration? Une mauvaise utilisation? Je ne sais pas.
Si ce problème ne peut pas être réglé, peut-être pourrait-on envisager une sauvegarde des acls incluse dans un RunBeforJob et gérée par restauration-bacula.sh


Related issues

Related to conf-scribe - Anomalie #318: Bacula ne restaure pas les ACLs Fermé 04/01/2010

Associated revisions

Revision 4e2a2de6 (diff)
Added by mithrandi over 17 years ago

Merge runtime-speedup-759.

Fixes #759.
Authors: amberite, mithrandi
Reviewers: mithrandi, exarkun

This provides a substatial speed-up for {set,append}NodeContent() on Firefox.
It also adds nits for these, and a workaround in nit for the fragment nesting
problem.

Revision 2dee7a4d (diff)
Added by Laurent Flori over 12 years ago

Ajout de la restauration des acls avec bacula pour Scribe et Horus fixes #759

Revision 88e24de2 (diff)
Added by Klaas TJEBBES over 12 years ago

correction de "baculafichiers.d/fichier.conf" pour la sauvegarde des ACLs FIXES #759

Revision e143071d (diff)
Added by Klaas TJEBBES over 12 years ago

correction de "baculafichiers.d/fichier.conf" pour la sauvegarde des ACLs FIXES #759

Revision c97a7dcd (diff)
Added by Alexandre Delaunay over 7 years ago

move projecttask in planning; fix #759

History

#1 Updated by Joël Cuissinat about 13 years ago

  • Target version changed from Mises à jour 2.2.2 - 03 Stable to Mises à jour 2.2.2 - 04 RC

#2 Updated by Joël Cuissinat about 13 years ago

  • Target version changed from Mises à jour 2.2.2 - 04 RC to 48

#3 Updated by Laurent Flori over 12 years ago

  • Status changed from Nouveau to Résolu
  • % Done changed from 0 to 100

#4 Updated by Joël Cuissinat over 12 years ago

  • Assigned To set to Laurent Flori
  • Target version changed from 48 to Mises à jour 2.2.2 - 07 RC

#5 Updated by Anonymous over 12 years ago

Bonjour,
Je constate que la solution retenue a été de créer une sauvegarde/restauration des acls par script.

Cependant :
  • Dans le cas de scribe, si la variable home_path a une valeur autre que /home,
    getfacl --absolute-names -PR /home > $ACLSAVFILE
    sauvegardera home et pas la valeur de home_path.
  • Dans le cas d'horus, /home est un lien symbolique vers /data/home
    Or, des acls existent également sur d'autres sous-répertoires de /data (/data/minedu notamment). Je pense que les utilisateurs des applications administratives nationales vont vite s'en rendre compte, suite à une restauration.

Il serait donc souhaitable d'effectuer un test sur le module afin de connaître la cible de getfacl, et d'adapter, ainsi, au cas par cas, ce qui sera sauvegardé. Qu'en dites-vous?

#6 Updated by Joël Cuissinat over 12 years ago

  • Status changed from Résolu to Fermé

OK pour aujourd'hui ;)

#7 Updated by Klaas TJEBBES over 12 years ago

  • Status changed from Fermé to Nouveau
  • Target version changed from Mises à jour 2.2.2 - 07 RC to 48

La solution a été trouvée au niveau de la configuration, il faut supprimer la gestion "EOLE" des ACLs en pre-backup.

#8 Updated by Joël Cuissinat over 12 years ago

  • Target version changed from 48 to Mises à jour 2.2.3 - 01 RC
  • % Done changed from 100 to 80

#9 Updated by Joël Cuissinat over 12 years ago

  • Status changed from Nouveau to Résolu
  • % Done changed from 80 to 100

Il ne reste plus qu'à tester !

#10 Updated by Jean-Marc MELET over 12 years ago

Testé...et approuvé!
Mais peut-on avoir l'explication exacte de l'origine du problème par curiosité? (comme ça fait bientôt 1 an qu'on la cherche...). Est-ce juste du à un mauvais ordre dans quelques lignes du fichier baculafichiers.conf?
Merci pour la résolution en tout cas

#11 Updated by Joël Cuissinat over 12 years ago

  • Status changed from Résolu to Fermé
C'est triste à dire mais il semble bien que ce soit une histoire d'ordre dans les options !
  • conf-scribe (2.2-eole201~4)
  • conf-horus (2.2-eole96~1)

Also available in: Atom PDF