.. _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 Procédure multi-sites ====================== .. _reconstruction-primary: Cas du site primaire -------------------- La reconstruction se réalise de la manière suivante : 1. Arrêt de :term:`VITAM` sur le site à reconstruire - Utiliser le playbook ``ansible-vitam-exploitation/stop_vitam_timers.yml`` - Utiliser le playbook ``ansible-vitam-exploitation/stop_vitam.yml`` Il est indispensable de valider que tous les services :term:`VITAM` (y compris les `timers` systemd) sont bien arrêtés 2. Purge des données (le cas échéant) stockées dans MongoDB-data, excepté les bases **identity**, **config** et **admin**. 3. Purge des données (le cas échéant) stockées dans Elasticsearch-data, 4. Reconfiguration et démarrage en tant que site secondaire: - Paramétrer la variable ``primary_site`` à ``false`` dans le fichier ``environmenrs/group_vars/all/vitam_vars.yml`` puis utiliser le playbook ``ansible-vitam/vitam.yml`` 5. Dès lors, l'accès utilisateur reste coupé, et l'intégralité des données est reconstruite 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" 6. La collection ``Offset`` de la base de données ``metadata`` est créée et permet de suivre l'avancement de la reconstruction. 7. Une fois la reconstruction terminée (plus de modification dans la collection ``Offset``), il convient de reconfigurer en tant que site primaire, puis redémarrer : - Paramétrer la directive ``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 : 1. Arrêt de :term:`VITAM` sur le site à reconstruire - Utiliser le playbook ``ansible-vitam-exploitation/stop_vitam_timers.yml`` - Utiliser le playbook ``ansible-vitam-exploitation/stop_vitam.yml`` Il est indispensable de valider que tous les services :term:`VITAM` (y compris les `timers` systemd) sont bien arrêtés. 2. Purge des données (le cas échéant) stockées dans MongoDB-data, excepté les bases **identity**, **config** et **admin**. 3. Purge des données (le cas échéant) stockées dans Elasticsearch-data, 4. 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 Procédure mono-site ==================== La procédure à appliquer est la même que la procédure du site primaire pour une installation multi-sites.