Outils pour utilisateurs

Outils du site


informatique:yunohost:sauvegarder_yunohost

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
informatique:yunohost:sauvegarder_yunohost [2020/08/12 20:49] simoninformatique:yunohost:sauvegarder_yunohost [2022/09/12 09:32] (Version actuelle) – [Problèmes rencontrés] simon
Ligne 12: Ligne 12:
  
 ==== Installation de Borg Backup App ==== ==== Installation de Borg Backup App ====
-J'installe sur mon serveur [[informatique:vps:quercus]] l'application cliente, [[https://yunohost.org/#/app_borg|Borg Backup App]].+J'installe l'application cliente, [[https://yunohost.org/#/app_borg|Borg Backup App]], sur [[informatique:vps:quercus]].
  
 J'ai besoin :  J'ai besoin : 
Ligne 39: Ligne 39:
 Cette clé est également envoyée par mail à l'administrateur du serveur. Cette clé est également envoyée par mail à l'administrateur du serveur.
 ==== Installation de Borg Server ==== ==== Installation de Borg Server ====
-Une fois la partie cliente installée, passons à l'installation de la partie serveur, l'application [[https://yunohost.org/#/app_borgserver|Borg Server]].+Une fois la partie cliente installée, passons à l'installation de la partie serveur, l'application [[https://yunohost.org/#/app_borgserver|Borg Server]], sur [[informatique:vps:fagus]].
  
 Il faudra configurer :  Il faudra configurer : 
Ligne 48: Ligne 48:
  
 {{ :informatique:yunohost:screenshot_2020-08-12_yunohost_admin_1_.png?400 |}} {{ :informatique:yunohost:screenshot_2020-08-12_yunohost_admin_1_.png?400 |}}
 +
 +L'application crée un utilisateur et place la clé ssh publique dans authorized_keys, avec une limitation sur la commande pouvant être utilisée :
 +
 +<code bash>
 +root@fagus:/home# cat /home/quercus/.ssh/authorized_keys 
 +command="borg serve --storage-quota 500G --restrict-to-repository /home/quercus/backup",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc ssh-ed25519 AAAA(...)
 +</code>
 +
 +==== Lancer manuellement le backup ====
 +Sur le serveur à sauvegarder, où on a installé l'application [[https://yunohost.org/#/app_borg|Borg Backup App]], on peut manuellement lancer une sauvegarde en démarrant le service :
 +<code bash>
 +# systemctl start borg
 +</code>
 +
 +Pour vérifier que tout fonctionne bien : 
 +
 +  * Vérifier sur un dossier "/home/quercus/backup/" a bien été créé sur Fagus.
 +  * Utiliser les commandes borgs pour vérfier : 
 +
 +<code bash>
 +root@fagus:~# borg list /home/quercus/backup/
 +Enter passphrase for key /home/quercus/backup: 
 +auto_conf_16_08_20_15:36             Sun, 2020-08-16 15:36:46 [dca3fdacfe470ef02a1a8b878944ab9fedb0468f4823891d8c0e2419701b2d32]
 +auto_data_16_08_20_15:36             Sun, 2020-08-16 15:37:04 [8992608fb919d66a54f1c0412a8a88b471cda229a66f154dc4fc945076f8d8ff]
 +auto_borg_16_08_20_15:38             Sun, 2020-08-16 15:38:29 [38b1f269210021a671be08e86a85a120b3664a321892d11caad555cab6d23e53]
 +auto_borgserver_16_08_20_15:38       Sun, 2020-08-16 15:38:43 [7101a5803175dc31d4f54c33b4ecab95d225532faa0240fd84d492b265c05ac5]
 +auto_dokuwiki_16_08_20_15:38         Sun, 2020-08-16 15:39:04 [dbaf920f37f399b5186194a1d93973771e15e10d47da352514ddcf895664cc07]
 +auto_my_webapp_16_08_20_15:44        Sun, 2020-08-16 15:44:30 [3aa0379bcf79a43d22bed9d770c8192afbd859306ddc864fc903759371ada9bb]
 +auto_redirect_16_08_20_15:44         Sun, 2020-08-16 15:44:49 [992fc9016a91b54b82f46e65aeb95e203099703634211ff16e0e7841854f9161]
 +auto_shaarli_16_08_20_15:45          Sun, 2020-08-16 15:45:10 [8fe1ceed03878c1305c87ea9f7e3630e826a487580538fc190a1e17d9e318ddf]
 +
 +root@fagus:~# borg info /home/quercus/backup/
 +Enter passphrase for key /home/quercus/backup: 
 +Repository ID: 8fdd120542cee6ae4dd6d1694e73175e978977b523ed83188c9da91ccc12b0ec
 +Location: /home/quercus/backup
 +Encrypted: Yes (repokey)
 +Cache: /root/.cache/borg/8fdd120542cee6ae4dd6d1694e73175e978977b523ed83188c9da91ccc12b0ec
 +Security dir: /root/.config/borg/security/8fdd120542cee6ae4dd6d1694e73175e978977b523ed83188c9da91ccc12b0ec
 +------------------------------------------------------------------------------
 +                       Original size      Compressed size    Deduplicated size
 +All archives:                2.71 GB              2.65 GB              2.32 GB
 +
 +                       Unique chunks         Total chunks
 +Chunk index:                   18749                25990
 +</code>
 +==== En cas de problème ====
 +
 +Quelques pistes si ça ne fonctionne pas : 
 +
 +  * Vérifier les logs
 +
 +<code bash>
 +admin@quercus:~$ ls -al /var/log/backup*
 +-rw-r--r-- 1 root root 18317 Aug 13 00:01 /var/log/backup_borg.err
 +-rw-r--r-- 1 root root     0 Aug 12 20:53 /var/log/backup_borg.log
 +</code>
 +
 +Depuis la mi-mai 2021 et la version "1.1.16~ynh20", les logs sont dans un sous-dossier : 
 +<code bash>
 +root@artanux:/home/admin# ls -al /var/log/borg/
 +total 228
 +drwxr-xr-x  2 borg borg  4096 May 24 09:49 .
 +drwxr-xr-x 25 root root 12288 May 24 00:00 ..
 +-rw-r--r--  1 root root 13517 May 15 00:06 210515_0000.err
 +-rw-r--r--  1 root root  7326 May 15 00:06 210515_0000.log
 +(...)
 +</code>
 +
 +  * Vérifier les erreurs données au lancement du service 
 +
 +<code bash>
 +# systemctl status --lines 100 borg 
 +● borg.service - Run backup borg
 +   Loaded: loaded (/etc/systemd/system/borg.service; enabled; vendor preset: enabled)
 +   Active: failed (Result: exit-code) since Thu 2020-08-13 00:01:16 UTC; 9h ago
 + Main PID: 31654 (code=exited, status=1/FAILURE)
 +
 +Aug 13 00:00:03 quercus systemd[1]: Starting Run backup borg...
 +Aug 13 00:00:05 quercus backup-with-borg[31654]: ls: cannot access '/etc/yunohost/hooks.d/backup/':
 +Aug 13 00:00:07 quercus slapcat[31880]: DIGEST-MD5 common mech free
 +</code>
 +
 +  * Vérifier qu'on a pas fait d'erreur dans les clés SSH (mauvais copier/coller, etc...)
 +
 +===== Problèmes rencontrés =====
 +=== Problèmes de clés SSH ===
 +Comme je sauvegarde Fagus sur Quercus et inversement, je me suis un peu emmêlé avec les clés SSH... Il faut penser à vérifier que la clé publique du client corresponde à ce qui est dans authorized_keys sur le serveur :
 +
 +<code bash>
 +root@quercus:~# ls -al /root/.ssh/
 +total 20
 +drwx------ 2 root root 4096 Aug 12 20:53 .
 +drwx------ 5 root root 4096 Aug 14 07:40 ..
 +-rw------- 1 root root    0 Aug  8 09:15 authorized_keys
 +-rw------- 1 root root  411 Aug 12 19:37 id_borg_ed25519
 +-rw-r--r-- 1 root root  101 Aug 12 19:37 id_borg_ed25519.pub
 +-rw-r--r-- 1 root root  444 Aug 12 20:53 known_hosts
 +</code>
 +
 +<code bash>
 +root@fagus:~# ls -al /home/quercus/.ssh/authorized_keys 
 +-rw-r--r-- 1 root root 264 Aug 12 21:12 /home/quercus/.ssh/authorized_keys
 +</code>
 +
 +=== Problèmes pour lancer borg sur le serveur ===
 +<code bash>
 +root@fagus:~# tail -f -n 20 /var/log/backup_borg.err
 +Remote: 
 +Remote: 
 +Remote:   Server : 465812
 +Remote:   IPv4 : WW.XX.YY.ZZ
 +Remote:   IPv6 : WWWW:XXXX:YYYY:ZZZZ
 +Remote:   Hostname : machin.com
 +Remote: 
 +Remote: bash: /usr/local/bin/borg: Permission denied
 +Connection closed by remote host. Is borg working on the server?
 +</code>
 +
 +Borg ne peut pas être lancé par l'utilisateur ''quercus'' sur le serveur ''fagus''.
 +
 +<code bash>
 +root@fagus:~# sudo -u quercus borg --help
 +sudo: unable to execute /usr/local/bin/borg: Permission denied
 +</code>
 +
 +La solution consiste à vérifier les droits pour lancer Borg sur le serveur ''fagus''
 +<code bash>
 +root@fagus:~# ls -al /usr/local/bin/borg 
 +-rwxr--r-- 1 root staff 69 Aug 10 14:03 /usr/local/bin/borg
 +
 +root@fagus:~# chmod 755 /usr/local/bin/borg 
 +</code>
 +
 +Une fois les droits réglés, ça marche correctement!
 +
 +=== Problème de passphrase incomplète ===
 +
 +Ma passphrase, générée automatiquement par [[:bitwarden]], contenait "$texte*", qui a été interprété comme une variable vide. Un bout de la passphrase a donc disparu.
 +
 +J'ai ajouté mon expérience sur cette [[https://github.com/YunoHost-Apps/borg_ynh/issues/49|issue Github]]. 
 +
 +Le problème se situe dans le fichier suivant :
 +<code bash>
 +# cat /etc/yunohost/hooks.d/backup_method/05-borg_app
 +(...)
 +BORG_PASSPHRASE="RGjauGbbg6d$jj77g*piabfbfGedE"
 +(...)
 +</code>
 +(La passphrase a été changée évidemment!)
 +
 +La passphrase utilisée réellement pour chiffrer le backup, dans ce cas-ci : ''RGjauGbbg6d*piabfbfGedE''
 +
 +=== Changement de port SSH ===
 +
 +Je recevais pas mal d'alertes de fail2ban à propos de tentative pour se connecter à SSH depuis le port standard. J'ai donc changé le port SSH sur mes serveurs (en changeant dans le fichier ''/etc/ssh/sshd_config'').
 +
 +Évidemment, ça pète la configuration Borg et celui-ci n'arrive plus à se connecter au serveur distant.
 +
 +Il y a deux lignes à changer dans le fichier ''''
 +<code bash>
 +# cat /etc/yunohost/hooks.d/backup_method/05-borg_app | grep ssh
 +if ssh-keygen -F "monserveur.com" >/dev/null ; then
 +    BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes "
 +    BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=no "
 +</code>
 +
 +Il faut ajouter l'information pour qu'il utilise le bon port : 
 +<code bash>
 +# vim /etc/yunohost/hooks.d/backup_method/05-borg_app
 +    BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -p 1234 -oStrictHostKeyChecking=yes "
 +    BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -p 1234 -oStrictHostKeyChecking=no "
 +</code>
 +(''1234'' est un exemple de port, ce n'est pas celui que j'utilise.)
 +
 +Il faut que je remonte ce bug sur le github du projet.
informatique/yunohost/sauvegarder_yunohost.1597265355.txt.gz · Dernière modification : 2020/08/12 20:49 de simon