btrfs vs overlayfs

Bonjour,

Btrfs est un systéme de fichier avec des fonctions évolué telque la compression, le support du raid, la déduplication, la gestion de multiple volume (pour booster le FS avec un SSD), les snapshots pour faire les backups et ne garder sur le hdd que les différence entre 2 snapshots…. ZFS est une alternative, mais ce n’est pas dans la branche principale de linux.

Overlayfs est une virtualisation du FS qui permet d’avoir un dossier de base, et une multitude variation de ce dernier. Cela est surtout utilisé dans les livecd, cela permet d’avoir une image fix (le cd), et une zone d’écriture (ramdisque, tmpfs), ce qui permet à l’utilisateur d’avoir l’impression d’avoir une version installé car il peu tout modifié (et donc les changements sont gardé en mémoire RAM grace à overlayfs). Il existe comme alternative aufs, unionfs, … mais seul overlayfs est dans la branche principale de linux.

Les machines virtuelles sont souvent trés similaire. J’ai donc testé ces 2 solutions pour monté des machines virtuelles:

  • Btrfs ne permet pas la déduplication de dossier (il vous avec 10000 fichiers identique dans un dossier, la liste de 10000 sera stocker 2x). La déduplication ne s’applique pas aux fichiers inline (petit fichier surtout). Il m’as fait perdre des vm pour ces divers bugs (vm de teste donc pas de backup). La réparation peu bloquer pourtant le FS est montable, … il faut donc le backuper, reformater et restaurer: un comble que la réparation ne marche pas. Par contre la compression est utile sur les petits espaces ou pour augmenter virtuellement la vitesse du média sur le fichiers compressible (carte SD 😉 mais en échange de latence un peu plus grande surtout sur les petits fichiers). Les backups temps réél avec juste sauvegarde des différences et la déduplication (même si elle est partiel) sont un plus.
  • Overlayfs ne déduplique pas, cela veux dire que 2 fichiers changés au dessus du dossier de base vont être stocké 2x sur le hdd. Donc si vous mettez à jour vos vm, la différence des mise à jour est stocker X fois. Mais c’est trés stable sur du ext4. La variation stocker est vraiment minime et permet de gagné vraiment beaucoup de place (c’est presque comme si vous stockiez les sites que vous y mettais).

Au final, quelle solution j’utilise? Aucune, les défauts de chaque solution sont trop grandes pour être utilisé en production. Donc ext4 pour les serveurs de prod, et btrfs + snapshot pour les serveurs de backups.