5.10. 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é.

Prudence

Dans cette version de la solution logicielle VITAM, la reconstruction nécessite de couper le service aux utilisateurs.

Prudence

Une reconstruction complète à partir des offres de stockage peut être extrêmement longue, et ne doit être envisagée qu’en dernier recours.

5.10.1. Déclenchement

5.10.1.1. Cas du site primaire :

La reconstruction se réalise de la manière suivante :

  • Arrêt de 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

5.10.1.2. Cas du site secondaire :

La reconstruction se réalise de la manière suivante :

  • Arrêt de 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