OpenZFS en version « stable » sur OS X

Anthony Nelzin-Santos |

L’annonce était passée inaperçue jusqu’à ce que des développeurs la relayent : le développement du projet OpenZFS on OS X a atteint un cap important avec la publication d’une première version « stable » sous la forme d’un simple installeur. Ce qui ne veut pas pour autant dire que n’importe qui peut désormais utiliser ZFS sur Mac.

Apple avait un temps envisagé d’adopter ZFS, avant que des problèmes de licence et d’intégration ne l’en dissuadent. Ce système de fichiers intègre un mécanisme de vérification de l’intégrité des données (qui aurait évité les corruptions qui peuvent apparaître sur un volume HFS+), un système de snapshot qui génère des clichés de l’état d’un volume à un instant t (qui aurait considérablement amélioré Time Machine) et un gestionnaire de « grappes » de disques extrêmement flexible (qui aurait permis d’aller plus loin que Fusion Drive). Accessoirement, les limites de stockage de ZFS ne devraient pas être atteintes à court terme, ni même à long terme.

OS X Snow Leopard aurait dû prendre en charge ZFS, avant qu'Apple n'abandonne cette idée.
OS X Snow Leopard aurait dû prendre en charge ZFS, avant qu'Apple n'abandonne cette idée.

Grâce aux efforts du projet OpenZFS, ZFS est aujourd’hui assez stable pour être utilisé au quotidien sur plusieurs distributions GNU/Linux et sur la plupart des systèmes BSD, même si ses performances laissent encore à désirer. L’équipe du projet OpenZFS on OS X, qui compte quelques anciens ingénieurs d’Apple, ambitionne d’arriver au même niveau : l’annonce de cette première version facilement installable sur toutes les versions d’OS X de Snow Leopard à Mavericks est donc très importante.

Cela étant dit, elle doit être réservée « aux personnes capables d’administrer ZFS en ligne de commande » et qui n’ont de manière générale pas froid aux yeux. Développer un système de fichiers n’est pas une tâche aisée pour des sociétés de l’ampleur d’Apple ou de Microsoft, a fortiori pour un groupe de développeurs indépendants. Les premiers retours font état de performances à peine passables et surtout de nombreux kernel panics. Amateurs s’abstenir.

Tags
avatar Dwigt | 

Il y a un point intéressant dans cet article que peu de gens ont jusque là relevé.
Quand Apple avait renoncé à poursuivre l'intégration de ZFS à OS X, certains (notamment sur un autre site Mac francophone) avaient alors présenté ZFS comme la solution de l'avenir. Or, c'était il y a quatre ans et demi. Et ça semble toujours selon eux la solution de l'avenir.
On est en mars 2014, Apple n'a toujours pas présenté de successeur au HFS+, qui commence à montrer son âge, mais le ZFS est resté marginal sur les plateformes où l'on pouvait pourtant l'installer librement. Et Anthony mentionne d'ailleurs que les performances laissent encore à désirer.

Il faut donc croire que ZFS n'est pas (ou n'est pas encore) la panacée et qu'il y a encore des obstacles, autres que le système de licence ou la méconnaissance du grand public, à son adoption généralisée.
La grosse question est cependant de savoir si Apple travaille à un nouveau système de fichiers pour prendre la relève de HFS+ ou s'ils ont perdu toute ambition de ce côté.

avatar misc | 

Vu la démocratisation des SSD (et surtout sur les machines Apple) ils doivent travailler sur un FS optimisé pour ca.
Probablement un FS tout nouveau tout frais, mais qui mettrais du coup du temps a développer..
On vera bien.

avatar senze | 

C'est surtout une histoire de licence qui a "empeche" Apple d'opter pour ZFS en lieu et place du HFS+.

j'ai utilisé maczfs un temps, pour tester, mais j'ai détruit le disque car j'avais besoin d'un spare.
et cette version OpenZFS repose en partie sur l'ancienne MacZFS elle meme reposant en partie sur le portage OpenSource d'Apple sur ZFS...

Hyper cool qu'enfin une version "stable" soit sortie.
j'y jette un œil, plus qu'à trouver un vieux DD qui traine et que je peux effacer pour tester tout ça.

avatar iapx | 

Toutes les implémentations de ZFS à ce jour ont des performances très médiocres comparé aux autres systêmes de fichiers, et bien que certaines implémentations sachent utiliser des SSD comme cache, ça reste plus lent en général que n'importe quoi d'autre.

En revanche ZFS est un filesystem parfait pour de l'archivage, avec ces possibilités de compression, encryption, signature avec vérification des données et correction au vol, ainsi que son espace adressable fantastique. Je pense qu'il a un avenir dans l'archivage, ou si on préfère le troisième tiers de stockage.

Il existe de nouveaux systêmes de fichiers qui visent spécifiquement les SSD, avec notamment comme mission de limiter l'amplification d'écriture, par design, en maximisant leurs performances (et en ignorant les optimisations destinées aux disques durs!). Certains de ceux-ci sont open-source et je verrais bien Apple en considérer un pour l'avenir d'OS X.

avatar Sephi-Chan | 

Froid aux yeux ? Comment c'est possible ça ?

avatar tomate | 

Vas en montagne et enlèves tes lunettes quand tu skies ;)

avatar Sephi-Chan | 

C'était juste une citation (de Kaamelott). :p
La première chose qui m'est venue à l'esprit en lisant ce passage.

avatar rgc2000 | 

ZFS est un gestionnaire de fichiers en rupture par rapport à ce qui existe. Il est très facile à administrer mais demande à réapprendre la notion même de filesystem car il est tout à la fois : un gestionnaire de volume, un conteneur de données, un système de partage disque réseau,... Bref c'est plus qu'un filesystem et il dispose de paramètres ajustables pour régler les performances par rapport à l'utilisation qui en sera faite. Il sait tirer parti d'un SSD et combiner les technologies pour améliorer les temps d'accès à la façon d'un Fusion Drive.
Pour bien fonctionner ZFS a besoin de beaucoup de mémoire pour y stocker ses métadonnées. Sans ce cache les performances peuvent vite se dégrader.
J'utilise ZFS en entreprise sur des milliers de machines (solaris) et on a très peu de problèmes. Toutefois pour un particulier je ne vois pas l’intérêt car le passage par la case "tuning" est presque obligatoire, ce n'est pas à la portée du premier venu et un peu à l'encontre de l'esprit Apple où tout doit fonctionner de façon optimale sans intervention.

avatar Fulvio | 

Pour un particulier, la fonction intéressante de ZFS (qui pourrait également exister sur d'autres FS, y compris comme amélioration de FS existants), c'est l'intégrité des données. Les particuliers prennent petit-à-petit l'habitude de récupérer leurs données quand ils changent de machine, ce serait bien que leur pérennité soit garanti face à la corruption.

avatar Francis Kuntz | 

Des milliers, rien que ca.

Marrant, faudra qu'on demande les memes becanes a Oracle alors parce nos 6900, quand on les a utilisé avec ZFS et solaris 10 et les zones + Oracle DB, ca c'est fini en reunion de crise chez Sun (a l'epoque) avec la bascule des disques plantes au milieu et le cluster en vrac (donc prod out vu que les deux cote du cluster etaient mort grace a ZFS).
Le tout designe par les ingenieurs de Sun bien sur.
Ca va defoncer AIX qu'ils disaient.

Ha oui, et perf merdiques avec Oracle sans compter la combo avec les Zones. Et oui, comme les acces a la DB sont des appels systemes, ils sont effectues en kernel mode, donc exit les quotas CPU et bonjours la zone de dev qui defonce le CPU de la prod.
Ca va defoncer les LPAR qu'ils disaient.

Et les migrations, quasi infaisable vu qu'on ne peut pas retirer definitivement un disque d'un pool, mais seulement le remplacer (donc exit la reduction du nombre de disque / partitions avec des disques plus gros, le truc pas du tout courant avec la migration des baies de disques..).
Haaaa, retirer un disque du FS, le truc qui existe depuis des plombes sur tous les FS (migratepv vous connaissez ?) mais en dev depuis bien 10 ans sur ZFS (voir abandonne depuis) car "ils n'y avaient pas pense pendant la phase de design".
Ca va defoncer jfs2 qu'ils disaient.

Et la commande scrub qui fout tous le systeme en vrac des qu'un disque meurt. C'est beau une commande capable de mettre une baie de disque a genoux juste pour reparer un disque defectueux. C'est innovant comme ils disent. Bah oui, comme il faut recalculer l'integrite de tous les blocks qui dependent de tous les autres disques, tous les disques sont utilises a 100% pendant la reconstruction, sans compter le CPU. Bien sympa pour la disponibilite de la prod.

Pis le truc vraiment sympa avec la commande scrub qui assure la fiabilite de tout le system c'est que c'est pas automatique. Il faut la lancer a la main, donc si un disque commence a etre corrompu, le systeme ne le detecte pas tant que les donnees en question ne sont pas accede, et la, si un autre disque a deconne, c'est mort les enfants. data lost. Donc il faut lancer la commande scrub frequemment et la retour au probleme de perf precedent et l'equipe SAN qui vous pourrie. Jolie Combo

On va aussi laisser de cote le fait que ZFS se fragmente tout seul par design (copy on write) et qu'il n'y a aucun outil de defragmentation. Sans parler du fait que ca fout en l'air tout le systeme d'optimisation de cache d'oracle DB.

Nan vraiment, que du bonheur ZFS.

avatar rgc2000 | 

Je travaille dans une multinationale avec des serveurs répartis dans des datacenters sur toute la planète alors oui, des milliers de serveurs ça n'a rien d'anormal. En revanche très peu de sparc, surtout du x86 pour des raisons de coûts essentiellement. ZFS a tout de même besoin de tourner sur du matériel récent. L'utiliser sur du matériel obsolète c'est prendre un risque puisque les lectures sont rarement séquentielles. Les paramètres ZFS par défaut ne conviennent qu'à très peu de situations. La fragmentation due au CoW n'est pas gênante si on a pris soin d'utiliser les bonnes techno de stockage derrière (sans être obligé de mettre du SSD partout). Les dernières versions de ZFS sont très stables et il est très rare d'avoir à recourir au scrub aujourd'hui. Même après une panne matérielle l'intégrité des données est conservée.
Toutefois, je le répète, le passage par la case tuning est obligatoire (recordsize, logbias, zil, primarycache, compression ...).
En revanche j'avoue que pour solaris le support Oracle n'est plus ce qu'il était du temps de Sun. Les meilleurs sont partis et les relations ont changé.
Autre problème, le ZFS de Oracle et celui de OpenZFS sont des fork et chacun évolue sur une voie différente. Les améliorations de l'un ne sont pas reportées sur l'autre et c'est bien dommage. Ils ont des numéros de version différents et je ne sais pas s'ils sont compatibles. Jusqu'à la version 28 tout allait bien mais je n'ai pas refait le test depuis. Ce n'est pas une licence GPL et je ne crois pas qu'Oracle publie les sources.

avatar Francis Kuntz | 

1. C'est bien beau mais le 6900 etait la toute derniere becane lorsqu'on la installé, donc pas obsolete du tout.
2. Les SPARCs ne sont pas obsolete et continue d'etre develope (SPARC T5 2013...)
3. ZFS a ete designe avec le SPARC en tete comme la politique de partir sur du x86 a commence apres ses debuts.
4. Le systeme a ete tune par les ingenieurs systeme de Sun et meme eux ne savait plus quoi faire a la fin.
5. Les serveurs x86 de sun/oracle sont des petites machines, on ne peut pas comparer l'utilisation de ZFS / Solaris entre un hotel et un becane x86.

Votre utilisation de ZFS semble etre du pure linux box, a savoir tres simple et limite. Pas de partitionning, pas d'hotel, pas de virtualization lourde, probablement pas de grosse baie EMC non plus.

Donc oui, nos experiences semblent etre differents.

En face on a des hotel IBM qui tournent comme des horloges depuis des années. Sun a gravement chute pendant les annees 2000 alors qu'ils etaient tres bon jusqu'a Solaris 9. Cote OS et Hardware ils sont maintenant a la rue face a IBM.

avatar rgc2000 | 

Je parle de l'utilisation présente de ZFS, pas du passé pour lequel ZFS était buggé. ZFS n'est réellement stable que depuis Sol10 update 10 (ZFS version 29)
Les sparcs sont horriblement chers pour la puissance qu'ils délivrent. Bien entendu, Oracle vous démontrera par A+B que sparc c'est ce qu'il y a de mieux mais tous les commerciaux font ça chez tous les constructeurs. Notre conclusion a été qu'un parc x86 (un cloud privé) était plus flexible et moins cher (à l'achat et à maintenir) que l’équivalent en sparc. De plus il n'est pas facile de se procurer des sparc dans tous les pays. Qui a dit que l'on faisait tourner solaris sur du matériel Oracle ? Pas moi.

ZFS reste un filesystem agréable mais auquel il manque une fonctionnalité qui nous fait cruellement défaut : la possibilité de réduire un filesystem (à chaud). On peut l'augmenter mais jamais le réduire, c'est son plus gros défaut.

avatar Almux | 

Qu'Apple se dépêche d'enrôler cette "équipe"! Ou il lui en cuira!

avatar oomu | 

?

il va lui "en cuire" ?

genre elle va s'en..."mordre les doigts" ?

car elle est au... "bord du gouffre" ?

et bientôt elle sera... DOOOOOOmed !

avatar initialsBB | 

Merci aux spécialistes de nous apporter leur éclairage sur l'article, c'est très intéressant !
Si l'intérêt est limité pour les particuliers d'avoir une pleine implémentation de ZFS, est-ce que le retrait d'Apple voudrait dire qu'ils préparent autre chose? Peut-être n'apportant que quelques unes des avancées relative notamment à Time Machine et l'intégrité des données ?

avatar marc_os | 

« Ce système de fichiers intègre un mécanisme de vérification de l’intégrité des données (qui aurait évité les corruptions qui peuvent apparaître sur un volume HFS+) »

C'est pas comme si l'option HFS+ journalisé existait…
Personnellement, je n'ai jamais eu de corruptions de données sur un volume HFS+ depuis Leopard. C'est dire que ça fait un bail !

avatar Yuku | 

@marc_os :
Je vois pas le rapport entre journalisation et check constant de l'intégrité des données, mais bon...

avatar oomu | 

l'importance des fonctionnalités de zfs pour le grand public est IMMENSE !

La corruption des DONNEES (et non simplement la corruption du système de fichier) est un véritable soucis pour tout le monde.

La masse de donnée est telle de nos jour (rien que les photos) qu'on atteint les limites de l'électronique et les fautes de lecture/écritures sont nombreuses, se multipliant de copie en copie (transfert d'un ordi à un autre, d'une sauvegarde à une autre, etc).

Il est important d'avoir un système de fichier avec gestion de redondance, validation etc.

La Journalisation, très grande fonctionnalité oui, n'est pas suffisante pour cela.

-
"faut du tuning donc c'est trop compliqué".

BAH !
Apple auto-tunera selon les usages prévus des macs, et puis BASTA ! voilà , supersimple houlalalala.

tout FS peut être tuné: taille des blocs, paramètre du journal d'activité, etc. vous le savez très bien.

ZFS n'est pas particulier. Et Apple fera comme d'hab: décider pour les utilisateurs.

-
ZFS n'est certainement pas l'avenir de mac os x, Apple a abandonné ça.

Mais oui, il devient urgent qu'Apple propose autre chose que HFS+

Notons que CoreStorage a apporté à os x la possibilité de modifier la gestion des disques sans chambouler toutes les applications et tout le système. Apple a déjà commencé, lentement, sa migration.

avatar oomu | 

time machine aurait pu aussi bien profiter des fonctionnalités de snapshot de zfs.

CONNEXION UTILISATEUR