LessFs: la déduplication en ligne sous Linux (3/3) 1

LessFs: la déduplication en ligne sous Linux (3/3)

Nous allons maintenant réaliser un test de déduplication en créant un fichier de 64K ne contenant que des zéros. Tout d’abord, nous créons ce fichier dans le répertoire non-dé-dupliqué “/media”.

dd if=/dev/zero of=/media/64Mo.file bs=1M count=64

64+0 records in

64+0 records out

67108864 bytes (67 MB) copied, 0.218591 s, 307 MB/s

Su le PC de test, la création de ce fichier n’a pris de 0.2 secondes.

Maintenant, créons le même fichier dans le système de fichier dé-dupliqué monté en “/media/lessfs”.

dd if=/dev/zero of=/media/lessfs/64Mo.file bs=1M count=64

64+0 records in

64+0 records out

67108864 bytes (67 MB) copied, 1.34091 s, 50.0 MB/s

On constate que la création de ce fichier dans le système dé-dupliqué est environ six fois plus lente que dans le système natif.

Par contre, la lecture du journal système confirme que le fichier a bien été stocké dé-dupliqué.

lessfs[32403]: File /64Mo.file size 67108864 bytes : lzo compressed bytes 4096 and 16383 duplicate blocks

lessfs[32403]: File /64Mo.file compression ratio : 1 : 16384.000000

LessFS a bien vu que le fichier était composé de 16384 blocs identiques – seul le bloc initial, ayant une taille de 4K, a été enregistré. Le taux de compression de ce fichier est de 1:16384000000!

Si l’on mesure la taille de “/media/lessfs”, le système nous retourne bien 64M.

64M    /media/lessfs/

Si l’on mesure la taille de la base de données de bloc, on constate qu’elle n’a peu évoluée.

du -h /data

65M    /data/mta

8.0K    /data/dta

65M    /data/

Si l’on crée un second fichier de contenu identique dans le système de fichier dé-dupliqué monté en “/media/lessfs”, on constate que la taille de la base n’évolue plus..

dd if=/dev/zero of=/media/lessfs/64Mo.file1 bs=1M count=64

64+0 records in

64+0 records out

67108864 bytes (67 MB) copied, 1.34091 s, 50.0 MB/s

du -h /data

65M    /data/mta

8.0K    /data/dta

65M    /data/

Par contre, la taille de “/media/lessfs” est bien de 128M.

128M    /media/lessfs/

Le contenu du journal système est éloquent. Le stockage de “64Mo.file1” n’a requis le stockage d’aucun nouveau bloc de données. Son taux de compression est “infini”!

lessfs[32403]: File /64Mo.file1 size 67108864 bytes : lzo compressed bytes 0 and 16384 duplicate blocks

lessfs[32403]: File /64Mo.file1 compression ratio : 1 : inf

Depuis l’interface administration de LessFS, accessible au travers de Telnet, il est possible de geler la base de données – pour en réaliser une copie de sauvegarde par exemple, sans avoir à démonter le système de fichier. Il s’agit de la commande “freeze”.

Telnet 127.0.0.1 100

Trying 127.0.0.1…

Connected to 127.0.0.1.

Escape character is ‘^]’.

>help

+OK valid commands: defrag defrost freeze help quit|exit

>freeze

+OK All i/o is now suspended.

Dès que la sauvegarde est terminée, le fonctionnent normal de LessFS peut être réactivé avec la commande “defrost”.

Telnet 127.0.0.1 100

Trying 127.0.0.1…

Connected to 127.0.0.1.

>defrost

+OK Resuming i/o.

Bien que LessFS propose dans les paramètres de configuration la défragmentation automatique de la base de données de blocs (“DYNAMIC_DEFRAGMENTATION”), il est possible de demander une défragmentation manuelle à partir de l’interface d’administration. Cette manipulation optimise les temps d’accès et réduit la taille de la base de données. Dans la pratique, cette opération réalise une copie de la base – bloc par bloc – avant de supprimer la base d’origine.

Il est donc nécessaire de s’assurer que le système dispose de suffisamment d’espace disque avant de lancer une défragmentation.

Pour terminer, depuis la version 0.8 de LessFS, il existe un outils “lessfsck” dont l’objectif est de contrôler, optimiser et réparer un système de fichiers LessFS. Pour l’instant, cet outils ne fonctionne que si LessFS utilise TokyoCabinet.

Usage : lessfsck [-o] [-f] -c /path_to_config.cfg

: -o Optimize the tokyocabinet databases.

: This operation requires enough free space to contain a full copy of the database!

: Optimizing the database is advised after a crash but often we can do without.

: -f Start fsck without delay, lessfs is not mounted.

Coincé entre ses difficultés à gérer une croissance exponentielle des volumes de données et la pression de l’entreprise où l’hyper-communication exige la disponibilité de toutes les informations possibles à tout instant, l’administrateur de données est à la recherche de solutions nouvelles d’archivage. Les approches traditionnelles de copies sur support externe et/ou de compression restent d’actualité mais un nouveau modèle de gestion des données est en train d’émerger.

La déduplication est une solution envisageable mais jusqu’à présent, il s’agissait de solutions  propriétaires intégrés à des équipements de stockages type NAS de haut de gamme. LessFS est la seule solution OpenSource existant à ce jour mais ce projet est extrêmement actif et démontre d’ors et déjà un excellent potentiel.

A propos Olivier Olejniczak

Cofondateur de SynerGeek.fr. Passionné d'informatique, je m'intéresse plus particulièrement aux technologies de virtualisation et de stockage. J'apprécie la liberté et la quasi-absence de frontières à mon imagination qu'offre l'OpenSource et Linux. Professionnellement, je travaille exclusivement avec les outils Microsoft. Les pieds bien sur terre et ancrés dans le quotidien de l'entreprise, j'aime faire partager mes découvertes et contribuer à un meilleur usage des technologies. Vous aussi, rejoignez-nous sur Synergeek et partagez votre expérience!

Je vous propose également...

Memento - Centos revenir en arrière après un yum update 2

Memento – Centos revenir en arrière après un yum update

Depuis quelques mois, j’utilise un serveur dédié chez EvxOnline, un très bon hébergeur et très …

Memento - Problème https et certificate error 3

Memento – Problème https et certificate error

J’utilise depuis plus d’un an un outil d’administration de sites web appelé i-MSCP (pour Internet …

5 commentaires

  1. sans parler de cocorico…
    Un petit article sur Artica me rendrait très fier d’être cité sur ce site….
    Mais je respecte qualité de ce site et si Artica ne correspond pas à sa ligne directrice, je le comprends bien volontiers…

  2. Merci pour les compliments, ca fait chaud au coeur.. et merci pour la référence.
    Je connaissais votre projet depuis quelques années (j’ai du le tester il y a 2 ou 3 ans) mais je ne savais pas que c’était un projet francais… le .fr aurait du me mettre la puce à l’oreille 😉

  3. Je suis impressionné par la qualité des articles de ce site ! Chapeau les Normands !
    J’éprouve un profond respect (à genoux) pour Olivier Olejniczak l’auteur de cet article…

    Cet article m’a tellement emballé que j’ai ajouté son essence dans le projet que je développe “Artica”.
    Je me suis permis de mettre en référence ce site web dans la documentation de mise en place

    http://www.artica.fr/download/artica.deduplication.french.pdf

    Si vous exprimez un désaccord sur cette référence, faites-le moi savoir je mettrai à jour la doc…

    Sur ce Bravo !

  4. Une série très interessante… bon il faut s’accrocher quand même pour tout lire 😉