---
title: Créer une image du système
template: docs
taxonomy:
    category: docs
routes:
  default: '/backup/clone_filesystem'
page-toc:
  active: true
  depth: 3
---

!! Les images de cette page sont manquantes

L'outil de sauvegarde de YunoHost ne sauvegarde que les fichiers utiles et se base sur des scripts de restauration pour réinstaller les dépendances de vos applications. Autrement dit, le mécanisme de YunoHost revient à réinstaller, puis réincorporer les données.

Réaliser des images complètes du système peut être un moyen complémentaire ou alternatif de sauvegarder votre machine. L'intérêt est que votre système pourra être restauré dans l'état exact du moment de la sauvegarde.

Selon votre type d'installation, vous pouvez soit créer un snapshot, soit cloner le support de stockage en le retirant de votre serveur (éteint).

## Déclencher un snapshot

Un snapshot permet de figer une image du système de fichiers. Les snapshots sont très pratiques lorsque l'on fait une mise à jour ou des essais, car ils vous permettent de revenir facilement en arrière en cas de pépin. En revanche, en dehors de quelques clusters de très haute disponibilité, les snapshots ne vous protègent pas vraiment face à des pannes matérielles ou des catastrophes (cf. incendie d'OVH à Strasbourg en 2021).

En général, les snapshots sont assez économes en espace disque, le principe est que votre système de fichier va stocker les différences survenues depuis votre snapshot. Ainsi, seules les modifications consomment de l'espace.

! Pensez à supprimer les anciens snapshots pour éviter de gâcher votre espace de stockage en stockant toutes les différences depuis cette date !

Vous pouvez utiliser cette méthode avec la plupart des VPS (souvent payant), des gestionnaires de machines virtuelles ou si vous avez installé YunoHost avec un filesystem avancé comme btrfs, ceph ou ZFS, vous pouvez aussi créer des snapshots via la ligne de commande

[ui-tabs position="top-left" active="0" theme="lite"]
[ui-tab title="VPS"]
Ci-dessous, quelques documentations pour les fournisseurs les plus connus:

- [DigitalOcean (EN)](https://docs.digitalocean.com/products/images/snapshots/)
- [Gandi](https://docs.gandi.net/fr/simple_hosting/operations_courantes/snapshots.html)
- [OVH](https://docs.ovh.com/fr/vps/snapshot-vps/)
- [Scaleway (EN)](https://www.scaleway.com/en/docs/backup-your-data-with-snapshots/)
[/ui-tab]
[ui-tab title="VirtualBox"]
Sélectionner la machine virtuelle et cliquer sur `Snapshots`, puis spécifier le nom du snapshot et cliquer sur `OK`.
![Le bouton snapshot se trouve en haut à droite](image://virtualbox-snapshot2.webp)

Pour restaurer, sélectionner la machine virtuelle, cliquer sur `Snapshots` puis `Restore Snapshot option`.
![](image://virtualbox-snapshot3.webp)

Ensuite cliquer sur `Restore Snapshot`.
![](image://virtualbox-snapshot4.webp)
[/ui-tab]
[ui-tab title="Proxmox"]

- Sélectionner la machine virtuelle
- Aller dans l'onglet `Backup`
- Cliquer sur `Backup now`
- Choisir le mode `Snapshot`
- Valider
[/ui-tab]
[ui-tab title="BTRFS"]
Ci-dessous on considère que `/pool/volume` est le volume à snapshoter.

Créer un snapshot en lecture seule

```bash
btrfs subvolume snapshot /pool/volume /pool/volume/$(date +"%Y-%m-%d_%H:%M")
```

Lister les snapshots

```bash
btrfs subvolume show /pool/volume
```

Restaurer un snapshot

```bash
btrfs sub del /pool/volume
btrfs sub snap /pool/volume/2021-07-22_16:12 /pool/volume
btrfs sub del /pool/volume/2021-07-22_16:12
```

Supprimer un snapshot

```bash
btrfs subvolume delete /pool/volume/2021-07-22_16:12
```

!! Attention de ne pas supprimer le volume original

!!! Voir [ce tutoriel](https://www.linux.com/training-tutorials/how-create-and-manage-btrfs-snapshots-and-rollbacks-linux-part-2/) pour plus d'info
[/ui-tab]
[ui-tab title="CEPH"]
Ci-dessous on considère que `pool/volume` est le volume à snapshoter.

Créer un snapshot

```bash
rbd snap create pool/volume@$(date +"%Y-%m-%d_%H:%M")
```

Lister les snapshots

```bash
rbd snap ls pool/volume
```

Restaurer un snapshot

```bash
rbd snap rollback pool/volume@2021-07-22_16:22
```

Supprimer un snapshot

```bash
rbd snap rm pool/volume@2021-07-22_16:12
```

[/ui-tab]
[ui-tab title="ZFS"]
Ci-dessous on considère que `pool/volume` est le volume à snapshoter.

Créer un snapshot

```bash
zfs snapshot pool/volume@$(date +"%Y-%m-%d_%H:%M")
```

Lister les snapshots

```bash
zfs list -t snapshot -o name,creation
```

Restaurer un snapshot

```bash
zfs rollback pool/volume@2021-07-22_16:22
```

Supprimer un snapshot

```bash
zfs destroy pool/volume@2021-07-22_16:12
```

[/ui-tab]
[/ui-tabs]

## Créer une image du système de fichier à froid

Vous pouvez cloner votre support (carte SD, disque ssd, volume de VPS...) pour créer une image disque. Cette image avant compression sera de la taille exacte de votre support, c'est pourquoi cette méthode s'applique plutôt aux machines de moins de 64Go.

À moins de pouvoir lire un snapshot, cette méthode nécessite d'arrêter le serveur le temps de créer l'image. Avec un VPS, il faut redémarrer en mode rescue depuis l'interface de votre fournisseur.

[ui-tabs position="top-left" active="0" theme="lite"]
[ui-tab title="Avec USBimager"]
Ceci peut être effectué avec [USBimager](https://bztsrc.gitlab.io/usbimager/) (N.B. : assurez-vous de télécharger la version 'Read-write' ! Pas la version 'Write-only' !). Le processus consiste ensuite à "l'inverse" du processus de flashage de la carte SD:

- Éteignez votre serveur
- Récupérez la carte SD et branchez-la dans votre ordinateur
- Dans USBimager, cliquez sur "Read" pour créer une image ("photographie") de la carte SD. Vous pouvez utiliser le fichier obtenu pour plus tard restaurer le système en entier.

Plus de détails dans [la doc d'USBimager](https://gitlab.com/bztsrc/usbimager/#creating-backup-image-file-from-device)
[/ui-tab]
[ui-tab title="En ligne de commande avec dd"]

Il est possible d'obtenir la même chose avec `dd` si vous êtes à l'aise avec la ligne de commande:

```bash
dd if=/dev/mmcblk0 | gzip > ./my_snapshot.gz
```

(remplacez `/dev/mmcblk0` par le vrai nom de votre carte SD ou disque dur)

[/ui-tab]
[/ui-tabs]
