Sauvegarde et restauration
BlueMind génère automatiquement des sauvegardes régulières des données afin de permettre une restauration rapide via l'interface d'administration.
La sauvegarde entière des données du système (calendrier/contact/mails) est effectuée à intervalles réguliers et déposée dans un répertoire du système. Un système de sauvegarde annexe (Bacula, Tina, etc.) peut venir copier ces sauvegardes afin de réaliser une externalisation des sauvegardes sur bandes ou dans le système de sauvegarde externe.
La structure des données de sauvegarde permet de revenir dans le temps et ainsi restaurer les données des utilisateurs à un moment précis.
La fréquence des sauvegardes est paramétrable et dépend de l'espace disque disponible sur vos supports. Il est à noter que la durée minimale entre deux sauvegardes est d'un jour.
Les sauvegardes ainsi réalisées peuvent ensuite être associées à un logiciel de sauvegarde d'entreprise centralisé (Time Navigator, NetBackup...).
Les atouts du système de sauvegarde intégré
- Gain de temps :
Les sauvegardes sont incrémentales, seules les différences (nouveaux messages, suppressions, …) transitent. - Gain de fonctionnalités :
La sauvegarde gère l'historisation des données. - Gain de place :
La sauvegarde historise les données, sans les dupliquer. Chaque sauvegarde est autonome (de type snapshot), même si seules les différences ont transité. Ainsi vous pouvez avoir 10 sauvegardes pour une place occupée similaire à la taille de votre dépôt de mails. - Optimisations :
Les données sont automatiquement dédupliquées. - Sauvegarde complète :
L'outil de sauvegarde intégré permet de s'assurer que toutes les données présentes et futures sont automatiquement sauvegardées, qu'il s'agisse de données de messagerie (e-mails stockés sous la forme de fichiers), de données de l'agenda, de carnets d'adresses (stockées en base de données) ou encore de fichiers de configuration. - Compatibilité des sauvegardes :
Les sauvegardes, quelle que soit la date à laquelle elles ont été réalisées, restent compatibles avec toutes les versions mineures d'une même version majeure. Ainsi une sauvegarde réalisée dans une version donnée peut être remontée sur toute version mineure plus récente de BlueMind. Par exemple, une sauvegarde réalisée en 5.2.6 peut être remontée en 5.4.0. - Performance :
Les sauvegardes n'occasionnent pas d'interruption de service ; elles sont conçues et réalisées dans un temps court afin de garantir la cohérence des données lorsqu'elles seront restaurées. Cette contrainte est au cœur de la conception de la sauvegarde BlueMind. - Historique :
La réalisation d'une sauvegarde de données se fait obligatoirement de façon incrémentale, tout en conservant un historique de ces données. Cette fonctionnalité d'historisation est particulièrement intéressante pour ceux qui ne disposent pas d'une grosse infrastructure de sauvegarde : une donnée n'est présente que dans une seule sauvegarde et les nouvelles données sont stockées dans un incrément. De plus, afin de s'assurer d'une restauration sûre, le programme reconstitue les données à partir d'une sauvegarde et d'un ou plusieurs incréments. Cela est transparent pour l'administrateur qui décide de la date à laquelle les données doivent être restaurées.
Architecture technique de la sauvegarde
-
Composant de stockage et d'historisation :
BlueMind s'appuie sur le logiciel Open Source rsync. Cet outil permet de réaliser des copies incrémentales. Les données, dont le spool de mail, sont sauvegardées en créant des liens symboliques depuis le dernier backup, seul les nouveaux mails sont ainsi sauvegardés. -
Modules BlueMind et sauvegardes :
BlueMind se base sur une architecture permettant d'éclater les services sur différents serveurs. Suivant les services hébergés par chacun des serveurs, ceux-ci se voient attribuer différentes méthodes de sauvegarde appropriées avec les données stockées sur ce nœud applicatif (spool de mail, base de données, index, stockage, etc.). Ainsi, pour chaque rôle pouvant être attribué aux serveurs BlueMind, il existe une procédure spécifique de sauvegarde assurant la reprise optimale et intégrale des données. -
Localisation des sauvegardes :
⚠️ Le point de montage doit pointer a minima vers un autre disque, idéalement un autre serveur, pour que la sauvegarde soit fonctionnelle afin que les sauvegardes ne risquent pas d'être perdues avec les données principales en cas de sinistre.
BlueMind propose 2 solutions pour configurer les espaces de stockages des données sauvegardées :
- La mise en place d'un montage NFS sur le système de fichier du serveur de production.
- Utiliser un nœud (un serveur) de l'architecture BlueMind dédié faisant uniquement office de serveur de sauvegarde.
Suivant vos disponibilités et votre type d'infrastructure, l'une au l'autre des solutions peut être utilisée, l'objectif étant dans tous les cas de séparer les données de production des données sauvegardées, afin de s'assurer de la capacité à remonter les services en cas de perte ou de corruption de données.
-
Intégration dans une infrastructure de sauvegarde :
Un Système d'information est souvent doté d'une infrastructure de sauvegarde. Des logiciels comme Atempo Time Navigator, Tivoli Storage Manager, Net Backup ou autre centralise les méthodes de sauvegarde et gèrent eux-mêmes l'historisation de vos backups. Ces outils s'interfacent bien avec BlueMind. Il nécessite une configuration particulière afin de permettre la conservation des historiques de sauvegarde BlueMind. Le serveur BlueMind s'occupe de réaliser la sauvegarde de façon sûre, complète et à chaud des données de production. Le logiciel de backup du client devra être configuré pour ne réaliser aucune historisation des données. De cette façon, le logiciel de sauvegarde tiers récupère le contenu de la sauvegarde réalisée par BlueMind pour le transférer sur bande ou autre.
Sauvegarde
Configuration de la sauvegarde
La console d'administration permet de mettre en œuvre une politique de sauvegarde.
Pour cela, se rendre dans l'administration de BlueMind > Sauvegarde et Restauration > Configuration :
Politique de rétention
-
Quotidienne : indique le nombre de sauvegardes de chaque boite aux lettres par jour. Une sauvegarde quotidienne enregistre une vue de chaque boite aux lettres, composée uniquement de références aux messages dans l'espace principal de stockage.
-
Nombre jours de rétention des emails supprimés : indique le nombre de jours pendant lesquels les emails supprimés de la corbeille à double fond doivent être conservés dans l'espace principal de stockage.
ℹ️ Valeur par défaut
Par défaut la rétention est de 90 jours afin de faciliter la restauration des messages lorsque le stockage objet est externalisé¹. En effet, pendant la période de rétention, les exports du Dataprotect permettent de retrouver les messages et de rematérialiser les liens entre les boîtes mails et le stockage objet.
¹ L'externalisation du stockage dans un stockage objet S3 ou Scality Ring est fortement recommandée en cas de volume de mails important et/ou de rétention sur un grand nombre de jours. Voir la section des limites et bonnes pratiques pour plus de détails.ℹ️ Réglage recommandé
Pour un réglage optimal, le nombre de jours de rétention des mails supprimés doit correspondre à la différence entre le nombre de jours défini pour la corbeille à double fond (DF) et les sauvegardes quotidiennes (SQ).
Par exemple, si DF=5 et SQ=7 => indiquer 2 dans le nombre de jours de rétention des mails supprimés et faire des sauvegardes externes hebdomadaires de /var/backups/bluemind.
La politique de rétention définit le nombre de jours pendant lesquels les sauvegardes quotidiennes et les emails supprimés doivent être conservés dans le back-up.
Le temps de rétention total d'un message correspond à l'addition du nombre de jours défini pour la corbeille à double fond et du nombre de jours de rétention des emails supprimés. Par exemple ici, les messages sont conservés 7 jours dans la corbeille à double fond puis 90 jours dans l'espace principal de stockage, soit 97 jours total.
Sauvegarde
-
Sauvegarde des données de boîtes aux lettres : lorsque cette option est activée, toutes les données du serveur sont sauvegardées, y compris les emails, conformément à la politique de rétention définie ci-dessus.
Lorsque cette option est désactivée, seules les données de contacts, agenda et tâches sont sauvegardées. La sauvegarde incrémentale des messages réalisée par les sauvegardes quotidiennes est également désactivée. À noter que cela n'a pas d'impact sur la restauration puisque celle-ci est effectuée à partir de l'espace principal du stockage (rétention) via Dataprotect - qui reste actif lorsque l'option est désactivée - et non des sauvegardes quotidiennes.💡 Dans quel cas activer cette option ?
Activer cette option lorsque le stockage objet est externalisé afin de faciliter la copie des sauvegardes par l'outil tiers. -
Sauvegarde Postgres: lorsque cette option est activée, un dump complet de la base de données est effectué, la sauvegarde sera alors plus longue. A contrario, lorsqu'elle ne l'est pas, seules les données utilisateurs seront sauvegardées (utilisateurs, ressources, boites partagées, calendriers de domaine, carnets d'adresses de domaine).
💡 Dans quel cas activer cette option ?
Activer cette option est uniquement nécessaire pour exécuter la procédure de Plan de Reprise d'Activité (PRA). Dans le cas où un autre système de sauvegarde de la plateforme est en place et peut être utilisé dans le cadre du PRA, cette option n'est pas nécessaire. Par exemple sur des installations BlueMind protégées par vSphere HA, le backup PostgreSQL est généralement inutile.
Actions post-sauvegarde
En fin de sauvegarde, le script /usr/bin/bm-post-full-backup.sh
est exécuté automatiquement s'il existe.
Il peut contenir des opérations spécifiques à réaliser suite à une sauvegarde en succès.
Dans cet exemple, le script /usr/bin/bm-post-full-backup.sh
permet de créer pour chaque rôle BlueMind, un dossier "last" pointant sur la version la plus récente de la sauvegarde :
#!/bin/bash
parts=("bm/es" "bm/pgsql" "filehosting/data" "mail/imap" "mail/archive")
server_ip="192.168.124.72"
for part in ${parts[@]}; do
echo "creating last directory for part : $part"
# get last backup directory
last_version=`ls -tr /var/backups/bluemind/dp_spool/rsync/$server_ip/$part | grep -v "last" | tail -1`
echo " last version : $last_version"
# create link
rm /var/backups/bluemind/dp_spool/rsync/$server_ip/$part/last
ln -s /var/backups/bluemind/dp_spool/rsync/$server_ip/$part/$last_version /var/backups/bluemind/dp_spool/rsync/$server_ip/$part/last
done
Configuration du montage NFS
L'espace de sauvegarde de BlueMind doit-être commun à l'ensemble des serveurs de votre plate-forme BlueMind, hors serveur edge.
Le répertoire de sauvegarde doit être accessible depuis l'ensemble des nœuds du domaine BlueMind ; il convient donc de réaliser les opérations de montage et vérification suivantes sur tous les serveurs concernés.
Pour les points de montage de type NFS, ext3 ou ext4, il convient d'appliquer les options nodiratime et noatime afin d'accélérer les accès disque. En effet, les systèmes de fichiers avancés comme NTFS, ext3/4 permettent de connaître la date de dernier accès aux fichiers. Ainsi pour chaque lecture de fichier, il y a une opération d'écriture supplémentaire afin de modifier la date de dernier accès et de vérifier cette dernière. Voici un exemple de montage du fichier /etc/fstab :
# Point de montage NFS
nas.mydomain.lab:/backup /var/backups/bluemind nfs rw,soft,noatime,nodiratime,vers=3,exec 0 0
Pour activer le montage NFS, exécuter en tant qu'utilisateur root :
mount /var/backups/bluemind
Il est ensuite conseillé de tester le bon fonctionnement du montage en exécutant les commandes suivantes en ligne de commande, toujours en tant qu'utilisateur root depuis le serveur BlueMind :
cd /var/backups/bluemind
touch test
Puis effacer ce fichier de test :
rm test
Restauration
La même sauvegarde BlueMind permet à la fois la restauration d'un plan de reprise d'activité et les restaurations unitaires de données (les données ou une partie des données d'un utilisateur).
Plan de Reprise d'Activité (PRA)
Pour que la restauration puisse fonctionner, le serveur doit avoir la même adresse IP et la même version de BlueMind que le serveur d'origine.
Les données complètes sont restaurées lors de la phase d'installation (ou ré-installation) de BlueMind.
Lors des étapes d'installation de BlueMind avec l'outil Setup Wizard, vous avez le choix, soit d'installer un système BlueMind vierge, soit de réaliser une restauration globale. La restauration globale permet de remonter l'intégralité de votre serveur à partir d'une sauvegarde et correspond à une restauration PRA.
Cette solution permet de remonter facilement, rapidement et en toute sécurité un nouveau serveur BlueMind.
Pour plus d'informations, voir la page dédiée Plan de Reprise d'Activité (PRA).
Restauration unitaire
La restauration unitaire est une fonctionnalité très pratique proposée par BlueMind qui permet de restaurer les données d'un seul utilisateur rapidement. La restauration est réalisée graphiquement et permet de choisir le type d'objet (entité : utilisateur, mail, calendrier boite partagée, etc.), puis l'objet lui-même dont les données doivent être restaurées
Cette fonctionnalité s'appuie elle aussi sur l'historisation des données pour choisir la date des données à sauvegarder.
Pour plus d'informations, voir la page dédiée Restauration unitaire - DataProtect.
Limites et bonnes pratiques
Les volumes et durées indiquées dans la suite sont des valeurs indicatives.
Elles peuvent être ajustées suivant les performances et capacités de votre plate-forme.
La durée de sauvegarde est impactée par le volume de mail et la politique de rétention. Plus le volume de mail est grand et/ou plus la politique de rétention est importante, plus les performances de l'espace de sauvegarde doivent-être élevées.
Les sauvegardes conservées sur le serveur permettent de simplifier la restauration sans le moindre outils tiers. Cependant, un volume de mails important ou une durée de rétention longue impacte fortement la consommation sur l'espace de stockage principal. Une société qui reçoit 10Go de messages par jour va consommer +/- 1To dans le stockage principal pour assurer la rétention de 90 jours.
De façon générale, pour un volume de mail <1To, la sauvegarde BlueMind peut être utilisée sans contraintes particulières.
Lorsque le volume de mail est important (>1To), la sauvegarde BlueMind peut être utilisée, mais nous conseillons une durée de rétention de 1 jour.
Dans ce cas, l'utilisation d'outils tiers (snapshots au niveau du système de fichiers, copie sur un espace tiers...) permettant de conserver un historique des données de sauvegarde est recommandée.
Par ailleurs, nous conseillons d'utiliser le paramétrage de Rétention des mails de la corbeille à double fond, qui est plus adaptée à la récupération des mails supprimés par erreur. Elle permet notamment des durées de rétention bien plus importantes sans coût pour les performances de la plate-forme.
Pour des volumes de mails très importants (plusieurs To), nous conseillons de désactiver la sauvegarde des mails et des données utilisateurs (annuaires, agenda, carnet d'adresses, ressources, boites partagées, calendriers de domaine, carnets d'adresses de domaine) lors de la Configuration de la sauvegarde.
La sauvegarde des mails, et idéalement de la plate-forme dans son ensemble, sera réalisée au niveau de l'infrastructure (sauvegarde des VMs au niveau de l'hyperviseur, sauvegarde au niveau du système de fichier ou du stockage...).
En résumé :
- la restauration des mails repose principalement sur la Rétention des mails de la corbeille à double fond
- il est possible de réinjecter des mails récupérés de la sauvegarde tierce pour des cas particuliers (suppression par erreur d'une boîte à lettres...)
- la sauvegarde intégrée est utilisée pour toutes les autres données (annuaires, agendas, carnets d'adresses...), sans contraintes de durée de rétention, et leur restauration se fait via l'outil BlueMind. Il est ainsi tout à fait possible, dans ce cadre, de conserver 20 jours de données via DataProtect.