;
Avr
1
2018

Backup avec Borg via ssh(fs) sur Synology

Tant qu'à faire un peu de ménage sur notre dédié, je me suis décidé à changer de mode de backup en passant à Borg.

Le postulat

  •  Utiliser Borg (avec l'encyrption + passphrase)
  • Faire des backups de chaque VM (hebergé dans XEN) quotidiennement
  • Garder une rétention correct (7 journalières; 4 hebdomadaires; 6 mensuelles)
  • Tout envoyer sur un NAS Synology (en utilisant SSHFS)

Les prérequis

  • NAS Synology, SSH + SFTP d'activé/configuré
  • un script ssh pour envoyer l'IP public vers le dédié (pas nécéssaire si IP fixe)
  • borgbackup & sshfs d'installé sur les clients

Dans mon cas, j'utilise un script sur mon synology qui récupère son IP public et qui l'envoie dans un fichier "ip_syn" sur le serveur m0le periodiquement

Les tâches

  1. Créer un utilisateur "backup" sur le synology avec SSH + SFTP + SSH key
  2. Configurer sshfs avec une clé SSH sur le client
  3. Installer, initialiser et tester le repo Borg
  4. Automatiser le tout avec un script

Création de l'utilisateur backup

Tout se passe depuis l'interface web, il faut s'assurer que l'utilisateur a le droit dans un dossier, disons /Backup (monté dans /volume1/Backup/)

Pour que la connexion par clé ssh fonctionne, il faut :

  1. Que l'utilisateur fasse partie du groupe administrators pour avoir accès au login SSH
  2. Activer le "User Home" Service dans Users > Advanced. Cela permet d'avoir un "vrai" répertoire pour l'utilisateur et pouvoir stocker les clés SSH de l'utilisateur (dans /var/services/homes/<user>/.ssh/authorized_keys
  3. Avoir les bons paramètres de sécurités/accès dans le dossier .ssh et autoriser la connexion par clé

On peut s'en sortir en exécutant ces commandes :

Il faut également s'assurer que ces deux lignes soit décommenté dans /etc/ssh/sshd_config:

Installation de la clé ssh + sshfs + borg

Pour installer les dépendances sous Debian:

On passe à la génération de la clé ssh + l'envoi sur le synology

On teste l'existence d'un dossier "Backup" accessible sur le synology

On crée enfin le répertoire local pour monter le répertoire Backup avec sshfs

Installation et initialisation de BorgBackup

On va dabord créer un repo qui va héberger nos "archives".

(les archives stockeront nos fichiers, le repo est l'endroit ou seront inventorier ces archives)

Faire des tests et les supprimer

Script d'automatisation

Si tout va bien jusqu'ici, c'est qu'on a de quoi créer des archives Borg (manuellement pour l'instant), sur un repertoire de notre synology via sshfs.

Plutôt pas mal, on va donc automatiser ça ! Voilà ce que le script (cf source) fait :

  1. Il monte le répertoire sshfs
  2. Il crée un backup avec le nom de la machine + date courante
  3. Il effectue le nettoyage des archives si besoin (rétention)
  4. Il démonte le répertoire de backup

Évidemment, il faudra faire vos modifs comme celles que j'ai apportées par rapport à la source (cf les paramètres au debut)

Il ne reste plus qu'à exécuter le script, vérifier l'archive et son contenu et enfin rajouter un petit cron qui va bien 😉

Source

sshfs/ssh key sur Synology
Borg backup commands + script

Related Posts

Nono

A propos de l'auteur: Nono

1 Comment + Add Comment

Leave a comment