backup
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| backup [2020/05/15 01:26] – jocelynd | backup [2021/04/08 19:51] (Version actuelle) – gde | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | < | ||
| - | # Sauvegardes | ||
| - | ## Mise en place | + | ====== Sauvegardes ====== |
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Mise en place ===== | ||
| + | |||
| + | |||
| + | ==== Intro ==== | ||
| - | ### Intro | ||
| Les backups sont effectués à l'aide de [borgbackup](https:// | Les backups sont effectués à l'aide de [borgbackup](https:// | ||
| Ligne 11: | Ligne 18: | ||
| Les secrets sont stockés dans un trousseau Keyringer. Comme le niveau des prérequis à l' | Les secrets sont stockés dans un trousseau Keyringer. Comme le niveau des prérequis à l' | ||
| - | ```bash | + | < |
| # dans le dépot adminsys: | # dans le dépot adminsys: | ||
| python3 verification.py | python3 verification.py | ||
| - | ``` | + | </ |
| Il est important de noter que l' | Il est important de noter que l' | ||
| Ligne 73: | Ligne 80: | ||
| ```bash | ```bash | ||
| - | ansible-playbook --diff -l toto.faimaison.net -t borg playbook-fma.yml | + | ansible-playbook |
| ``` | ``` | ||
| + | |||
| + | Et commiter les fichiers de cléfs: | ||
| + | |||
| + | - Keyringer: `passwords/ | ||
| + | - SSH: `ssh/ | ||
| ### É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 109: | ||
| Il faut avoir accès au serveur de sauvegarde visé pour pouvoir effectuer cette étape… Ou bien la faire faire par quelqu' | Il faut avoir accès au serveur de sauvegarde visé pour pouvoir effectuer cette étape… Ou bien la faire faire par quelqu' | ||
| </ | </ | ||
| + | |||
| + | <WRAP center round tip 60%> | ||
| + | Si avertissement car catalogue apt périmé sur le serveur de sauvegarde, '' | ||
| + | |||
| + | Solution long terme : mettre à niveau carlota :-p. | ||
| + | |||
| + | --- //Jocelyn 2020/10/06 00:25// | ||
| + | </ | ||
| + | |||
| + | |||
| < | < | ||
| ```bash | ```bash | ||
| - | ansible-playbook --diff -l backup_servers | + | ansible-playbook --diff |
| ``` | ``` | ||
| ## Procédures manuelles | ## Procédures manuelles | ||
| - | Ces trois procédures nécessitent que les sauevgardes | + | Ces procédures nécessitent que les sauvegardes |
| + | ### PROCÉDURE : Récupérer d'une sauvegarde plantée (lock) | ||
| - | ### Créer une sauvegarde manuellement | + | </ |
| - | Avant certaines opérations délicates, on peut souhaiter réaliser une sauvegarde manuelle. | + | <WRAP center round tip 60%> |
| + | On prend ici l' | ||
| + | </ | ||
| - | 1. se connecter sur la machine à sauvegarder | + | <markdown> |
| - | 2. passer root `sudo su` | + | |
| - | 3. Exécuter le script de sauvegarde `/opt/<machine_source>_< | + | |
| - | ### 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: |
| - | ### Récupérer | + | Cela veut dire qu'une sauvegarde |
| - | (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' |
| + | ``` | ||
| + | user@bambelle $ sudo / | ||
| + | [borg@carlota.faimaison.net: | ||
| + | ``` | ||
| + | On vérifie ensuite qu'on est bien bloqué par le lock | ||
| + | ``` | ||
| + | [borg@carlota.faimaison.net: | ||
| + | [… snip : l' | ||
| + | Remote: borg.locking.LockTimeout: | ||
| + | […] | ||
| + | ``` | ||
| + | |||
| + | Il a pas l'air content ! À condition qu' | ||
| + | ``` | ||
| + | [borg@carlota.faimaison.net: | ||
| + | ``` | ||
| + | |||
| + | Puis on vérifie que ça va mieux : | ||
| + | |||
| + | ``` | ||
| + | [borg@carlota.faimaison.net: | ||
| + | bambelle-2020-05-17-02-00 | ||
| + | bambelle-2020-05-24-02-00 | ||
| + | bambelle-2020-05-31-02-00 | ||
| + | bambelle-2020-06-07-02-00 | ||
| + | bambelle-2020-06-08-02-00 | ||
| + | bambelle-2020-06-09-02-00 | ||
| + | bambelle-2020-06-10-02-00 | ||
| + | bambelle-2020-06-11-02-00 | ||
| + | bambelle-2020-06-12-02-00 | ||
| + | bambelle-2020-06-13-02-00 | ||
| + | bambelle-2020-06-14-02-00 | ||
| + | ``` | ||
| + | |||
| + | La prochaine sauvegarde devrait pouvoir 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 `/ | ||
| + | |||
| + | ### PROCÉDURE : | ||
| </ | </ | ||
| + | <WRAP center round important 60%> | ||
| + | Cette procédure restaure l' | ||
| + | </ | ||
| + | < | ||
| - | ====== 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' | ||
| + | 4. lister les sauvegardes disponibles : | ||
| + | ``` | ||
| + | [borg@carlota.faimaison.net: | ||
| + | bambelle-2020-05-17-02-00 | ||
| + | bambelle-2020-05-24-02-00 | ||
| + | bambelle-2020-05-31-02-00 | ||
| + | bambelle-2020-06-07-02-00 | ||
| + | bambelle-2020-06-10-02-00 | ||
| + | bambelle-2020-06-11-02-00 | ||
| + | bambelle-2020-06-12-02-00 | ||
| + | bambelle-2020-06-13-02-00 | ||
| + | bambelle-2020-06-14-02-00 | ||
| + | bambelle-2020-10-04-02-00 | ||
| + | bambelle-2020-10-05-02-00 | ||
| + | ``` | ||
| + | Repérer le nom de l' | ||
| + | 5. Repasser root (en conservant les variables d' | ||
| + | ``` | ||
| + | [borg@carlota.faimaison.net: | ||
| + | ``` | ||
| + | 6. Se rendre à la racine (sinon on va restaurer notre sauvegarde dans un sous-dossier) | ||
| + | ``` | ||
| + | root@bambelle # cd / | ||
| + | ``` | ||
| + | 7. Lancer la restauration de l' | ||
| + | ``` | ||
| + | root@bambelle # borg extract $REPOSITORY:: | ||
| + | ``` | ||
| - | ===== 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 : /// | ||
| - | Le principe consiste à faire un backup du maximum de choses (bdd, site, configuration) et les déposer sur // / | + | ### PROCÉDURE : Récupérer une sauvegarde depuis une autre machine |
| - | Ensuite, moyennant l' | + | 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' | + | Le dépôt (repository) |
| - | * 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/ |
| - | 4U / 48Go de RAM / 35 Go de disques | + | 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/ | ||
| + | ``` | ||
| + | 3. Lister les archives contenues dans le dépôt : | ||
| + | ``` | ||
| + | $ borg list ~/ | ||
| + | bambelle-2020-05-17-02-00 | ||
| + | bambelle-2020-05-24-02-00 | ||
| + | bambelle-2020-05-31-02-00 | ||
| + | bambelle-2020-06-07-02-00 | ||
| + | bambelle-2020-06-10-02-00 | ||
| + | bambelle-2020-06-11-02-00 | ||
| + | bambelle-2020-06-12-02-00 | ||
| + | bambelle-2020-06-13-02-00 | ||
| + | bambelle-2020-06-14-02-00 | ||
| + | bambelle-2020-10-04-02-00 | ||
| + | bambelle-2020-10-05-02-00 | ||
| + | ``` | ||
| - | 2 approches | + | 4. Créer un dossier pour extraire l' |
| - | * local avec [Borg[https: | + | ``` |
| - | * 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 | ||
| + | ``` | ||
| + | </ | ||
| - | Lien vers la solution de backup | + | <WRAP center round tip 60%> |
| + | Il est aussi possible d' | ||
| + | </ | ||
backup.1589505962.txt.gz · Dernière modification : 2020/05/15 01:26 de jocelynd
