.. _reconstruction: Reconstruction ############## La reconstruction consiste à recréer le contenu des bases de données (MongoDB-data, Elasticsearch-data) en cas de perte de l'une ou l'autre à partir des informations présentes dans les offres de stockage. Elle part du principe que le contenu des offres n'a pas été altéré. .. caution:: Dans cette version de la solution logicielle :term:`VITAM`, la reconstruction nécessite de couper le service aux utilisateurs. .. caution:: Une reconstruction complète à partir des offres de stockage peut être extrêmement longue, et ne doit être envisagée qu'en dernier recours. .. TODO A vérifier Déclenchement ============= .. _reconstruction-primary: Cas du site primaire : ---------------------- La reconstruction se réalise de la manière suivante : * Arrêt de :term:`VITAM` sur le site à reconstruire - Utiliser le playbook ansible-vitam-exploitation/stop_vitam.yml - Il est indispensable de valider que tous les services VITAM (y compris les timers systemd) sont bien arrêtés * Purge des données (le cas échéant) stockées dans MongoDB-data * Purge des données (le cas échéant) stockées dans Elasticsearch-data, * Reconfiguration et démarrage en tant que site secondaire: - Paramétrer la variable primary_site à false puis utiliser le playbook ``ansible-vitam/vitam.yml`` * Dès lors, l'accès utilisateur reste coupé, et l'intégralité des données est reconstruit progressivement - Le suivi de la reconstruction se fait en observant l'évolution de l'offset de reconstruction stocké dans MongoDB-data - Pour la release 8, la procédure est décrite dans la section "Recalcul des données graphe" * Restaurer la base identity de MongoDB-data (utiliser par exemple l'utilitaire commande `mongorestore `_ permettant de restaurer des données à partir d'une sauvegarde de base de données créée par le programme `mongodump `_ vers une instance MongoDB) * Une fois la reconstruction terminée, reconfiguration en tant que site primaire et démarrage: - Paramétrer la variable primary_site à true puis utiliser le playbook ``ansible-vitam/vitam.yml`` .. _reconstruction-secondary: Cas du site secondaire : ------------------------ La reconstruction se réalise de la manière suivante : * Arrêt de :term:`VITAM` sur le site à reconstruire - Utiliser le playbook ``ansible-vitam-exploitation/stop_vitam.yml`` - Il est indispensable de valider que tous les services VITAM (y compris les timers systemd) sont bien arrêtés * Purge des données (le cas échéant) stockées dans MongoDB-data * Purge des données (le cas échéant) stockées dans Elasticsearch-data, * Redémarrage du site secondaire Vitam - Utiliser le playbook ``ansible-vitam-exploitation/start_vitam.yml`` - La prochaine itération de reconstruction au fil de l'eau redémarrera la reconstruction à partir du début - Attendre la fin de la reconstruction au fil de l'eau sur le site secondaire + Le suivi de la reconstruction se fait en observant l'évolution de l'offset de reconstruction stocké dans MongoDB-data + Pour la release 7 (version 1.4.x) il faut lancer le service dédié ``vitam-metadata-graph-builder.service`` sur le composant metadata pour recalculer le graphe des unités archivistiques et des groupes d'objets techniques n'ayant pas encore reconstruit leurs données graphe