Sommaire
Introduction à MergerFS et SnapRAID
Eh bien, vous avez décidé de prendre en main la gestion de vos données ? Excellente initiative ! Dans cet article, on va voir comment mettre en place un système de stockage redondant sous Linux à l’aide de deux outils open-source : MergerFS et SnapRAID. Avec cette combinaison, vous pourrez non seulement bénéficier d’un espace de stockage unifié, mais aussi d’un filet de sécurité en cas de défaillance d’un de vos disques durs. (Allez, on arrête de faire confiance aveuglément à ces petits plateaux qui tournent à une vitesse folle).
Tu veux en savoir plus sur "stockage" ? 😎
Cloud : Pourquoi les entreprises se tournent vers des fournisseurs alternatifs
Bah ça alors, les géants du cloud que sont AWS, Microsoft et Google semblent avoir un début d'année 2024 canon ! Leur croissance la plus…
Pourquoi choisir MergerFS et SnapRAID ?
Avant d’entrer dans le vif du sujet, commençons par expliquer brièvement les rôles respectifs de MergerFS et SnapRAID :
MergerFS
Ce petit bijou vous permet de fusionner plusieurs disques durs en un seul point de montage virtuel. Fini la galère de devoir jongler entre différents emplacements pour stocker vos fichiers ! Avec MergerFS, vous disposez d’un espace de stockage unifié, comme si vous n’aviez qu’un seul énorme disque dur. (Mais attention, on ne parle pas de RAID ici, les données ne sont pas dupliquées sur les différents disques).
SnapRAID
C’est là qu’intervient SnapRAID, notre assurance tous risques pour protéger vos précieuses données. Cet outil calcule des parités à partir de vos fichiers, qu’il stocke sur un ou plusieurs disques dédiés. En cas de panne d’un de vos disques de données, SnapRAID pourra alors reconstruire les fichiers manquants grâce à ces parités. (Un peu comme un RAID 5, mais en moins gourmand en espace disque).
En résumé, MergerFS vous offre un accès simplifié à vos données, tandis que SnapRAID veille à leur sécurité. Une équipe de choc, vous ne trouvez pas ? (Bon, d’accord, c’est un couple un peu particulier, mais qui fonctionne à merveille).
Selon les recommandations de SnapRAID, « vous pouvez utiliser un disque de parité (RAID 5) pour jusqu’à quatre disques de données, puis utiliser un disque de parité pour chaque groupe de sept disques de données supplémentaires. »
Dans notre cas, nous allons configurer huit disques au total : six disques de données et deux disques de parité. (Une petite astuce pour les amateurs de chiffres ronds).
Installation et configuration de MergerFS
Commençons par installer MergerFS, la première pièce de notre puzzle de stockage. Si vous avez suivi la partie 1 de ce tutoriel, vous avez déjà cette étape de faite. Sinon, rien de plus simple : lancez ces commandes pour mettre à jour votre système et installer MergerFS :
sudo apt update
sudo apt install mergerfs
Ensuite, créons les points de montage pour nos disques de données :
sudo mkdir /mnt/disk{1,2,3,4,5,6}
sudo chown (votre_utilisateur):(votre_groupe) /mnt/disk*
Vous remarquerez que je prépare six disques de données, comme recommandé pour une configuration optimale avec deux disques de parité. (Plus c’est gros, plus c’est bon, n’est-ce pas ?)
Une fois vos disques formatés et montés, il ne reste plus qu’à configurer MergerFS pour les faire travailler ensemble. Créez un fichier
/etc/mergerfs
avec le contenu suivant, en adaptant les chemins aux points de montage de vos disques :
# /etc/mergerfs
BRANCHES=/mnt/disk1:/mnt/disk2:/mnt/disk3:/mnt/disk4:/mnt/disk5:/mnt/disk6
MOUNT_POINT=/mnt/pool
OPTIONS="allow_other,use_ino"
Ici, on dit à MergerFS de fusionner les répertoires
/mnt/disk*
et de les monter sous
/mnt/pool
. L’option
use_ino
permet d’éviter les conflits de noms entre les fichiers présents sur les différents disques.
Pour monter ce nouveau système de fichiers virtuels, lancez simplement :
sudo mount.mergerfs /mnt/pool
Et voilà, vous avez un espace de stockage unifié sous
/mnt/pool
! (Allez, on se fait une petite danse de la joie ?)
Installation et configuration de SnapRAID
Maintenant que nos disques de données sont prêts, passons à la suite avec SnapRAID, notre assurance tous risques. Commencez par l’installer :
sudo apt install snapraid
Créons d’abord les points de montage pour nos deux disques de parité :
sudo mkdir /mnt/parity{1,2}
sudo chown (votre_utilisateur):(votre_groupe) /mnt/parity*
Ensuite, préparons les disques avec une partition et le système de fichiers XFS :
# Installer les utilitaires XFS
sudo apt install xfsprogs
Partitionner les disques (remplacez /dev/sdX par vos chemins)
sudo gdisk /dev/sdX
Command: n ↵
Partition Number: 1 ↵
First sector: ↵
Last sector: ↵
Hex Code: ↵
w y
Formater les partitions en XFS
sudo mkfs -t xfs /dev/sdX1
Une fois les disques formatés, ajoutez-les à
/etc/fstab
pour qu’ils soient montés automatiquement au démarrage :
# /etc/fstab
/dev/sdX1 /mnt/parity1 xfs defaults 0 0
/dev/sdY1 /mnt/parity2 xfs defaults 0 0
Montez-les manuellement pour cette fois :
sudo mount /mnt/parity*
Pfiou, la partie technique est presque terminée ! Il ne reste plus qu’à configurer SnapRAID pour qu’il fasse son travail de calcul et de stockage des parités. Créez un fichier
/etc/snapraid.conf
avec le contenu suivant, en adaptant les chemins à votre configuration :
# Disques de parité
parity /mnt/parity1/snapraid.parity
2-parity /mnt/parity2/snapraid.2-parity
Fichiers de contenu (un par disque)
content /var/snapraid.content
content /mnt/disk1/snapraid.content
content /mnt/disk2/snapraid.content
[...] (un par disque de données)
Disques de données
data d1 /mnt/disk1/
data d2 /mnt/disk2/
[...] (un par disque de données)
Exclusions
exclude .unrecoverable
exclude /tmp/
exclude /lost+found/
N’oubliez pas d’adapter les chemins aux points de montage de vos disques ! (C’est la clé pour que SnapRAID trouve ses petits)
Une fois la configuration en place, lancez la synchronisation initiale :
sudo snapraid sync
Cette commande peut prendre un certain temps, surtout si vous avez déjà des données sur vos disques. Profitez-en pour aller vous faire un petit café (ou même un petit somme, allez).
Optimiser et sécuriser avec SnapRAID Runner
Maintenant que tout est en place, on peut passer à l’optimisation de notre configuration. En effet, le simple fait de lancer
snapraid sync
régulièrement ne suffit pas toujours à protéger nos données. (Imaginez que vous supprimiez accidentellement un dossier entier avant la prochaine synchronisation… Aïe !)
C’est là qu’intervient SnapRAID Runner, un petit script malin qui analyse les changements avant de lancer la synchronisation. Si des fichiers ont été supprimés, il vous en avertira et vous laissera la possibilité de les récupérer avant qu’il ne soit trop tard. (Une sorte de filet de sécurité supplémentaire, on n’est jamais trop prudent avec nos précieuses données).
Commencez par télécharger les fichiers nécessaires :
wget https://raw.githubusercontent.com/Chronial/snapraid-runner/master/snapraid-runner.conf.example
wget https://raw.githubusercontent.com/Chronial/snapraid-runner/master/snapraid-runner.py
Renommez le fichier de configuration :
mv snapraid-runner.conf.example snapraid-runner.conf
Puis éditez-le pour adapter les paramètres à votre configuration :
nano snapraid-runner.conf
Voici quelques réglages importants à vérifier :
-
executable
: doit pointer vers votre binaire SnapRAID (
/usr/bin/snapraid
) -
config
: chemin vers votre fichier
/etc/snapraid.conf
-
deletethreshold
: nombre de fichiers supprimés à partir duquel vous serez averti (par défaut 1000) -
mailto
: votre adresse email pour recevoir les alertes (facultatif mais recommandé) -
scrub
: active la vérification des données sur les disques (fortement recommandé, à activer)
Une fois les réglages effectués, testez le script :
sudo python3 snapraid-runner.py
S’il fonctionne correctement, programmez-le pour s’exécuter régulièrement via une tâche cron. Par exemple, pour un lancement quotidien à 4h du matin :
sudo crontab -e
# Ajoutez cette ligne :
00 04 * * * sudo python3 /chemin/vers/snapraid-runner.py -c /chemin/vers/snapraid-runner.conf
Et voilà, vous avez maintenant un système de stockage redondant, sécurisé et optimisé ! (On se tape dans les mains ? Vous avez bien mérité une petite récompense après tout ce travail).
Un petit mot de la fin
N’oubliez pas que MergerFS et SnapRAID ne remplacent pas une véritable sauvegarde de vos données. Ils vous protègent simplement contre la défaillance d’un disque dur, mais pas contre d’autres risques comme les virus, les erreurs humaines ou les catastrophes naturelles. (Donc, n’hésitez pas à mettre en place une solution de sauvegarde complémentaire, par exemple sur un service de stockage en ligne ou un disque externe dédié).
Sur ce, je vous souhaite une excellente expérience avec votre nouveau système de stockage redondant ! N’hésitez pas à partager vos retours d’expérience dans les commentaires. Et si vous avez d’autres questions ou suggestions, notre communauté sera ravie de vous aider. (Après tout, c’est ensemble qu’on avance, non ?)
Selon SnapRAID, « vous pouvez utiliser un disque de parité (RAID 5) pour jusqu’à quatre disques de données, puis un disque de parité pour chaque groupe de sept disques de données supplémentaires. »