AnsweredAssumed Answered

Mise en place d'une stratégie de backup/restore

Question asked by zomurn on Feb 24, 2010
Latest reply on Mar 1, 2010 by zomurn
Bonjour,

Après moult documentation lue sur le sujet : wiki, presentation pdf online, forum, formation, etc.
Je souhaiterais faire le point sur cette stratégie de backup/restore afin d'avoir l'esprit tranquille le jour où j'utilise réellement mon backup (ça m'est arrivé une fois où un process avait ruiné la base suite à sa coupure en arrêtant le serveur "alfresco.sh stop").

Je vais résumer ce que j'ai compris ici, n'hésitez pas à me reprendre si quelque chose est faux :
Les règles à connaître :

1) Le backup de la base doit être antérieur au backup du alf_data
2) Les fichiers .bin dans le alf_data sont considérés comme orphelin lorsqu'ils ne sont plus référencés en base.
3) Un scheduler qui se lance tous les 7 jours (par défaut) nettoie les fichiers orphelins en les déplaçant du contentstore au contentstore.deleted.
4) Une base référençant des fichiers .bin (et donc plus récente que le alf_data) non existant abouti à un repository corrompu
5) Un alf_data contenant des fichiers .bin non référencés en base (et donc plus ancienne que le alf_data) abouti à un repository fonctionnel.

Je souhaiterais donc à partir de là mettre en place une stratégie de backup.
Un expert alfresco m'a recommandé de sauvegarder souvent la base et moins fréquemment le alf_data, pourquoi ?

Scénario 1 :

Le mercredi 2 du mois je sauvegarde la base + alf_data.
Chaque jour suivant, je sauvegarde uniquement la base.
Le lundi 7 du mois, un crash matériel survient, je décide de restorer.
Selon les règles citées ci-dessus, je ne peux restorer que la sauvegarde du mercredi 2 car mon plus récent backup de alf_data et du mercredi 2 : conclusion , 3-4jours de travail perdu. Le client rentre en conflit avec le prestataire :D.
En quoi l'affirmation de l'expert est-elle donc juste ?

Scénario 2

Le mercredi 2 du mois je sauvegarde la base + alf_data.
Aucune sauvegarde n'est faite par la suite.
Le lundi 7 du mois, un crash matériel survient uniquement sur le serveur de base de donnée, je décide de restorer juste la base.
L'application tourne donc avec une base du mercredi 2 et un alf_data à jour du lundi 7.
Tous les documents injectés dans l'application entre le 2 et le 7 sont donc orphelin car non référencés en base.
Au jour 2+7=9 du mois, le scheduler effectue son job et décide donc de supprimer définitivement tous les documents injectés entre le 2 et le 7 du mois : conclusion , 3-4jours de travail perdu. Le client rentre en conflit avec le prestataire :D.
En quoi la notion de la durée autorisée pour la protection (propriété "protectDays") est-elle "safe" car les documents orphelins ont été nettoyés ?

Merci de vos éclaircissements.

Outcomes