Outils pour utilisateurs

Outils du site


backup

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
Dernière révisionLes deux révisions suivantes
backup [2020/05/15 01:26] jocelyndbackup [2021/04/08 18:50] gde
Ligne 2: Ligne 2:
  
 # Sauvegardes # Sauvegardes
 +
 +</markdown>
 +
 +<markdown>
  
 ## Mise en place ## Mise en place
Ligne 73: Ligne 77:
  
 ```bash ```bash
-ansible-playbook --diff -l toto.faimaison.net -t borg playbook-fma.yml+ansible-playbook -K --diff -l toto.faimaison.net -t borg-client playbook-fma.yml
 ``` ```
 +
 +Et commiter les fichiers de cléfs:
 +
 +- Keyringer: `passwords/machines/keys/noyau/<MACHINE>/borg`
 +- SSH: `ssh/borg-keys/<MACHINE>.pub`
  
 ### Étape 4: ajouter aux serveurs de sauvegarde la nouvelle machine à sauvegarder ### Étape 4: ajouter aux serveurs de sauvegarde la nouvelle machine à sauvegarder
Ligne 97: Ligne 106:
 Il faut avoir accès au serveur de sauvegarde visé pour pouvoir effectuer cette étape… Ou bien la faire faire par quelqu'un qui y a accès. Il faut avoir accès au serveur de sauvegarde visé pour pouvoir effectuer cette étape… Ou bien la faire faire par quelqu'un qui y a accès.
 </WRAP> </WRAP>
 +
 +<WRAP center round tip 60%>
 +Si avertissement car catalogue apt périmé sur le serveur de sauvegarde, ''sudo apt update -o Acquire::Check-Valid-Until=false'' sur ce dernier.
 +
 +Solution long terme : mettre à niveau carlota :-p.
 +
 + --- //Jocelyn 2020/10/06 00:25//
 +</WRAP>
 +
 +
  
 <markdown> <markdown>
  
 ```bash ```bash
-ansible-playbook --diff -l backup_servers -t borg playbook-fma.yml+ansible-playbook --diff -K -l borg_servers -t borg-server playbook-fma.yml
 ``` ```
  
 ## Procédures manuelles ## Procédures manuelles
  
-Ces trois procédures nécessitent que les sauevgardes aient été configurées conformément aux sections précédentes, et les infos bien commitées dans le dépôt adminsys.+Ces procédures nécessitent que les sauvegardes aient été configurées conformément aux sections précédentes, et les infos bien commitées dans le dépôt adminsys.
  
 +### PROCÉDURE : Récupérer d'une sauvegarde plantée (lock)
  
-### Créer une sauvegarde manuellement+</markdown>
  
-Avant certaines opérations délicateson peut souhaiter réaliser une sauvegarde manuelle.+<WRAP center round tip 60%> 
 +On prend ici l'exemple de la machine //bambelle.faimaison.net//qui pousserait ses sauvegardes sur la machine //carlota.faimaison.net//Il faudra adapter les noms de fichiers au cas réel… 
 +</WRAP>
  
-1. se connecter sur la machine à sauvegarder +<markdown>
-2. passer root `sudo su` +
-3. Exécuter le script de sauvegarde `/opt/<machine_source>_<machine_cible>.sh`+
  
-### Récupérer une sauvegarde depuis la machine concernée+On peut avoir ce genre de message remonté par cron dans un mail par exemple :
  
-TODO+> Remote: borg.locking.LockTimeout: /var/borg-backups/repos/bambelle/lock
  
-### Récupérer une sauvegarde depuis une autre machine+Cela veut dire qu'une sauvegarde a crashée, et par prudence un « lock » est laissé… Et empêche toute sauvegarde ultérieure. À moins qu'un processus borg soit toujours en cours d'exécution (`sudo ps aux|grep borg` pour s'en assurer). Il faut « casser » le lock pour que les sauvegardes puissent reprendre :
  
-(si la machine sauvegardée est HS) 
  
-TODO+On commence par ouvrir un « shell borg » avec toutes les variables d'env définies((plus d'infos avec `--help`)).
  
 +```
 +user@bambelle $ sudo /opt/borgbackup-client/carlota.faimaison.net_bambelle.sh -c
 +[borg@carlota.faimaison.net:repos/bambelle /home/jocelynd]$ #
 +```
  
 +On vérifie ensuite qu'on est bien bloqué par le lock 
 +```
 +[borg@carlota.faimaison.net:repos/bambelle /home/jocelynd]$ # borg list $REPOSITORY
 +[… snip : l'erreur est très longue]
 +Remote: borg.locking.LockTimeout: /var/borg-backups/repos/bambelle/lock.exclusive
 +[…]
 +```
 +
 +Il a pas l'air content ! À condition qu'aucun autre process borg ne tourne, on "casse" le lock
 +```
 +[borg@carlota.faimaison.net:repos/bambelle /home/jocelynd]$ # borg break-lock $REPOSITORY
 +```
 +
 +Puis on vérifie que ça va mieux :
 +
 +```
 +[borg@carlota.faimaison.net:repos/bambelle /home/jocelynd]$  # borg list $REPOSITORY
 +bambelle-2020-05-17-02-00            Sun, 2020-05-17 02:00:11
 +bambelle-2020-05-24-02-00            Sun, 2020-05-24 02:00:10
 +bambelle-2020-05-31-02-00            Sun, 2020-05-31 02:00:11
 +bambelle-2020-06-07-02-00            Sun, 2020-06-07 02:00:10
 +bambelle-2020-06-08-02-00            Mon, 2020-06-08 02:00:10
 +bambelle-2020-06-09-02-00            Tue, 2020-06-09 02:00:11
 +bambelle-2020-06-10-02-00            Wed, 2020-06-10 02:00:10
 +bambelle-2020-06-11-02-00            Thu, 2020-06-11 02:00:10
 +bambelle-2020-06-12-02-00            Fri, 2020-06-12 02:00:10
 +bambelle-2020-06-13-02-00            Sat, 2020-06-13 02:00:11
 +bambelle-2020-06-14-02-00            Sun, 2020-06-14 02:00:10
 +```
 +
 +La prochaine sauvegarde devrait pouvoir s'effectuer comme il faut. Si on ne veut pas attendre, on peut aussi créer une sauvegarde manuelle (cf ci-après).
 +
 +### PROCÉDURE : Créer une sauvegarde manuellement
 +
 +Avant certaines opérations délicates, on peut souhaiter réaliser une sauvegarde manuelle.
 +
 +1. se connecter sur la machine à sauvegarder
 +2. passer root `sudo su`
 +3. Exécuter le script de sauvegarde `/opt/borgbackup-client/<machine_source>_<machine_cible>.sh`
 +
 +### PROCÉDURE : Récupérer totalement une sauvegarde depuis la machine concernée
  
 </markdown> </markdown>
 +<WRAP center round important 60%>
 +Cette procédure restaure l'intégralité d'une sauvegarde, en écrasant éventuellement des fichiers en place sur la machine. Pour faire plus fin, regarder la [[https://borgbackup.readthedocs.io/en/stable/usage/extract.html|doc de borg extract]] ou utiliser [[https://borgbackup.readthedocs.io/en/stable/usage/mount.html|borg mount]] qui permet de monter une sauvegarde distante pour l'examiner ou y piocher quelques fichiers.
 +</WRAP>
  
 +<markdown>
  
-====== TOUT CE QUI EST EN DESSOUS DE CE TITRE EST DEPRECIE ======+1. se connecter sur la machine à sauvegarder 
 +2. passer root `sudo su` 
 +3. Ouvrir un « shell borg » avec toutes les variables d'env définies((plus d'infos avec `--help`)): `/opt/borgbackup-client/<machine_source>_<machine_cible>.sh -c` 
 +4. lister les sauvegardes disponibles : 
 +``` 
 +[borg@carlota.faimaison.net:repos/bambelle ]$  # borg list $REPOSITORY 
 +bambelle-2020-05-17-02-00            Sun, 2020-05-17 02:00:11 
 +bambelle-2020-05-24-02-00            Sun, 2020-05-24 02:00:10 
 +bambelle-2020-05-31-02-00            Sun, 2020-05-31 02:00:11 
 +bambelle-2020-06-07-02-00            Sun, 2020-06-07 02:00:10 
 +bambelle-2020-06-10-02-00            Wed, 2020-06-10 02:00:10 
 +bambelle-2020-06-11-02-00            Thu, 2020-06-11 02:00:10 
 +bambelle-2020-06-12-02-00            Fri, 2020-06-12 02:00:10 
 +bambelle-2020-06-13-02-00            Sat, 2020-06-13 02:00:11 
 +bambelle-2020-06-14-02-00            Sun, 2020-06-14 02:00:10 
 +bambelle-2020-10-04-02-00            Sun, 2020-10-04 02:00:09 
 +bambelle-2020-10-05-02-00            Mon, 2020-10-05 02:00:11 
 +``` 
 +Repérer le nom de l'archive qui nous intéresse, par exemple `bambelle-2020-10-05-02-00`. 
 +5. Repasser root (en conservant les variables d'environnement), pour avoir le droit de restaurer la sauvegarde dans le système de fichiers. 
 +``` 
 +[borg@carlota.faimaison.net:repos/bambelle ]$  # su 
 +``` 
 +6. Se rendre à la racine (sinon on va restaurer notre sauvegarde dans un sous-dossier) 
 +``` 
 +root@bambelle # cd / 
 +``` 
 +7. Lancer la restauration de l'archive choisie.
  
 +```
 +root@bambelle # borg extract $REPOSITORY::bambelle-2020-10-05-02-00
 +```
  
-===== trompe-souris =====+Des opérations supplémentaires peuvent ensuite être nécessaire selon le type de fichiers restaurés (ex: restaurer un fichier .sql dans une base).
  
-Les backups sont executé par un simple script bash qui tourne quotidiennement : ///etc/cron.daily/backup// 
  
-Le principe consiste à faire un backup du maximum de choses (bdd, site, configuration) et les déposer sur // /home/faimaison-backup //.+### PROCÉDURE : Récupérer une sauvegarde depuis une autre machine
  
-Ensuite, moyennant l'installation d'une clé ssh, un adminsys peut récupérer le contenu de ce répertoire pour en faire un copie locale en utilisant son application préférée (rdiff-backup, duplicity, script maison, etc.)+On doit récupérer :
  
 +  - le dépôt borg qui contient les sauvegardes de la machine
 +  - la passphrase du dépôt
  
-Pour l'instant est sauvegardé :+Le dépôt (repository) est contenu sur le serveur de sauvegarde ((actuellement, carlota -- //Jocelyn 2020/10/05 23:53//)) dans le répertoire **/var/borg-backups/repos/**.
  
-  * bdd pour le si +On va imaginer qu'on veut récupérer les sauvegardes de la machine bambelle.faimaison.net dans le cas ou celle-ci aurait-été détruite.
-  * conf dns et postfix +
-  * sites du wiki et de l'assos +
-  * la configuration des mailing-list et les archives+
  
-===== Big Backup serveur ===== +1. Récupérer le dossier */var/borg-backups/repos/bambelle*  depuis le serveur de sauvegarde (par ex en demandant gentiment à un·e admin du serveur de sauvegarde). Ici on va considérer qu'on le stocke en local dans *~/repo_bambelle* 
-4U 48Go de RAM 35 Go de disques en RAID6+2. Récupérer la passphrase du dépôt et la stocker dans la variable qui va bien : 
 +``` 
 +BORG_PASSPHRASE=$(keyringer fma-machines decrypt noyau/bambelle.faimaison.net/borg/repository_passphrase.asc) 
 +``` 
 +3. Lister les archives contenues dans le dépôt : 
 +``` 
 +$ borg list ~/repo_bambelle 
 +bambelle-2020-05-17-02-00            Sun, 2020-05-17 02:00:11 
 +bambelle-2020-05-24-02-00            Sun, 2020-05-24 02:00:10 
 +bambelle-2020-05-31-02-00            Sun, 2020-05-31 02:00:11 
 +bambelle-2020-06-07-02-00            Sun, 2020-06-07 02:00:10 
 +bambelle-2020-06-10-02-00            Wed, 2020-06-10 02:00:10 
 +bambelle-2020-06-11-02-00            Thu, 2020-06-11 02:00:10 
 +bambelle-2020-06-12-02-00            Fri, 2020-06-12 02:00:10 
 +bambelle-2020-06-13-02-00            Sat, 2020-06-13 02:00:11 
 +bambelle-2020-06-14-02-00            Sun, 2020-06-14 02:00:10 
 +bambelle-2020-10-04-02-00            Sun, 2020-10-04 02:00:09 
 +bambelle-2020-10-05-02-00            Mon, 2020-10-05 02:00:11 
 +```
  
-2 approches de la sauvegarde: +4. Créer un dossier pour extraire l'archive de ton choix et l'extraire  
-  * local avec [Borg[https://www.borgbackup.org]] 10 Go de RAM 15To (VM "prod" et fichiers) +``` 
-  * en VM, soit 150 VM (à 256 Mo de RAM et 40Go avec une moyenne de 150 Go).+$ mkdir ~/restauration 
 +$ cd ~/restauration 
 +$ borg extract ~/repo_bambelle 
 +```
  
 +</markdown>
  
-Lien vers la solution de backup [[backup:borg|BORG]]+<WRAP center round tip 60%> 
 +Il est aussi possible d'utiliser ''[[https://borgbackup.readthedocs.io/en/stable/usage/mount.html|borg mount]]'' au lieu de ''borg extract'' pour examiner/picorer l'archive plutôt que de l'extraire d'un bloc. 
 +</WRAP>
backup.txt · Dernière modification : 2021/04/08 19:51 de gde