Introduction #
Si le cas nominal — sauvegarder des fichiers accessibles — est entièrement pris en charge, la sauvegarde de fichiers verrouillés par un processus actif (bases de données, fichiers Exchange, profils utilisateurs ouverts…) nécessite une compréhension du mécanisme VSS (Volume Shadow Copy Service) intégré à Windows, dont le support par Restic présente des spécificités importantes à connaître.
Architecture de la sauvegarde fichier Windows dans Cybee #
L’Agent Cybee est déployé sur la machine Windows cliente. Il reçoit un ordre de sauvegarde depuis l’Agent Gateway, qui contient :
-
Les chemins sources à sauvegarder
-
L’adresse du dépôt de destination (objet storage S3-compatible)
-
La passphrase de chiffrement (transmise chiffrée depuis le Vault)
-
Les éventuels scripts pre/post backup
L’agent exécute la sauvegarde, remonte les logs de progression en temps réel vers le backend, puis signale le résultat (succès, warning, échec).
Machine Windows cliente
├── Agent Cybee
│ ├── Reçoit l'ordre (Agent Gateway)
│ ├── Exécute les scripts pre-backup (si configurés)
│ ├── Lance Restic → sauvegarde vers dépôt S3
│ ├── Exécute les scripts post-backup (si configurés)
│ └── Remonte logs + statut → Agent Gateway
Les données sont dédupliquées à la source et chiffrées côté client avant transmission vers le dépôt.
Le cas des fichiers verrouillés : comportement par défaut #
Sous Windows, certains fichiers sont verrouillés en écriture (et parfois en lecture) lorsqu’ils sont utilisés par un processus actif :
-
Fichiers de base de données (SQL Server .mdf/.ldf, SQLite, etc.)
-
Fichiers de messagerie Exchange (.edb)
-
Fichiers de registre Windows en cours d’utilisation (
NTUSER.DAT, ruches système) -
Tout fichier ouvert en mode exclusif par une application
Par défaut, l’agent Cybee tente de lire les fichiers verrouillés. Deux comportements sont possibles selon le niveau de verrouillage :
|
Situation |
Comportement Cybee |
|---|---|
|
Fichier ouvert en lecture partagée |
Cybee lit et sauvegarde le fichier (potentiellement incohérent) |
|
Fichier verrouillé en lecture exclusive |
Cybee échoue sur ce fichier, journalise une erreur, et continue la sauvegarde des autres fichiers |
Point clé : Cybee ne bloque pas la sauvegarde entière en cas de fichier inaccessible. Il journalise l’erreur et continue. La sauvegarde se termine en statut warning (et non en échec complet), avec la liste des fichiers non sauvegardés dans les logs.
À noter : ce comportement décrit Restic sans VSS. Dans Cybee, VSS est activé systématiquement sur les sauvegardes fichier Windows (voir la section suivante) ; en pratique, ce cas « sans VSS » ne concerne donc que les fichiers que VSS ne peut pas couvrir (partages réseau).
La solution : Volume Shadow Copy Service (VSS) #
Principe #
Le Volume Shadow Copy Service (VSS) est un mécanisme natif Windows qui crée un cliché instantané cohérent du volume au moment de la sauvegarde. Il permet de lire des fichiers verrouillés dans leur état cohérent, même lorsqu’ils sont en cours d’utilisation par une application.
VSS est le mécanisme utilisé par tous les outils de sauvegarde d’entreprise sérieux sous Windows (Windows Server Backup, Veeam, etc.) pour garantir la cohérence des sauvegardes en présence d’applications actives.
Support VSS dans Cybee #
Cybee intègre un support natif de VSS sous Windows.
Dans Cybee, ce flag est activé systématiquement dans les plans de sauvegarde fichier Windows créés via la console : VSS est donc toujours utilisé, sans action manuelle ni paramétrage côté utilisateur.
Lorsque ce flag est activé, Restic :
-
Demande à Windows de créer un cliché instantané (shadow copy) du volume concerné
-
Monte ce cliché temporairement
-
Lit les fichiers depuis le cliché — y compris les fichiers verrouillés
-
Libère le cliché à la fin de la sauvegarde
Le cliché VSS est cohérent au niveau du système de fichiers. Pour les applications qui implémentent un VSS Writer (SQL Server, Exchange, Hyper-V…), la cohérence est garantie au niveau applicatif (transactions en cours terminées ou annulées proprement avant le snapshot).
Prérequis et contraintes VSS #
|
Condition |
Détail |
|---|---|
|
Système de fichiers |
NTFS et ReFS supportés par VSS |
|
Droits requis |
L’agent doit s’exécuter avec des privilèges administrateur local ou SeBackupPrivilege |
|
Espace disque |
Windows nécessite de l’espace libre sur le volume pour stocker le cliché (recommandé : 10–15 % du volume) |
|
Limite de clichés simultanés |
Windows limite à 64 clichés VSS par volume |
|
Durée du cliché |
Le cliché est maintenu uniquement le temps de la sauvegarde, puis libéré |
Fichiers exclus malgré VSS #
Même avec VSS activé, certains fichiers restent problématiques :
-
Fichiers sur volumes réseau (SMB/NFS) : VSS ne s’applique qu’aux volumes locaux
-
Processus sans VSS Writer : la cohérence applicative n’est pas garantie pour les applications qui ne disposent pas de VSS Writer (cohérence fichier uniquement, pas cohérence transactionnelle)
Utilisation des scripts pre/post backup : l’alternative pour les applications #
Pour les applications sans VSS Writer ou nécessitant une cohérence applicative renforcée (bases de données MySQL/MariaDB, PostgreSQL, MongoDB…), la bonne pratique Cybee est d’utiliser les scripts pre/post backup supportés par l’agent.
Principe #
|
Étape |
Action |
|---|---|
|
Pre-backup |
Script qui met l’application en état cohérent : arrêt du service, flush des transactions, dump SQL, etc. |
|
Sauvegarde |
Cybee sauvegarde les fichiers dans leur état cohérent |
|
Post-backup |
Script qui redémarre le service ou nettoie les fichiers temporaires |
Exemple — MySQL/MariaDB sous Windows #
REM pre-backup.bat
net stop MySQL
REM post-backup.bat
net start MySQL
Exemple — Flush MySQL sans arrêt de service (dump) #
Pour éviter toute interruption de service, le pre-backup peut exécuter un mysqldump vers un fichier temporaire, que Cybee sauvegarde ensuite, puis le post-backup nettoie le dump :
REM pre-backup.bat
mysqldump -u root -p[PASSWORD] --all-databases > C:\backup-temp\mysql-dump.sql
REM post-backup.bat
del C:\backup-temp\mysql-dump.sql
Synthèse — Quelle approche selon le type de fichier ? #
|
Type de fichier |
Approche recommandée |
|---|---|
|
Fichiers bureautiques, documents (non ouverts) |
Cybee standard — pas de VSS nécessaire |
|
Fichiers ouverts par des utilisateurs (profils, documents actifs) |
VSS |
|
Registre Windows, fichiers système en cours d’utilisation |
VSS |
|
SQL Server, Exchange, Hyper-V |
VSS avec VSS Writer natif |
|
MySQL, MariaDB, PostgreSQL (pas de VSS Writer) |
Scripts pre/post backup (arrêt service ou dump) |
|
Fichiers sur partages réseau (SMB) |
Scripts pre/post backup (VSS limité aux volumes locaux) |
#
Limiter l’utilisation de la bande passante #
Une sauvegarde fichier Windows transfère les données dédupliquées et chiffrées vers le dépôt S3. Sur un site dont le lien Internet est partagé avec la production (applications métier, visioconférence, autres serveurs), une sauvegarde lancée en pleine journée peut saturer le débit montant. Cybee expose pour cela deux options globales de bridage du débit, portées par l’objet global_options de la configuration du plan — les mêmes que pour la restauration.
Rôle des deux options #
|
Option |
Rôle |
|---|---|
|
|
Plafonne le débit montant : vitesse à laquelle l’agent envoie les données vers le dépôt S3. C’est l’option déterminante pour une sauvegarde, dont le transfert est majoritairement montant. |
|
|
Plafonne le débit descendant : vitesse à laquelle l’agent lit / télécharge des données depuis le dépôt (lecture d’index, vérifications, opérations de maintenance). |
Unité et valeur par défaut #
Les deux options s’expriment en KiB/s (kibioctets par seconde). Par exemple, 5000 correspond à environ 5 Mio/s, soit ≈ 40 Mbit/s.
Par défaut, elles sont positionnées à null : aucune limite n’est appliquée et l’agent utilise toute la bande passante disponible.
#
Points clés #
-
Dans Cybee, la sauvegarde VSS est activé systématiquement sur les sauvegardes fichier Windows : le snapshot cohérent du volume est garanti sans action manuelle ni interruption des applications.
-
En présence d’un fichier que VSS ne peut pas couvrir, Restic continue la sauvegarde et journalise les fichiers ignorés — la sauvegarde se termine en warning, pas en échec complet.
-
VSS requiert des droits administrateur sur la machine et ne fonctionne que sur des volumes NTFS ou REFS locaux.
-
Pour les applications sans VSS Writer (MySQL, PostgreSQL…), les scripts pre/post backup de l’agent permettent de garantir la cohérence applicative.