======= ZFS =======
{{:wiki:cluster:nas:zfs_logo.jpg?300|}}
**ZFS** (Zettabyte File System) est un système de fichier qui se veut avoir le dernier mot.
Il est basé sur un adressage de 128 bits, ce qui représente une capacité de stockage (en volume) plusieurs milliards de milliards de fois supérieurs aux standards actuels. Selon Bonwick, l'un des concepteurs de ZFS, « Vous ne pourriez pas remplir un espace de données 128 bits sans faire bouillir les océans. ». Calcul à l'appui.
**ZFS** permet d'accueillir 16 exbioctets de stockage, ainsi que 248 fichiers... Ce qui nous apparait illimité...
**ZFS** présente de nombreux autres avantages :
* Il nous propose des Pools. Ils permettent de contrôler des disques physiques. Cette abstraction permet alors d'utiliser un manager de volumes, qui présente au système de fichier un unique "disque". Les systèmes de fichiers ne sont plus alors limités à un disque...
* Il met à disposition de ses utilisateurs des **datasets**. Un dataset est un sous système de fichier. Il permet d'éviter d'avoir à partitionner les disques : en effet, un dataset se comporte comme n'importe quelle partition montée avec aucune taille prédéfinie. Les problèmes sous-jacent sont gérés directement par **ZFS**
Pour créer un dataset, utilisez la commande ''zfs create dataset_name''.
Pour éditer les propriétés du dataset, utilisez ''zfs set = '', par exemple : ''zfs set sync=disabled raidZ/disks''.
''zfs get '' premet de récupérer la valeur d'une propriété. ''zfs list'' permet de récupérer la liste des datasets.
* C'est un système de fichier **transactionnel**, ce qui signifie qu'il est toujours consistant. En d'autre mot qu'une panne matérielle (électrique) ne viandera pas toutes vos données (cf Raid5 **write hole** ). Ce résultat est due à la **copie sur écriture**, cf [[.:raid|RaidZ]].
* Une gestion fine des **check sums** au niveau du système de fichier, qui permet notamment de repérer les erreurs, et les corriger directement. L'utilisateur peut sélectionner l'algorithme qu'il souhaite utiliser.
* Des **snapshots** : Un snapshot est un instantané du volume ou du système de fichier. Il est en lecture seule. Le snapshot se base sur les différence entre lui et ( l'instant présent | le dernier snapshot ). Sa taille part donc de 0 puis augmente avec le temps. Il est possible d'envoyer les snapshots sur un serveur distant. Ceci est très pratique pour nos sauvegardes.
Utilisez ''zfs snapshot pool/dataset@nom_snapshot'' permet de réaliser un snapshot du dit dataset.
''zfs roolback pool/dataset@nom_snapshot'' vous permet de restaurer l'état du snapshot sur l'ensemble du dataset.
* L'administration se veux simplifiée.
====== Documentation ======
* [[http://docs.oracle.com/cd/E19253-01/819-5461/zfsover-2/| Documentation Oracle]]
* Une [[http://wiki.deimos.fr/ZFS_:_Le_FileSystem_par_excellence|page]] très utile, et en français :)