NAS – Ext4 ou Btrfs lequel est le plus rapide ?

Ext4 est le nom d’un système de fichiers utilisé sous Linux. C’est une évolution de ext3, qui était aussi une évolution d’un précédent système de fichiers utilisé : ext2. Btrfs est lui aussi un système de fichiers, développé conjointement par Oracle, Red Hat, Fujitsu, Intel, SUSE, et d’autres acteurs. Pour certains, Btrfs serait le successeur de l’ext4 et ext3. Il apporte son lot de nouveautés (ex: instantané / snapshots et somme de contrôle) et je vous renvoie vers sa page Wikipédia pour plus de détails. Synology est le seul constructeur de NAS à proposer au choix l’ext4 ou Btrfs lors de la création d’un volume.

ext4 ou Btrfs

Je n’avais pas eu l’idée de faire une comparaison des 2 systèmes de fichiers. C’est en tombant sur la page d’un autre constructeur de NAS, concurrent de Synology (que je ne citerai pas), que l’idée m’est venue. Ce concurrent mettait en avant que le choix du Btrfs était inapproprié dans un NAS. Voici ce qu’il écrit : « Dans le même environnement de test, le transfert de fichiers via Samba avec un NAS XXXX qui utilise ext4 est 61,5 % plus rapide qu’un NAS d’une autre marque qui utilise Btrfs. » Voila… il faut être complétement fou pour proposer le Btrfs et encore plus pour l’utiliser. Sauf que la comparaison a été réalisé par un Youtubeur avec 2 NAS de marques différentes. La rédaction de ce dossier est rédigée au fil de l’eau. Au moment où j’écris ses lignes, je n’ai pas la moindre idée du système le plus rapide.

DS918+

J’ai donc demandé à Synology de me prêter un DS918+ (meilleur NAS 2018 catégorie 4 baies) afin de faire mes propres tests. Vous connaissez mon protocole de test, puisque je l’utilise depuis maintenant de nombreuses années. Ici, j’ai décidé de tester le mode Basic (un seul disque), le mode RAID 1 (2 disques) et le mode RAID 5. Les disques utilisés ici des WD Red 4 To. Les tests ont été réalisés sur un réseau Gigabit à l’aide des protocoles SMB et AFP. Pour information, les écarts entre les protocoles sont minimes… mais ce n’est pas l’objectif de l’article. Ici, l’objectif est de constater s’il y a un écart (important ou non) entre l’ext4 et le Btrfs !

mode Basic

Le mode Basic n’offre aucune protection. J’ai tout d’abord réalisé des tests en ext4 puis Btrfs, avec un seul dossier. Voici les premiers résultats…

Difficile de dire lequel est le plus rapide. Les chiffres sont très proches. Sur les Gros fichiers, l’ext4 est plus rapide en lecture (+2,04 Mo/sec) et le Btrfs est plus rapide en écriture (+4,86 Mo/sec). Sur les fichiers de taille moyenne, les formats sont ex aequo en lecture et le Btrfs est très légèrement plus rapide en écriture (+2,17 Mo/sec). Enfin sur les plus petits fichiers, ils sont ex aequo en lecture et l’ext4 est un peu plus rapide en écriture (+1,51 Mo/sec). Ext4 ou en Btrfs, il est très difficile de les départager dans ce mode.

mode RAID 1

Le RAID 1 nécessite 2 disques durs. Ils fonctionnent en mode miroir. Si un disque tombe en panne, l’autre permet au NAS de fonctionner normalement.

Ici encore, les résultats sont vraiment très proches. Les écarts sont tellement faibles que les graphiques parlent d’eux même. Ext4 ou en Btrfs, il est très difficile de les départager dans ce mode également.

mode RAID 5

Le RAID 5 nécessite 3 disques durs minimum, ici 4 ont été utilisés. Si un disque tombe en panne, les autres permettent au NAS de fonctionner normalement.

Encore ici, ça se joue dans un mouchoir de poche. Un peu plus rapide ici, un peu plus lent par là… difficile de dire lequel est le plus rapide.

Conclusion

Ext4 ou Btrfs lequel est le plus rapide ? La réponse est loin d’être évidente. Les écarts entre les 2 sont minimes dans une configuration identique (même NAS, mêmes disques, même configuration réseau…). On peut clairement dire que NON, l’ext4 n’est pas 61,5 % plus rapide que le Btrfs. C’était bien l’objectif de ce test.

Lequel choisir ? Personnellement, j’ai fait le choix du Btrfs pour plusieurs raisons et notamment pour l’apport des fonctions complémentaires offertes le système de fichiers : protection de l’intégrité des données, protection des données (instantané, réplication et récupération à un moment donné), quota utilisateur pour chaque dossier partagé ou encore Docker DSM. À cela s’ajoutent également le nettoyage des données (niveau RAID et du système de fichiers) et la défragmentation.

La suite est disponible à cette adresse

  1. Bonne idée mais à refaire avec une agrégation de plusieurs interfaces réseau côté nas et ordi. Là tu es à la saturation de la carte réseau giga. Et ces filesystem tiennent bien plus en débit. Sur des serveurs le btrfs à des avantages mais on a aussi eu des soucis de corruption. Sans doute encore un peu jeune mais prometteur.

  2. Merci pour ce test.
    Effectivement les infos sur le site de « l’autre constructeur » m’interrogeait.
    Ce test répond à la question de la vitesse bien qu’un test avec le link aggregation serait intéressant comme le dit Wallace.

    Reste les questions :

    – fiabilité ?
    – stockage des snapshots sur un volume différent ?

  3. Ce test ne vaut pas grand chose. Il ne vous est pas venu à l’esprit que vous écrivez/lisez à la même vitesse entre un RAID1 et un 5 ?
    Il faudrait du réseau 10Gbit pour tester correctement et faire également des tests à plusieur et du Random access pour faire les choses correctement.

  4. Bonjour,

    J’utilise 1 DS216j depuis 1 an et envisage pour la société le DS 1517+ plus rapide et complet que le 216 apres 1 an de test et essai.

    Le nombre de disque n’est pas évident à calculer car on ne trouve rien sur internet sur les differences d’utilisation du Ext4 et Btrfs.

    Ext4 semble bien adapté à l’utilisation de tous les « paquets » Synology et Btrfs pour la virtualisation. Outre au problème de RAID sur du Btrfs.

    Est il possible de faire de la virtualisation sur du volume en Ext4??? ou Btrfs est-il obligatoire??

    Rien trouvé sur Internet

    Merci

  5. Merci d’avoir fait ce test et de l’avoir partagé.
    Je viens de me faire « démonter » sur le forum officiel de Plex où les habitués m’ont un peu clairement dit que BTRFS c’était caca.
    Je viens juste après 3 jours de finir l’installation de mon DS918+ en Raid6 4x8to … je me voyais clairement pas tout recommencer à zéro !!!

  6. J’imagine qu’il n’est pas possible sur un syno de passer de EXT4 à BTRFS à la volée (sans backup et re install je veux dire) ?

  7. En réalité tout dépend de comment tu créer ton volume de stockage sous QNAP. Le volume lourd et légé n’aura pas la même incidence sur les performances !!
    Si tu avais monté ton QNAP avec un volume lourd tu aurai pu constaté que les performances sont légerement supérieur !

  8. Bonjour FX

    Merci pour ce beau article . C’est du bon travail comme d’habitude.

    Je viens d’acheter récemment un NAS ds1819+

    Je me suisntéressé à ce nas pour ces nombreuse possibilité du notamment sa capacité en écriture 668 mo/s

    Moi je ne dépasse pas les 70 mo/s

    J’aimerais savoir comment tu fais tes tests ?

    Car avoir un NAS DS1819+ et ne pas avoir ces pleine capacité c’est dommage

    Pouvez vous m’aider ?

    Car j’ai ouvert un ticket chez Syno , ils ont pas réussi à l’aider

    🙁

    Merci d’avance

    Bien cordialement

    Sacha

    1. Bonjour Sacha,

      Comme tu peux le constater dans mes tests, j’utilise le NAS avec un seul câble RJ45 (Gigabit).Théoriquement, le débit maximum du gigabit est limité à 128 Mo/s. Déjà, c’est une chose à avoir en tête.
      Parfois, je fais parfois des tests d’agrégation de lien (utilisation de 2 ports réseau). Je te recommande de regarder mes articles à ce sujet.
      Mais alors, comment faire pour atteindre 668 Mo/s en écriture qu’affiche Synology avec le DS1819+ ? Comme l’indique le constructeur, il a utilisé le port PCIe du NAS pour y ajouter une carte réseau 10 Gbit/s. En théorie toujours, cela permet d’atteindre 1280 Mo/s. Là, la limite n’est plus au niveau de la carte. Mais Synology va plus loin en indiquant qu’il arrive à atteindre 2045 Mo/s en lecture… Comment fait-il ? Encore une fois, c’est indiqué. Il utilise l’agrégation de lien : 2 ports 10GbE (1 x Intel X710-DA2 NIC). À noter que cela nécessite un switch compatible.

      J’espère que cela pourra t’aider.

  9. Bonjour,
    Merci pour cet article. J’ai en effet un volume en ext4 et je ne savais pas initialement qu’il fallait du btrfs pour les VM… Je vais donc procéder au changement. Ceci dit, je compte aussi augmenter la RAM du Synology DS1621+ qui est livré à la base avec une quantité honteusement faible. Ma question est la suivante: est-ce que le btrfs peut compenser/remplacer le fait des choisir des barrettes RAM SODIMM non-ECC plutôt que ECC? Je ne sais pas si c’est correct de raisonner ainsi. L’avantage serait clairement pour le prix des barrettes et actuellement, pour la disponibilité…
    Fred

  10. Bonjour,
    je viens de me rendre compte que j’avais un cas d’usage ou le BTRFS pose problème 🙁

    Sur mon syno DS1520+, j’ai un volume formaté en BTRFS. Je fais tourner un mariadb dans un container docker, mais les data sont sur le volume hote en BTRFS monté dans le container.

    Et les perfs sont absolument catastrophiques ! La création de tables, leur suppression est si lente, que quand on lance des scripts d’init (créant plusieurs tables), on se prend des timeout dans la tronche 🙁

    Chie*** , je regrette mon ext4 🙁 . Sauf que la il y a pas de solution simple pour revenir en arrière, à moins de tout backuper en externe, tout réinstaller from scratch, et tout restaurer ensuite 🙁 . La loose 🙁

    Donc un conseil, si vous utilisez un ou plusieurs server(s) de bdd Mariadb sur votre syno, pensez à lui réserver un volume formaté en ext4.

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.