Docs · Notions
Si NeverWiped disparaît
Ce que deviennent vos sauvegardes si NeverWiped s’arrête, et les étapes exactes pour les lire avec l’outil open source restic seul : sans agent, sans espace client, sans compte. Faites le test de cette page une fois, pendant que tout fonctionne : le jour où vous en aurez besoin ne sera pas la première fois.
Ce que vous détenez, ce que nous détenons
Vos sauvegardes sont un dépôt restic standard (restic 0.18.1), un par serveur, stocké en France. Elles ne sont pas dans un format NeverWiped, et elles sont chiffrées sur votre serveur avec des clés que nous ne recevons jamais.
| Quoi | Où | Nécessaire pour lire les sauvegardes |
|---|---|---|
| Clé du dépôt | /etc/neverwiped/repo.key sur votre serveur | Oui (ou la clé de récupération) |
| Clé de récupération | Votre gestionnaire de mots de passe (affichée une fois à l’installation) | Oui, si le serveur est perdu |
Identifiant de stockage (repo_url, repo_user, repo_password) | /etc/neverwiped/config.json sur votre serveur | Oui, pour joindre notre stockage |
| Le stockage lui-même | Nos serveurs en France | Oui, sauf si vous gardez votre propre copie |
La situation, honnêtement : les clés sont à vous, le format est ouvert, mais le stockage est à nous. Tant qu’il répond, restic seul ouvre vos sauvegardes. S’il cessait un jour de répondre, seule une copie gardée ailleurs serait encore là. La section votre propre copie montre comment en garder une, en une commande.
Ce qui s’arrête, ce qui continue
| Si NeverWiped s’arrête | |
|---|---|
| Espace client, compte, e-mails et alertes | S’arrêtent |
| Sauvegardes planifiées par l’agent | S’arrêtent : chaque sauvegarde demande d’abord ses réglages à notre plateforme, et échoue sans elle |
neverwiped recover (passer sur un nouveau serveur avec votre compte) | S’arrête : il a besoin de votre compte |
| Le support (par exemple un nouvel identifiant de stockage) | S’arrête |
neverwiped restore sur votre serveur | Continue tant que le stockage répond : il parle directement au stockage, et son compte rendu à notre plateforme est facultatif |
| restic seul, avec les commandes ci-dessous | Continue tant que le stockage répond |
| Une copie gardée ailleurs (votre propre copie) | Continue, quoi qu’il nous arrive |
| Les fichiers de votre serveur | Intacts : rien n’est supprimé sur votre serveur quand notre plateforme s’arrête |
Lire vos sauvegardes avec restic seul
Sur votre serveur, en root. L’agent y a déjà installé restic 0.18.1 (empreinte vérifiée) : rien à télécharger. Ces lignes lisent l’identifiant de stockage dans la configuration de l’agent, sans l’afficher :
C=/etc/neverwiped/config.json
URL=$(sed -n 's/.*"repo_url": "\([^"]*\)".*/\1/p' "$C")
USR=$(sed -n 's/.*"repo_user": "\([^"]*\)".*/\1/p' "$C")
PW=$(sed -n 's/.*"repo_password": "\([^"]*\)".*/\1/p' "$C")
RESTIC=/var/lib/neverwiped/bin/restic-0.18.1
export RESTIC_REPOSITORY="${URL%%://*}://$USR:$PW@${URL#*://}"
export RESTIC_PASSWORD_FILE=/etc/neverwiped/repo.key
$RESTIC snapshots
$RESTIC restore latest --target /root/restore
snapshots liste chaque sauvegarde avec sa date ; restore latest ramène la plus récente dans /root/restore, sans rien écraser d’autre. Pour une nuit précise, mettez son identifiant (tiré de la liste) à la place de latest ; pour un seul chemin, ajoutez --include /var/www. Les exports de bases de données sont dans /root/restore/var/lib/neverwiped/dumps ; réimportez-les comme dans une base de données. Une fois terminé : rm -rf /root/restore.
Votre identifiant de stockage peut lire et ajouter des sauvegardes, jamais les supprimer. Il continue de lire pendant la suspension d’un compte (impayé, ou essai terminé) : une suspension bloque les nouvelles sauvegardes, pas les restaurations.
Le serveur est perdu lui aussi. Il vous faut alors l’identifiant de stockage ailleurs que sur le serveur. Il ne change que si vous lancez neverwiped recover : vous pouvez donc le garder avec votre clé de récupération. Affichez-le une fois, dans votre propre terminal, et rangez les trois lignes dans votre gestionnaire de mots de passe, à côté de la clé de récupération :
grep -E '"repo_(url|user|password)"' /etc/neverwiped/config.json
Qui détient à la fois l’identifiant de stockage et la clé de récupération peut lire vos sauvegardes : ils vont au même endroit sûr, nulle part ailleurs. Sur une nouvelle machine, installez restic 0.18.1 et vérifiez son empreinte, comme dans le guide de restauration (« Dernier recours »), puis donnez à RESTIC_REPOSITORY la valeur de repo_url avec LOGIN:PASSWORD@ placé juste après https:// (cela ressemble à rest:https://LOGIN:PASSWORD@storage.neverwiped.com/LOGIN/), et à RESTIC_PASSWORD_FILE un fichier lisible par root seul qui contient la clé de récupération.
Garder votre propre copie
C’est la partie qui ne dépend pas du tout de nous. Deux façons, avec les clés que vous avez déjà.
Un simple dossier, de temps en temps. La sauvegarde la plus récente, en fichiers ordinaires, sur un disque ou une machine que vous contrôlez :
neverwiped restore latest --target /mnt/your-disk/neverwiped-latest --yes
Un second dépôt restic à vous, avec chaque sauvegarde et son historique. restic copie les instantanés de notre stockage vers un dépôt sur un disque, une machine SFTP ou un bucket compatible S3 à vous, chiffré de la même façon. À mettre en place une fois, sur votre serveur, en root. Remplacez l’adresse sftp: par la vôtre (un chemin local comme /mnt/your-disk/neverwiped-copy fonctionne aussi) :
C=/etc/neverwiped/config.json
URL=$(sed -n 's/.*"repo_url": "\([^"]*\)".*/\1/p' "$C")
USR=$(sed -n 's/.*"repo_user": "\([^"]*\)".*/\1/p' "$C")
PW=$(sed -n 's/.*"repo_password": "\([^"]*\)".*/\1/p' "$C")
RESTIC=/var/lib/neverwiped/bin/restic-0.18.1
export RESTIC_FROM_REPOSITORY="${URL%%://*}://$USR:$PW@${URL#*://}"
export RESTIC_FROM_PASSWORD_FILE=/etc/neverwiped/repo.key
export RESTIC_REPOSITORY='sftp:YOU@YOUR-MACHINE:/srv/neverwiped-copy'
export RESTIC_PASSWORD_FILE=/etc/neverwiped/repo.key
$RESTIC init --copy-chunker-params
umask 077
cat > /root/recovery.key
$RESTIC key add --new-password-file /root/recovery.key
rm -f /root/recovery.key
init --copy-chunker-params fait dédupliquer la copie comme l’original : les copies suivantes n’envoient que ce qui a changé. Après cat > /root/recovery.key, collez votre clé de récupération, appuyez sur Entrée puis Ctrl-D : key add permet à votre clé de récupération d’ouvrir aussi la copie, qui reste lisible si le serveur et son repo.key disparaissent.
Ensuite, chaque fois que vous voulez mettre la copie à jour (à la main, ou depuis la crontab de root avec les mêmes lignes export dans un script lisible par root seul) :
$RESTIC copy
$RESTIC snapshots
copy n’ajoute que les instantanés que la copie n’a pas encore. Il ne supprime jamais rien, ni dans notre stockage ni dans le vôtre ; pour alléger votre copie, faites-y le tri vous-même avec forget de restic et ses options --keep-…. La première copie lit et envoie tout votre dépôt ; les suivantes, seulement le nouveau.
Les deux disparus : le serveur et NeverWiped
Avec votre propre copie et votre clé de récupération, sur n’importe quelle machine Linux :
umask 077
cat > /root/recovery.key
export RESTIC_REPOSITORY='sftp:YOU@YOUR-MACHINE:/srv/neverwiped-copy'
export RESTIC_PASSWORD_FILE=/root/recovery.key
restic snapshots
restic restore latest --target /root/restore
rm -f /root/recovery.key
(Installez d’abord restic 0.18.1 et vérifiez son empreinte, comme dans le guide de restauration.) Puis remettez en place ce qu’il vous faut comme à l’étape 4 du guide : vos dossiers de données et d’applications, et les fichiers de configuration de vos logiciels un par un, pas tout /etc.
Faites le test aujourd’hui
Une fois, pendant que tout fonctionne, puis à chaque changement de serveur :
- Sur votre serveur, lancez les lignes de restic seul avec
$RESTIC snapshots: la liste doit correspondre àneverwiped list. - Vérifiez que la clé de récupération, et l’identifiant de stockage si vous avez choisi de le garder, sont dans votre gestionnaire de mots de passe.
- Si vous gardez votre propre copie, ouvrez-la avec la clé de récupération seule, comme dans les deux disparus, et restaurez-en un fichier.
Ce que cette page ne promet pas
- Si notre stockage cesse de répondre et que vous n’avez aucune copie à vous, restic ne peut pas lire ce qui n’est pas joignable. Vos clés seules ne sont pas vos données.
- Si vous perdez le serveur et la clé de récupération, personne ne peut lire les sauvegardes, nous compris. Voir chiffrement.
- Quand vous résiliez, ou qu’un abonnement impayé va à son terme, les sauvegardes sont supprimées aux dates de stockage, conservation et nettoyage. Faites votre copie avant.