ZFS/OpenStorage : soirée performances et « best practices »

Mercredi 19 mars se tenait à Paris une soirée autour de ZFS organisée par Sun.

L'article Wikipedia ou bien la présentation sur le site d'OpenSolaris sont un bon point de départ pour faire connaissance avec ZFS. Petit compte-rendu de cette rencontre.

ZFS est à la fois un système de fichier et un gestionnaire de volume. On peut, selon moi, considérer que l'on casse l'architecture classique en fusionnant deux couches. L'idée est de gagner en performances en ayant connaissance au niveau du système de fichier des secteurs utilisés, afin d'optimiser les accès, par exemple en utilisant un ensemble de secteurs d'un même cylindre pour un fichier ou un ensemble de fichiers. De cette façon, on peut lire les informations avec un unique appel d'entrée/sortie.

Dans un cas classique, on peut être amené à chercher les informations sur des secteurs éloignés sur le disque. Ceci nécessite donc de lire à plusieurs endroits et donc augmente la durée de l'opération car elle nécessite le déplacement de la tête de lecture.

Ceci n'est qu'un exemple des spécificités de ZFS, mais il peut avoir son importance dans une période où les mémoires flash remplacent progressivement les disques classiques. En effet, ZFS a conscience du type de mémoire au niveau du système de fichier et peut donc adapter son comportement (il est selon Roch "flash aware").

Eric Bézille (Chief Technologist chez Sun France) et Roch Bourbonnais (équipe d'ingénierie des performances) faisaient face à de nombreux curieux, mais aussi à des utilisateurs de ZFS en production : DBA, banques, CNRS, hébergeur (non, un autre), etc. Certains l'utilisent déjà en clusters de 8000 nœuds...

Nous passerons ici les détails de la présentation technique de ZFS 🙂 Retenons qu'il est basé sur un arbre capable de s'autoréparer ("self healing"), copy on write, gère la compression, bientôt l'encryption, les quotas, les ACL. Il est capable de prévoir quels secteurs vont être lus par une application avant que celle-ci n'en ait fait la demande, et donc de les lire en avance (read ahead).

Une fonctionnalité essentielle de ZFS est la possibilité de réaliser des sauvegardes ("snapshots") très facilement. Elles ne contiennent que le différentiel des données au niveau des secteurs, un peu à la manière de SVN.

Pour les accès nécessitant de très hautes performances, ZFS peut être tuné. Cependant, le tuning ne devrait pas être nécessaire pour l'accès aux petits et très gros fichiers. Pour les fichiers de taille intermédiaire (base de données par exemple), tout dépend de l'application...

Pour finir, l'idée de Sun est de proposer des serveurs de données avec réplication sur lesquels ils ont une maîtrise totale, du hardware jusqu'au système d'exploitation.

Roch : Avec ZFS, on peut faire bouillir tous les océans !

Laisser un commentaire

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

Captcha *

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