| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| serveurs:installation:bkp-srv:install-borg [2026/09/18 07:10] – [Accéder à Borg sans activer l'environnement virtuel] jpmilcent | serveurs:installation:bkp-srv:install-borg [2026/09/18 07:12] (Version actuelle) – [Préparer la connexion SSH] jpmilcent |
|---|
| * Tester avec la version de Borg : ''%% borg --version %%'' | * Tester avec la version de Borg : ''%% borg --version %%'' |
| ==== Mettre jour Borg ==== | ==== Mettre jour Borg ==== |
| * En tant que //backups//, activer l'environnement : '' source borg-env/bin/activate '' | * En tant que //backups//, activer l'environnement : ''%% source borg-env/bin/activate %%'' |
| * Pour mettre à jour Borg : | * Pour mettre à jour Borg : |
| * Debian 11 avec pyfuse3 : '' pip install -U borgbackup[pyfuse3] '' | * Debian 11 avec pyfuse3 : ''%% pip install -U borgbackup[pyfuse3] %%'' |
| * Debian 10 avec llfuse : '' pip install -U borgbackup[llfuse] '' | * Debian 10 avec llfuse : ''%% pip install -U borgbackup[llfuse] %%'' |
| |
| |
| Le dépôt Borg étant distant (hébergé sur l'instance "bkp-srv"), il est nécessaire de créer un clé SSH pour l'utilisateur //admin// (qui héberge les containers Docker). | Le dépôt Borg étant distant (hébergé sur l'instance "bkp-srv"), il est nécessaire de créer un clé SSH pour l'utilisateur //admin// (qui héberge les containers Docker). |
| La clé publique générée sera ensuite copier ans le fichier //~/.ssh/authorized_keys// de l'utilisateur //backups// de l'instance "//bkp-srv//" afin d'autoriser l'accès au dépôt depuis l'instance à sauvegarder. | La clé publique générée sera ensuite copier ans le fichier //~/.ssh/authorized_keys// de l'utilisateur //backups// de l'instance "//bkp-srv//" afin d'autoriser l'accès au dépôt depuis l'instance à sauvegarder. |
| * Se connecter à l'instance concernée : '' ssh admin@<instance>-<region>-sinp '' | * Se connecter à l'instance concernée : ''%% ssh admin@<instance>-<region>-sinp %%'' |
| * Générer une clé SSH : '' ssh-keygen '' | * Générer une clé SSH : ''%% ssh-keygen %%'' |
| * Accepter l'emplacement de stockage de la clef par défaut | * Accepter l'emplacement de stockage de la clef par défaut |
| * Laisser une phrase de passe vide pour faciliter l'automatisation des sauvegardes | * Laisser une phrase de passe vide pour faciliter l'automatisation des sauvegardes |
| * Copier la clé publique sur le serveur "bkp-srv" dans le fichier //authorized_keys// de l'utilisateur //backups// afin de permettre une connexion SSH sans demande de mot de passe . L'utilisateur //backups// n'ayant pas de mot de passe, il faut passer par l'utilisateur //geonat// : | * Copier la clé publique sur le serveur "bkp-srv" dans le fichier //authorized_keys// de l'utilisateur //backups// afin de permettre une connexion SSH sans demande de mot de passe . L'utilisateur //backups// n'ayant pas de mot de passe, il faut passer par l'utilisateur //geonat// : |
| * Copier de la clé publique : '' scp -P <port-ssh-bkp-srv> ~/.ssh/id_rsa.pub geonat@bkp-<region>-sinp:~/.ssh/id_rsa.<instance>-srv.pub '' | * Copier de la clé publique : ''%% scp -P <port-ssh-bkp-srv> ~/.ssh/id_rsa.pub geonat@bkp-<region>-sinp:~/.ssh/id_rsa.<instance>-srv.pub %%'' |
| * Se connecter au serveur "bkp-srv" avec l'utilisateur //admin// : '' ssh admin@bkp-<region>-sinp '' | * Se connecter au serveur "bkp-srv" avec l'utilisateur //admin// : ''%% ssh admin@bkp-<region>-sinp %%'' |
| * Passer en root : '' sudo -i '' | * Passer en root : ''%% sudo -i %%'' |
| * Ajouter la clé publique de l'instance à sauvegarder au fichier ///home/backups/.ssh/authorized_keys// de l'utilisateur //backups// : ''<nowiki> cat /home/geonat/.ssh/id_rsa.<instance>-srv.pub >> /home/backups/.ssh/authorized_keys </nowiki>'' | * Ajouter la clé publique de l'instance à sauvegarder au fichier ///home/backups/.ssh/authorized_keys// de l'utilisateur //backups// : ''%% cat /home/geonat/.ssh/id_rsa.<instance>-srv.pub >> /home/backups/.ssh/authorized_keys %%'' |
| * Tester la connexion SSH depuis un shell de l'utilisateur //admin// de l'instance à sauvegarder, aucun mot de passe ne doit être demandé : '' ssh -p <port-ssh-bkp-srv> backups@bkp-<region>-sinp '' | * Tester la connexion SSH depuis un shell de l'utilisateur //admin// de l'instance à sauvegarder, aucun mot de passe ne doit être demandé : ''%% ssh -p <port-ssh-bkp-srv> backups@bkp-<region>-sinp %%'' |
| * Si la tentative de connexion s'est déroulé sans demande de mot de passe et avec succès, supprimer le fichier de la clé public de l'instance : ''%%rm -f /home/geonat/.ssh/id_rsa.<instance>-srv.pub%%'' | * Si la tentative de connexion s'est déroulé sans demande de mot de passe et avec succès, supprimer le fichier de la clé public de l'instance : ''%% rm -f /home/geonat/.ssh/id_rsa.<instance>-srv.pub %%'' |
| * Sur l'instance à sauvegarder et pour l'utilisateur admin, créer un fichier config qui contiendra un paramètre maintenant la connexion SSH : '' touch ~/.ssh/config; chmod 644 ~/.ssh/config ; vi ~/.ssh/config '' | * Sur l'instance à sauvegarder et pour l'utilisateur admin, créer un fichier config qui contiendra un paramètre maintenant la connexion SSH : ''%% touch ~/.ssh/config; chmod 644 ~/.ssh/config ; vi ~/.ssh/config %%'' |
| * Y ajouter le contenu suivant : <code properties> | * Y ajouter le contenu suivant : <code properties> |
| Host * | Host * |
| ServerAliveInterval 240 | ServerAliveInterval 240 |
| </code> | </code> |
| * Tester à nouveau la connexion SSH depuis un shell de l'utilisateur //admin// de l'instance à sauvegarder, aucun mot de passe ne doit être demandé : '' ssh -p <port-ssh-bkp-srv> backups@bkp-<region>-sinp '' | * Tester à nouveau la connexion SSH depuis un shell de l'utilisateur //admin// de l'instance à sauvegarder, aucun mot de passe ne doit être demandé : ''%% ssh -p <port-ssh-bkp-srv> backups@bkp-<region>-sinp %%'' |
| * Créer le dossier qui contiendra les informations //SSH// utilisées par le docker //Borgmatic// : '' mkdir -p ~/docker/borgmatic/data/.ssh '' | * Créer le dossier qui contiendra les informations //SSH// utilisées par le docker //Borgmatic// : ''%% mkdir -p ~/docker/borgmatic/data/.ssh %%'' |
| * Copier le dossier //~/.ssh// de l'utilisateur //admin// dans le dossier //data// de Borgmatic : '' sudo cp -r ~/.ssh/ ~/docker/borgmatic/data/ '' | * Copier le dossier //~/.ssh// de l'utilisateur //admin// dans le dossier //data// de Borgmatic : ''%% sudo cp -r ~/.ssh/ ~/docker/borgmatic/data/ %%'' |
| * l'associer à l'utilisateur //root// car c'est l'utilisateur //root// qui l'utilisera dans le container : '' sudo chown root: -R ~/docker/borgmatic/data/.ssh '' | * l'associer à l'utilisateur //root// car c'est l'utilisateur //root// qui l'utilisera dans le container : ''%% sudo chown root: -R ~/docker/borgmatic/data/.ssh %%'' |
| * **ATTENTION** : Le docker //Borgmatic// se connectera à l'instance "//bkp-srv//" avec les infos contenues dans le dossier ''~/docker/borgmatic/data/.ssh''. | * **ATTENTION** : Le docker //Borgmatic// se connectera à l'instance "//bkp-srv//" avec les infos contenues dans le dossier ''%% ~/docker/borgmatic/data/.ssh %%''. |
| | |
| ==== Installer le container de sauvegarde ==== | ==== Installer le container de sauvegarde ==== |