Post

Plakar sauvegarde et restauration

- no title specified

Plakar - Solution de backup sous Linux

plakar-logoplakar-logo

Table des matières

Plakar - Solution de backup sous Linux

Introduction

Détails et fonctionalités techniques

Installation

Utilisation

Initialiser le dépôt plakar

A propos de l'agent

Créer une sauvegarde

Lister les backups

Lister le contenu d'un backup

Rechercher un fichier dans un backup

Informations sur un backup

Restaurer des éléments

Monter une sauvegarde

Supprimer des backup

Epurer des backups

A propos des dépôts distants

Dépôts SFTP

Interface graphique

Quelques autres options utiles

Vérifier la consistance du dépôt

Compacter les données

Synchroniser un dépôt

Stopper l'agent

 

Introduction



Plakar est un outil de sauvegarde moderne et efficace, conçu pour simplifier la gestion des données tout en garantissant leur sécurité. Avec des fonctionnalités avancées telles que la déduplication, le chiffrement de bout en bout et une interface utilisateur.

Détails et fonctionalités techniques

La force de Plakar réside dans son moteur de stockage Kloset, qui crée des instantanés immuables, chiffrés de bout en bout et dédupliqués. Contrairement aux solutions traditionnelles comme Restic ou Borg, Plakar se distingue par sa simplicité d’installation (via une commande unique en Go) et ses performances exceptionnelles, notamment sur S3, où un backup de 14 minutes a été réduit à 13 secondes grâce à l’upload parallèle de données. La déduplication intelligente permet de réduire drastiquement l’espace de stockage, par exemple en passant de 327 Go à seulement 28 Go pour 10 sauvegardes de 33 Go. De plus, la plateforme prend en charge divers environnements, des disques locaux aux solutions cloud comme S3, en passant par SFTP et Kubernetes.


Plakar supporte la déduplication, la compression et le chiffrement :
- La sauvegarde incrémentale des données rend l'outil approprié pour les sauvegardes quotidiennes puisque seules les modifications sont sauvegardées.
- La technique de déduplication va éviter le stockage multiple de fichiers identiques (plus précisément de blocs de données) d'une sauvegarde à l'autre
- La technique de chiffrement est adaptée aux sauvegardes vers des destinations qui ne sont pas totalement fiables. Ainsi une sauvegarde sur disque amovible pourra rester à l'abris des regards indiscrets.

Plakar permet aussi de réaliser :
- Une compression des données sauvegardées pour gagner de la place
- Des sauvegardes distantes avec le support de dépôts distants.

Pour accéder aux sauvegardes, on devra disposer d'un système ayant plakar d'installé.
L'outil ne sauvegarde pas en effet en mode fichier comme un bon vieux copier coller, ou un rsync mais il propose des fonctions intéressantes, ce qui peut répondre à votre besoin.

Aucune base de données n'est nécessaire, les métadonnées sont stockées dans le dépôt de sauvegarde lui même.

Installation


Le produit étant tout récent, il n'est pas encore incorporé aux distributions Linux.

On pourra l'installer depuis les instructions officielles (nécessite 1Go) :

 

go install github.com/PlakarKorp/plakar@latest

Depuis la section releases de Github où des .DEB et .RPM sont fournis à partir de la version 1.0.3 : https://github.com/PlakarKorp/plakar/releases

Ajouter au fichier .bashrc

 

# Go bin des installations

export PATH="$HOME/go/bin:$PATH"

 

Rafraîchir

 

source .bashrc

 

Utilisation


Dans l'exemple de ce tutoriel, j'utilise un point de montage local /mnt/sharenfs/sav sur lequel le disque de sauvegarde est monté automatiquement au branchement

A noter que le dossier de destination de sauvegarde doit être complètement vierge. Si on utilise un disque dédié, formaté en ext4 par exemple, le dossier lost+found posera problème.
Créez simplement un dossier sur votre disque.

 

mkdir /mnt/sharenfs/sav/sav_plakar

Toutes les commandes auront une syntaxe telle que :

 

plakar at CHEMIN_DU_DEPOT action options

 

Initialiser le dépôt plakar



Avant de lancer notre première sauvegarde, il faut créer un repository.
Cela permet de créer dans la destination directement les métadonnées qui vont bien.

Pour créer le dépôt :

 

plakar at /mnt/sharenfs/sav create



la passphrase sera demandée 2 fois :

 

repository passphrase:

repository passphrase (confirm):



C'est cette passphrase qui vous permettra de déchiffrer le contenu. Ne pas l'oublier !

Chaque action (création de dépôt, backup, list, restauration ...) vous redemandra cette passphrase.
Vous pouvez vous affranchir de la saisie de la passphrase en définissant la variable d'environnement PLAKAR_PASSPHRASE :

 

export PLAKAR_PASSPHRASE="A1Z2E3R4t(y-uèi_"



Plusieurs options sont possibles :
-no-compression : Désactiver la compression
-weak-passphrase : Autosier une passphrase avec une faible complexité
-no-encryption : Pas de chiffrement

Exemple sans chiffrement (non recommandé quand même...) :

 

plakar at /mnt/sharenfs/sav create -no-encryption

 

A propos de l'agent



Plakar va fonctionner avec un agent. Il est nécessaire que cet agent soit lancé pour effectuer les actions autres que la création.
Lancer l'agent avec :

 

plakar agent



Une confirmation indique que l'agent est lancé :

 

agent started with pid=38458


Créer une sauvegarde



Pour créer notre sauvegarde, on va utiliser la sous commande create :

 

plakar at /mnt/sharenfs/sav/sav_plakar backup /media/DATA/Documents-Perso



Durant le backup, chaque fichier traité est affiché à l'écran avec le statut de l'opération :

 

0511f97b: OK ✓ /media/DATA/Documents-Perso/fichier4.txt

0511f97b: OK ✓ /media/DATA/Documents-Perso/fichier3.txt

0511f97b: OK ✓ /media/DATA/Documents-Perso/fichier2.txt

0511f97b: OK ✓ /media/DATA/Documents-Perso/fichier1.txt

0511f97b: OK ✓ /media/DATA/Documents-Perso

0511f97b: OK ✓ /media/DATA

0511f97b: OK ✓ /media

0511f97b: OK ✓ /



Une fois terminé, on a des stats :

 

info: backup: created unsigned snapshot 0511f97b of size 478 GB in 1h26m19.400130115s (wrote 450 GB)



Si je relance un deuxième backup, voyez que la taille est similaire, mais peu de données ont été écrites car peu de changements :

 

info: backup: created unsigned snapshot 7dbf34ba of size 478 GB in 3m2.743951499s (wrote 11 MB)


Lister les backups



Pour visualiser les backups sur un repository, on utilisera la sous commande ls :

 

plakar at /mnt/sharenfs/sav/sav_plakar ls



Qui produit ceci :

 

2025-08-02T18:18:45Z   7dbf34ba    478 GB      3m3s /media/DATA/Documents-Perso

2025-08-02T16:47:16Z   0511f97b    478 GB  1h26m19s /media/DATA/Documents-Perso



On retrouvera la date du backup, l'ID du backup, la taille, le temps de backup, le dossier backupé.

Si on listez un repository chiffré, la passphrase nous sera demandée.

Lister le contenu d'un backup



Pour visualiser le contenu d'un backup particulier sur un repository, on utilisera la sous commande ls également mais en spécifiant l'ID du backup :

 

plakar at /mnt/sharenfs/sav/sav_plakar ls  7dbf34ba



Ce qui sort une liste dont voici un extrait (avec les permissions à la ls -l ) :

 

2016-06-15T16:54:29Z -rw-r--r--   adrien   adrien   355 kB  Loi n° 78-17 du 6 janvier 1978.pdf

2019-10-25T12:27:37Z -rw-r--r--   adrien   adrien   916 kB 2019.10.25_dp_trotinettes.pdf

2024-12-07T09:16:42Z drwxr-xr-x   adrien   adrien   4.1 kB AA_AutoEntreprise

2025-07-29T17:38:09Z drwxr-xr-x   adrien   adrien   4.1 kB AA_Important

2025-05-24T15:55:45Z drwxr-xr-x   adrien   adrien   4.1 kB AA_Linux_Config



Si on listez un backup d'un repository chiffré, la passphrase nous sera demandée.

Rechercher un fichier dans un backup



Pour parcourir un backup et partir à la recherched'un fichier, on utilisera la sous commande locate :

 

plakar at /mnt/sharenfs/sav/sav_plakar locate "Demande CNIL.odt"



Ce qui donne :

 

0511f97b:/media/DATA/Documents-Perso/Docs/Demande CNIL.odt

7dbf34ba:/media/DATA/Documents-Perso/Docs/Demande CNIL.odt



On a l'ID du snapshot et le nom du fichier.

Il existe plus d'options de recherches, avec des critères :
-latest : Applique la recherche au dernier snapshot
-before 1w : Applique les recherches aux snapshots de plus d'une semaine
-since 2025-07-31 : Applique les recherches aux snapshots après le 31 juillet 2025 (autre exemple de date)

Informations sur un backup



Si on désire des informations globales sur un backup, c'est la sous commande info :

 

plakar at /mnt/sharenfs/sav/sav_plakar info 0511f97b



Ce qui produit ceci :

 

Version: 1.0.0

Timestamp: 2025-08-02 18:39:02.818776425 +0200 CEST

RepositoryID: f95fe7c6-631d-4e1f-be39-2edc9ba37db0

Packfile:

 - MaxSize: 21 MB (20971520 bytes)

Chunking:

 - Algorithm: FASTCDC

 - MinSize: 66 kB (65536 bytes)

 - NormalSize: 1.0 MB (1048576 bytes)

 - MaxSize: 4.2 MB (4194304 bytes)

Hashing:

 - Algorithm: BLAKE3

 - Bits: 256

Compression:

 - Algorithm: LZ4

 - Level: 131072

Snapshots: 2

Storage size: 475 GB (475179610793 bytes)

Logical size: 957 GB (956744481774 bytes)

 

Restaurer des éléments



Si on fait une sauvegarde, c'est pour vous sauver la vie le jour où vous avez besoin de récupérer un ou des fichiers.

La sous commande qui nous sera utile sera restore avec l'IS du snapshot à restaurer :

 

plakar at /mnt/sharenfs/sav/sav_plakar restore 7dbf34ba



Cela restaurera TOUT le backup dans un dossier plakar-dateactuelle (par exemple plakar-2025-08-02T20:41:18+02:00) dans le dossier courant.

On pourra spécifier un dossier spécifique de restauration avec l'option -to :

 

plakar at /mnt/sharenfs/sav/sav_plakar restore -to ~/tmp/ 7dbf34ba


Dans cet exemple, aucun dossier plakar-dateactuelle ne sera créé, c'est restauré tel quel !
Si un fichier existe déjà dans la localisation, il sera alors remplacé par celui du fichier restauré !

Evidemment on pourra récupérer qu'un dossier ou un fichier en spécifiant leur nom :

 

plakar at /mnt/sharenfs/sav/sav_plakar restore -to ~/tmp/ 7dbf34ba:/media/DATA/Documents-Perso/Docs/loi\ anti\ pub.doc



Ce qui donne :

 

info: 7dbf34ba: OK ✓ /media/DATA/Documents-Perso/Docs/loi anti pub.doc

info: restore: restoration of 7dbf34ba:/media/DATA/Documents-Perso/Docs/loi anti pub.doc at /home/adrien/tmp/plakar/ completed successfully


Monter une sauvegarde



Plutôt que de restaurer avec les commandes comme vu précédemment, on pourra monter une sauvegarde sur un point de montage.

Cela nous permettra de parcourir la sauvegarde comme un dossier classique, et de restaurer les éléments par copier coller en ligne de commande ou graphique.

Le montage se fait dans l'espace utilisateur. Par conséquent, nul besoin des droits root pour faire les opérations de montage et démontage.

Exemple :

 

plakar at /mnt/sharenfs/sav/sav_plakar mount ~/tmp/plakar/



On notera que les données sont montées en lecture seule comme l'indique la commande mount :

 

info: mounted repository fs:///mnt/sharenfs/sav/sav_plakar at /home/adrien/tmp/plakar/



Le terminal ne rend pas la main, c'est normal.

Les données de ma sauvegarde sont accessibles en mode fichier, on peut donc les lister, les copier/coller, etc. :

plakar-mountplakar-mount



Pour démonter, ne soyez plus dans le dossier, et un simple Ctrl+C libèrera le montage.

Supprimer des backup



Si je relance un listing j'ai ici 4 backups pour la démo :

 

2025-08-02T19:10:22Z   300c97f3    478 GB       25s /media/DATA/Documents-Perso

2025-08-02T19:08:44Z   09e90b07    478 GB       29s /media/DATA/Documents-Perso

2025-08-02T18:18:45Z   7dbf34ba    478 GB      3m3s /media/DATA/Documents-Perso

2025-08-02T16:47:16Z   0511f97b    478 GB  1h26m19s /media/DATA/Documents-Perso



Si je veux supprimer un backup, on va utiliser la sous commande rm :

 

plakar at /mnt/sharenfs/sav/sav_plakar rm 09e90b07



On a une info du backup supprimé :

 

info: rm: removal of 09e90b07 completed successfully



Et si je reliste mon backup a disparu :

 

2025-08-02T19:10:22Z   300c97f3    478 GB       25s /media/DATA/Documents-Perso

2025-08-02T18:18:45Z   7dbf34ba    478 GB      3m3s /media/DATA/Documents-Perso

2025-08-02T16:47:16Z   0511f97b    478 GB  1h26m19s /media/DATA/Documents-Perso



Evidemment, les 2 autres sauvegardes sont bien intactes, plakar gère tout comme un grand.

Supprimer des archives ne libère pas réellement de la place. Pour cela on pourra compacter le dépôt avec la sous commande maintenance :

 

plakar at /mnt/sharenfs/sav/sav_plakar maintenance



Les données ne sont pas supprimées plus tard, une période de grace est de 30 jours au 2 août 2025.

Epurer des backups



Parfois on peut avoir besoin de garder que les X derniers backups. Cela peut être utile dans le cas d'une automatisation via script.

Pour cela on va utiliser la sous commande rm avec des options supplémentaires.
Exemple ici pour supprimer les backups plus vieux d'une date :

 

plakar at /mnt/sharenfs/sav/sav_plakar rm -before 2025-07-01



L'option -before prend en charge une date au format YYYY-MM-DD et prochainement 365d pour 365 jours

A propos des dépôts distants



On va pouvoir gérer plusieurs type de dépôts. On a vu que des dépôts locaux dans ce tutoriel.

Dépôts SFTP



Il est possible d'utiliser un dépôts à travers un SFTP (FTP sur SSH).
Il est nécessaire en prérequis d'avoir un paire de clés SSH pour effectuer l'authentification.
Note : La paire de clés ne doit pas disposer de passphrase ou être déjà stockée dans le ssh-agent !

On préfixe juste le chemin du dépôt avec le protocole sftp:// , l'utilisateur et l'hôte distant à utiliser :

 

plakar at sftp://adrien@192.168.21.200/mnt/sharenfs/sav/remote/ backup /media/DATA/Documents-Perso/

 

Interface graphique



Plakar dispose d'une interface graphique. Elle se lance dans un module Web.
Avec la version 1.0.2, celle-ci est rudimentaire mais elle va s'améliorer.

Pour lancer l'interface graphique, on utilisera la sous commande ui :

 

plakar at /mnt/sharenfs/sav/sav_plakar ui



Le navigateur s'ouvre et il est possible de parcourir les backups, lancer des opérations de restauration, etc...

plakar-ui-1plakar-ui-1
plakar-ui-2plakar-ui-2


Quelques autres options utiles

 

Vérifier la consistance du dépôt



Pour vériier la cohérence du dépôt, on pourra utiliser la sous commande check et rechercher d'éventuels problèmes de consistance :

 

plakar at /mnt/sharenfs/sav/sav_plakar check

 

Compacter les données



A force de générer des sauvegardes, et d'en supprimer, on peut tenter de recompacter l'ensemble des données pour libérer un peu d'espace et réorganiser tout ça. On pourra le faire avec la sous commande maintenance :

 

plakar at /mnt/sharenfs/sav/sav_plakar maintenance



Au 2 août 2025, confirmé par l'équipe de Plakar, une période de grace de 30 jours est présente. Cette durée devrait être réduite par la suite (ou personnalisable)

Synchroniser un dépôt



Si on a besoin de faire une synchronisation d'un dépôt sur un autre (un local vers un distant, ou de temps en temps sur un disque USB), on a la sous commande sync :

 

plakar at /mnt/sharenfs/sav/sav_plakar/ sync to sftp://adrien@192.168.21.200/mnt/sharenfs/sav/remote/

 

Stopper l'agent



Si après le backup on veut couper l'agent, on pourra le faire avec :

 

plakar agent stop

 

Cet article est sous licence CC BY 4.0 par l'auteur.