Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
technique:adminsys:backup:autorestic [2022/09/23 10:21] – modification externe 127.0.0.1 | technique:adminsys:backup:install_and_config [2023/06/26 16:15] (Version actuelle) – [Configuration de restic-server] ppom | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | # Configuration | + | # Installation et configuration |
On a déjà des backups des images de machines virtuelles, qui sont [[technique: | On a déjà des backups des images de machines virtuelles, qui sont [[technique: | ||
Ligne 56: | Ligne 56: | ||
``` | ``` | ||
## Installation du service / timer systemd | ## Installation du service / timer systemd | ||
- | |||
- | `/ | ||
- | ```systemd | ||
- | [Unit] | ||
- | Description=Backups yay | ||
- | |||
- | [Service] | ||
- | Type=oneshot | ||
- | ExecStart=/ | ||
- | ``` | ||
- | |||
- | `/ | ||
- | ```systemd | ||
- | [Unit] | ||
- | Description=Backups yay | ||
- | |||
- | [Timer] | ||
- | # Trigger every 10 minutes | ||
- | OnCalendar=*: | ||
- | |||
- | [Install] | ||
- | WantedBy=timers.target | ||
- | ``` | ||
```bash | ```bash | ||
+ | sudo cp -f / | ||
+ | sudo cp -f / | ||
sudo systemctl daemon-reload | sudo systemctl daemon-reload | ||
sudo systemctl enable autorestic.timer | sudo systemctl enable autorestic.timer | ||
sudo systemctl start autorestic.timer | sudo systemctl start autorestic.timer | ||
``` | ``` | ||
+ | ## Configuration de restic-server | ||
- | ## Configuration du user backup | + | Auparavant, nous avions un user `backup` sur le serveur distant, dédié au stockage des backups. Cependant nous avions des problèmes d' |
- | Nous décidons de créer un utilisateur dédié afin d' | + | **TODO finir cette partie** |
- | + | ||
- | Pour créer cet utilisateur nous utilisons le LDAP et créons un utilisateur de le dossier `Services`, ce compte doit être autorisés uniquement sur les machines sur lesquelles seront stockés les backups (pas les hyperviseurs). | + | |
- | + | ||
- | Nous créons une paire de clés SSH pour cet utilisateur dont nous plaçons la clé privée sur le pass et dans le dossier `/ | + | |
- | + | ||
- | Il faut ensuite configurer le serveur ssh de la machine de stockage pour chrooter l' | + | |
- | ``` | + | |
- | Match User backup | + | |
- | ChrootDirectory / | + | |
- | ForceCommand internal-sftp | + | |
- | AllowTCPForwarding no | + | |
- | X11Forwarding no | + | |
- | ``` | + | |
- | On redémarre le serveur | + | - Authentification double HTTPS : certificats client & serveur |
+ | - Authentification supplémentaire via le user restic-server | ||
Enfin nous définissons root et son groupe comme propriétaire de `/ | Enfin nous définissons root et son groupe comme propriétaire de `/ | ||
Ligne 181: | Ligne 149: | ||
< | < | ||
- | ## Troubleshooting | ||
- | |||
- | ### Trop de place prise | ||
- | |||
- | Exemple : le disque de backup explose. | ||
- | |||
- | Étrange : on regarde sur `pica01` au hasard la taille prise par les backups sur le dépôt distant Restic. Pour les données de `pica01`, il se trouve sur `pica03`. | ||
- | |||
- | ```bash | ||
- | $ sudo autorestic -vvv -b pica03 exec stats | ||
- | enter password for repository: | ||
- | repository b0ca7112 opened successfully, | ||
- | scanning... | ||
- | Stats in restore-size mode: | ||
- | Snapshots processed: | ||
- | Total File Count: | ||
- | Total Size: | ||
- | ``` | ||
- | |||
- | Note : `autorestic` tagge chaque snapshot avec la syntaxe `ar: | ||
- | |||
- | ```bash | ||
- | $ sudo autorestic -b pica03 exec stats -- --tag ar: | ||
- | ``` | ||
- | |||
- | Pour revenir à notre exemple précédents, | ||
- | |||
- | < | ||
- | |||
- | < | ||
- | |||
- | |||
- | < | ||
- | |||
- | ```bash | ||
- | $ sudo autorestic -vvv forget --prune -a | ||
- | repository b0ca7112 opened successfully, | ||
- | unable to create lock in backend: repository is already locked by PID 886695 on pica01 by root (UID 0, GID 0) | ||
- | lock was created at 2022-06-10 08:19:04 (654h30m9.367618574s ago) | ||
- | storage ID 48ba5a2f | ||
- | the `unlock` command can be used to remove stale locks | ||
- | ``` | ||
- | |||
- | On voit qu'un fichier de lock existe depuis le 10 juin (à la date du 07 juillet). Ce fichier de lock est obsolète mais empêche la suppression de fichier du dépôt. Comme le suggère la commande, on peut forcer à supprimer le verrou avec la commande `unlock` de restic. | ||
- | |||
- | < | ||
- | |||
- | Exemple : | ||
- | |||
- | ```bash | ||
- | $ sudo autorestic -vvv -b pica03 exec unlock | ||
- | repository b0ca7112 opened successfully, | ||
- | successfully removed locks | ||
- | ``` | ||
- | |||
- | On peut à présent exécuter la commande. |