ZFS poursuit son expansion loin d’Apple

Nicolas Furno |

Annoncé officiellement pendant le développement de Snow Leopard, le ZFS n’a finalement jamais été adopté par Apple. Pour rappel, ce système de fichiers devait remplacer le HFS+, déjà considéré vieillissant à l’époque, mais le constructeur n’a jamais franchi le pas. Pourtant, il avait de nombreux arguments à faire valoir, comme la possibilité de combiner plusieurs disques durs en un seul, l’intégration d’un système de sauvegarde incrémentale ou encore une sécurité garantie des données stockées.

Dix ans après, plus personne ne croit vraiment à l’arrivée de ZFS dans OS X, mais cela ne veut pas dire que le système de fichiers imaginé à l’origine par Sun Microsystems a disparu pour autant. Plusieurs systèmes basés sur FreeBSD l’ont adopté et en particulier FreeNAS, une distribution spécialisée dans le stockage en réseau, qui en a même fait son système par défaut.

La prochaine version d’Ubuntu, numérotée 16.04, ne va pas aussi loin, mais la prise en charge de ZFS sera presque native à sa sortie. Jusque-là, on pouvait utiliser ce système de fichiers, mais il fallait encore le compiler. Désormais, il suffira d’installer un paquet fourni par les créateurs de la distribution Linux, et on pourra créer et gérer des volumes formatés en ZFS. À terme, peut-être que ZFS fera son retour sur nos Mac via le cloud, constitué d’ordinateurs qui tournent en général grâce à une distribution Linux…

En attendant la sortie d’Ubuntu 16.04, attendue pour le mois d’avril, vous trouverez tous les détails techniques concernant l’intégration de ZFS à cette adresse.

Pour aller plus loin :
Source
Tags
avatar crapule | 

Je rêve à chaque wwdc d'un changement de système de fichiers.

avatar marc_os | 

@crapule :
Et pourquoi donc ?

avatar Moonwalker | 

Et c'est reparti pour le serpent de mer à pingouins.

"ce système de fichiers devait remplacer le HFS+"

Il n'y a que Jonathan Swartz pour avoir raconté cela un soir de beuverie au thé vert en 2007.

Apple avait simplement implémenté le support de ZFS en lecture dans une version d'OS X avant de faire marche arrière dans la suivante pour une question de licence.

Pourquoi ? Il suffit de vous relire : "for business-critical server deployement" comme c'est écrit sur la capture d'écran de votre article de 2009.

WTF aujourd'hui le business-critical server deployement chez Apple ? Rien. Elle est plus attentive au déploiement des AppleWatch dans ses boutiques.

Bref, ZFS c'est sans doute bien sur les gros volumes réseau professionnels (le champ d'action de Nunux et consorts), mais sur un OS grand public y'en a pas casser trois pattes à un canard.

Quant à la prétendue vieillesse du HSF+, c'est un topos de geek dès qu'on parle de ZFS. Accessoirement, c'était aussi l'obsession de Siracusa sur ArsTechnica à quasi chacune de ses célèbres revue. Je n'ai jamais bien compris pourquoi.

Le système de fichier, je m'en soucie lorsque je formate un disque et puis je l'oublie le reste du temps. Et c'est bien comme cela que ça doit être.

avatar Nicolas Furno | 

@Moonwalker :
On ne s'en soucie pas jusqu'au jour où l'on perd des données ou pire, le volume tout entier, à cause des défauts du HFS . Et c'est loin d'être rare, très rare même.

Après, le ZFS n'est pas forcément la réponse. Mais il me semble que réclamer un système de fichiers qui garantit l'intégrité des données n'est pas exagéré en 2016.

avatar sebasto72 | 

@nicolasf :
Exactement.

Avec ton raisonnement @Moonwalker on n'aurait même pas HFS+, on en serait encore au HFS... ou même du FAT, puisqu'on s'en fout une fois le formatage terminé :)

La quête du système de fichiers idéal est loin d'être terminée, pourtant les initiatives ne manquent pas, privées ou open source : ext, reiser, jfs, zfs...

avatar Moonwalker | 

Je ne suis pas ingénieur Apple. Je suis utilisateur d'OS X.

Je me fous de la nature du système de fichier sous OS X. C'est l'affaire d'Apple, pas la mienne.

La quête du système de fichier idéal, je n'en ai strictement rien à foutre. Autant chercher le Graal avec Perceval de Galles.

avatar kinou_ | 

@Moonwalker :
C'est pas faux...

avatar Nicolas R. | 

Si tu te fous du système de fichiers, pourquoi argumenter sur une news traitant du sujet. Faudrait être logique parfois...

avatar hawker | 

ahah, la, c'est pas faux...

Mais quel argument debile serieux, en gros les dires de moontruc, c'est : ''MOA, je pige kedal comment ca marche, alors si je comprend pas, on s'en fou tous''.
Si tout ce que ton cervelet prend pas en compte (et ce doit etre large..) tout le monde s'en foutait, on decouvrirai encore le feu.

Sinon, ouai, j'espere qu'ils sont en train de mettre un fs moderne..

avatar lmouillart | 

Avoir un système de fichier transactionnel pour la partition de l'OS : pratique en cas d'application de màj qui se déroule mal : un rollback et c'est reparti, pas besoin de machin truc de l'espace intersidéral machine.

Avoir un système de fichier qui gère la dé-duplication en cas de machine ayant de multiples comptes : pratique, on économise de l'espace utile, au passage la compression aussi, en plus d'accélérer les débits.

Avoir un système de fichier qui garantie l'intégrité des données ? : pratique avec des disques qui font de l'ordre du To et un de ces 4 du Po, notamment avec les SSD dont des portions se dégradent au fur et à mesure.

Nous sommes d'accord, Apple peut encore faire de nombreuses amélioration pour les machines de mme michu, pour que cela fonctionne mieux, que ce soit plus rapide et plus robuste.

avatar Moonwalker | 

Moi, j'aime bien la machin-truc-de-l'espace-intersidéral machine. Si une mise à jour d'application de déroule mal, je recommence. Si c'est une mise à jour système… attends… ça ne m'arrive jamais ! Maintenant, une possibilité encore plus rapide de restaurer ses données, pourquoi pas ?

La déduplication est l'exemple même de la myopie des geeks. Une bonne idée dans une problématique de stockage mais pas vraiment adaptée à un OS de tous les jours.
https://fr.wikipedia.org/wiki/Déduplication

Des SSD de plusieurs To ? Voire de plusieurs Po ? On en est encore loin. Je ne parle même pas de la pertinence de tels disques dans une optique de stockage. Tu évoques toi-même la limite technique inhérente à cette technologie. Je ne crois pas que le ZFS y fera grand chose, malheureusement. D'ici là, où en sera Apple, où sera OS X ?

Oui, toute amélioration sera bien venue, mais pas nécessairement sous la forme imaginée par certains.

ZFS a été conçu dans une certaine problématique, celle de SUN et de ses serveurs. Il me semble préférable qu'Apple développe ses propres solutions, en fonction de ses propres nécessités. C'est sans doute ce qu'elle a fait avec Core Storage, mais je ne crois pas qu'elle changera de File System de si tôt (mais je ne suis pas dans le secret des dieux).

avatar C1rc3@0rc | 

+1
Il y a aussi une difference de culture majeure.
Apple considere le FS comme un composant qui doit etre minimaliste et rester sous le controle de l'OS.
Les ingénieurs qui ont développé ZFS avaient un point de vue different dans lequel le FS doit faire le maximum de choses pour décharger l'OS. Cela se comprend quand on connait l'architecture d'un serveur employé avec du big data.

Le souci avec l'approche ZFS c'est que justement il decharge l'OS de ses fonctions et que ce faisant il prive l'OS d'une gestion fine des ressources.

Sur un iPhone, iOS contrôle tres finement les composants pour préserver au maximum l'autonomie et garantir une bonne réactivité. Dans ce cadre ZFS pourrait totalement ruiner la réactivité et vider la batterie a une vitesse supersonique.

Puis ZFS rentre aujourd'hui en concurrence avec les fonctions intégrées aux SSD destiné aux PC (contrôle d'intégrité, chiffrement, pre-allocation, compression), au mieux cela ferait de la redondance inutile et gaspillerait des ressources.

avatar lmouillart | 

Ai-je parlé quelque part de ZFS ? Non, j'ai principalement parlé des manques actuels de HFSP/X.
Il est certain que ZFS de par son aspect boite à outils tout-en-un dépasse le cadre d'un simple FS. Il est tout aussi certain que ZFS n'est ni calibré pour du desktop et encore moins pour une utilisation sur un laptop.

La déduplication, rien que pour une machine partagée entre monsieur, madame, et les jeunes, cela permet déjà d'économiser une bonne partie du cache de navigation web/cache spotify. Apple est pingre en espace disque, ce n'est effectivement pas une solution miracle, mais c'est plutôt simple et cela fonctionne bien. Ensuite et surtout avec les snapshot, c'est quasi obligatoire pour ne pas faire exploser les besoins en espace disque.

La gestion des sommes de contrôle c'est aussi important (le To ou Po était là en illustration), nous avons actuellement des milliers, centaines de milliers de fichiers. Avec des FS sans sommes de contrôle au fur et à mesure des redémarrages brutaux et autres, le contenu des fichiers se dégrade et c'est le rôle de la machine (fs) que d'en garantir son état.
---
Timemachine c'est bien, mais il faut avoir un accès physique à la machine en cas de soucis et ce n'est pas toujours possible. Par exemple je gère 3 macs qui sont à 600Km et auxquels j'ai accès physiquement très rarement. J'ai besoin quand quelque chose se passe mal de revenir de manière triviale au dernier état stable connu, actuellement ce n'est pas tellement faisable, et dans le meilleur des cas il faut reprendre une sauvegarde et la rejouer. Avec un snapshot, il suffirait au démarrage d'OS X de choisir le dernier snapshot fiable pour repartir immédiatement dessus.

---
Il est par contre certain aussi que l'HFS à su aussi évoluer en gagnant au fil du temps, un système de compression simple et par fichier, les quotas, la journalisation, les attributs étendus/btree (nos bidules à la BeOS), les ACL et qu'en dessous du FS core storage apporte un système de lvm.

avatar marc_os | 

@lmouillart :
Euh... Tu sais que l'OS et les Apps ne sont installés qu'une fois en général sur une machine ?
Quant à partager le cache de Firefox ou Spotofy, euh.... rien.
:-D
Si : mort de rire !

avatar lmouillart | 

"Tu sais que l'OS ne sont installés qu'une fois en général sur une machine ?"
Non à chaque mise à jour majeure des opérations lourdes et longues d'E/S sont effectuées.

avatar marc_os | 

@lmouillart :
HFS+ journalisé est justement un système transactionnel !!

Ici ça critique à tout vas HFS, mais ça ne semble pas vraiment connaître HFS !

avatar lmouillart | 

Les opérations de lecture/écriture le sont. Mais on ne peut pas débuter une transaction longue qui va fait des centaines de milliers d'écritures (cas typique d'une mise à jour), et l'annuler en court de route car cela s'est mal déroulé, plutôt que de laisser le système dans un état incohérent.

avatar marc_os | 

@ lmouillart
Le système dont tu parles, c'est ton application, l'OS, que sais-je, et c'est à lui de gérer ça s'il en a besoin avec ses propres transactions.
Les transactions au niveau du système de fichiers assurent que... le système de fichier reste cohérent lui même.

avatar lmouillart | 

Oui, Windows est capable de faire cela au dessus du NTFS, mais c'est très complexe et cela marche mal : cas typique fait un upgrade, crashez le système au milieu et regardez le temps qu'il faut pour revenir à un état stable antérieur ou postérieur.

Sinon les snapshots servent à cela, et la cohérence est rétablie de manière triviale au niveau des gestionnaires de démarrage, en reprenant l'ancien snapshot et en supprimant celui corrompu : quelques secondes et pas besoin d'avoir déjà lancé l'OS (qui au passage doit pouvoir se lancer).

avatar Moonwalker | 

Celle-là je la lis souvent. Plus de dix ans sur Mac OS X, avec le HFS+, et toutes ces évolutions, jamais eu de corruption de données, encore moins de perte de volume.

Quand je copie d'un volume à l'autre, même en réseau, tout ce passe très bien. Même Time Machine ne m'a jamais fait de coups bas.

Ah, oui. C'est vrai que je n'utilise par ces bricolages à NTFS ou Boot Camp. Ceci explique peut-être cela.

avatar Florian Innocente | 

@Moonwalker :
Idem. Et les disques durs qui pourraient péter à cause d'HFS ben tu restaures tes sauvegardes sur un nouveau. Au prix où ça coûte…

avatar byte_order | 

Et les sauvegardes elles sont stockées sur quel type de système de fichier ?
;-)

La première règle, c'est pas de sauvegarder vos données, c'est la *diversité* de vos sauvegardes de données.

Autrement dit, ne *jamais* mettre tous vos oeufs dans le même (type) de panier.
Cela vaut pour le matériel comme pour le logiciel.

avatar C1rc3@0rc | 

Il faudrait surtout faire la liste exhaustives des qualités de ZFS, lesquelles sont pertinentes sur des machines individuelles et en quoi ZFS serait vraiment et pratiquement supérieur a HFS sur autre chose qu'un serveur ou un NAS!

HFS garantit l'intégrité des données comme la plupart des autres FS... les E/S sont contrôlées avec un code d'intégrité... mais ni dans ZFS ni dans un autre cela de remplace la sauvegarde, et la sauvegarde c'est une fonction indépendante du FS!

De plus l'integrité des données est aussi une prerogative de l'OS, ZFS s'accaparant une partie de cette fonction, le danger est que l'OS abandonne ce contrôle considéré comme redondant. Ce n'est pas le cas sur les serveur ou c'est le mode transactionnel, mais dans des OS qui visent a préserver au maximum la batterie c'est plus problématique.

SCRUB c'est bien... si on a un RAID miroir qui permet de réparer les données corrompues en temps reel. Mais la aussi la fonction est destinée au serveurs qui ne peuvent être arrêtés et dont la reparation doit se faire en fonctionnement. Pour un Macbook Pro ou un iPhone c'est inutilisable.

Snapshot c'est bien aussi... pour un serveur. Pour se rendre compte de l'inutilité sur un portable il n'y a qu'a tester TimeMachine en local sans disque secondaire. Et Time Machine est optimisée en plus pour cette situation...

Un de ses avantages c'est sa capacité a gérer des espaces de donnees quasi infinis et virtuels. C'est bien pour du datacenter, pour des machines limité a 1To ça n'a pas de sens.

Autre probleme de ZFS, c'est qu'il utilise au maximum la RAM. La aussi c'est tres bien sur un serveur gavé de RAM, mais sur des machines ultra-limitées comme celles d'Apple ZFS serait étouffé mais aussi casserait l'impression de vitesse donnée par le SSD par rapport au DD.

Bref ZFS sur portable serait tellement limité qu'au final le prix du bouleversement n'en vaudrait probablement pas la peine.

avatar Un Type Vrai | 

Tout est dit.

avatar webHAL1 | 

@nicolasf :
Entièrement d'accord !

avatar marc_os | 

@nicolasf :
Jamais vu ça "à cause de HFS".
Jamais depuis le système 6.04 !
Des disques défectueux physiquement, oui, illisibles à cause de HFS, jamais,
J'ai même un jour patiemment réussi à récupérer les données d'un disque en train de mourir.

avatar LoydD | 

@marc_os

Je me bats actuellement pour récupérer des données sur DD qui en train de mourir, comme tu dis. Peux-tu stp m'aiguiller sur la méthode que tu as utilisée pour récupérer tes données ?
Merci

avatar marc_os | 

@ LoydD
A l'époque je l'ai fait sans outil de récupération dédié, ce qui est le mieux quand même en principe. Bref, j'ai mis le DD dans un boitier externe et j'ai trivialement fait de la recopie via le Finder. Et à chaque fois que ça plantait, je reprenais la copie en zappant le fichier suivant le dernier fichier qui avait pu être recopié. Le fichier "suivant", c'est dans l'ordre alphabétique, car les copies via Finder recopient les fichier dans cet ordre qui est l'ordre naturel du "catalogue" du format HFS. Vu que les secteurs endommagés ne suivent pas cet ordre, la copie est interrompue à chaque fois qu'elle tombe sur un fichier touché. C'est lourdingue et long, mais ça l'a fait.

avatar LoydD | 

@marc_os
Merci !

avatar Un Type Vrai | 

ZFS sur un système monodisque qui grille changera tout à la perte de données.
Ou pas.

avatar melaure | 

Non finalement Apple va prendre le JFS2, au moins je pourrais gérer ça comme au boulot ;)

avatar xum | 

L'inconvenient de ZFS et plus generalement des FS qui garantissent l'integrité des données sur le disque sur la durée, c'est qu'il est fortement conseillé d'utiliser de la Ram ECC, donc CPU / controlleur memoire compatible. (Pour eviter justement que lors du controle d'integrité, le Fs ecrase des données valides sur le disque par des données erronnées en ram)
Je pense que le rapport prix vs interet pour le grand public est loin d'etre interessant sinon on tournerait tous avec de l'ECC. (C'est d'ailleur un gros manque du mac mini pour en faire une solution serieuse de mini serveur)
Après ZFS reste une super fs pour serveur

avatar Moonwalker | 

Tiens, voilà un post intéressant qui m'en apprend plus. Merci.

avatar fautedegout | 

@Moonwalker :
Que tu n'y connaisses rien est une chose, que tu prennes les commentateurs pour des blaireaux en est une autre. BFS etait une base de données metadata 64 bits à lui tout seul. Pas de processus lourds d'indexation comme spotlight par exemple...tu veux que je te donne d'autres exemples probants ou tu veux persévérer dans l'idolatrie ?

avatar Moonwalker | 

J'ai beaucoup de respect pour les blaireaux, un charmant plantigrade de nos forêts. Pour toi, par contre…

Retourne jouer avec ton BeOS avorté. Pendant ce temps, comme plusieurs millions de personnes, je travaille avec OS X.

Question idolâtrie, les thuriféraires du "plan B" m'ont toujours amusés. Pis que des Hare Krishna.

avatar marc_os | 

@fautedegout :
HFS et HFS+ utilisent des "balanced B tree" pour gérer le catalogue. (C'est ce qui fait je pense que la recherche par nom d'un fichier est autrement plus rapide que sous Windows.)
Et les BBTrees c'est la technique de base de quoi au départ ?
Et bien ça sert aux indexes de... bases de données.

avatar Fredje_B | 

@xum...ce n'est pas que souhaitable, c'est tout simplement indispensable...sans contrôle ECC, ZFS applique les erreurs mémoires au moment de la sauvegarde et perd toute son efficacité!

J'ai un serveur Ubuntu à la maison sans ECC avec 2 pools ZFS ZRAID5 dont un qui contient plusieurs centaines de Gigas de photos...et bien malheureusement il m'arrive encore d'en retrouver des dégradées (la photo qui se lit que jusqu'à la moitié par exemple)...

Et attention, le scrub ne sauve pas tout non plus...une fois le nombre maximum de bad sector atteint, les erreurs encore présentes le resteront...là faut se dépêcher de changer le disques défectueux et c'est vrai que ça reste assez facile à faire (pour qui n'a pas peur de la ligne de commande ;) ).

J'adore ZFS pour ce qu'il apporte sur un serveur : gestion de pool de disques, snapshot, etc....mais je rejoins ceux qui disent que ça n'apporterait que peu de chose au monde des laptop/desktop et encore moins sur les smartphones/horloge connectée/box TV.

avatar hagen | 

@crapule

Absolument d'accord avec toi !
C'est tout simplement incroyable qu'HFS soit encore d'actualité.

avatar Moonwalker | 

En fait, c'est HFS+ – et même HFSX+ depuis Tiger –, le HFS n'est plus supporté il me semble.

avatar hagen | 

@Moonwalker

A ceci près qu'un FS moderne, incluant des snapshots notamment, permettrait de revoir en profondeur Time machine qui n'a plus évolué depuis des lustres ce qui est fort dommage.

avatar Moonwalker | 

Heu…

Là encore un truc gratuit : dommage que Time Machine n'a pas évolué. Ah bon ? Pourquoi ?

Time Machine fait le travail que je lui demande. Sans problèmes.

Maintenant on peut avoir des desiderata sur Time Machine, comme sur d'autres aspects du système, mais c'est Apple qui conserve la main sur les évolutions et la direction qu'elle veut donner à ses outils.

avatar iDuplo | 

A quand un système de fichiers moderne compatible avec tous les OS ?
C'est super contraignant de devoir jongler avec les trois FS du marché !

avatar fautedegout | 

HFS+ est connu et archi connu comme étant dépassé. Ce n'est pas un truc de geek. C'est juste une évidence. BeFS par exemple, il y a 15 ans, était déjà plus moderne qu'HFS+ qui n'a pratiquement pas évolué depuis.

avatar Moonwalker | 

Une évidence ?

À force de le répéter certains on finit par le croire sans autre forme de procès.

Renseigne-toi, depuis 15 ans, le HFS+ a pas mal évolué.

BeFS ? Tu veux parler de BFS, le système de fichier de BeOS, je présume. Ce qui faisait sa nouveauté a été intégré depuis longtemps, et d'autant plus facilement que ceux qui l'ont développé sont allé par la suite travailler pour Apple.

Il semble qu'Apple préfère procéder par touches pour améliorer son système de fichier, en fonction de ce qu'elle juge nécessaire à son OS, plutôt que de réaliser les fantasmes d'une minorité de "spécialistes".

avatar marc_os | 

@fautedegout :
Blabla avec ZÉRO argument factuel !
"C'est bien connu que" n'est pas un argument !
D'ailleurs c'est bien connu que la terre est plate est que Dieu a créé la terre en 7 jours !

avatar CR_B | 

ZFS n'est pas prêt d'arriver sur un OS client.

Pour ceux qui se demandent pourquoi il suffit de voir les config mini de FreeNAS avec ZFS:

Un CPU 64bits multicore et 8Gb de ram (mini de chez mini, la recommandation augmente avec la taille du disque).
Tout ça pour juste partager des fichiers.

avatar fte | 

ZFS est un fantasme.

Ce FS a de grandes qualités, c'est indéniable. Mais il n'est ni parfait, ni universel.

Pour commencer, les pools de disques se planifient. On ne peut pas réorganiser une pool ZFS n'importe comment quand on veut. Le FS n'est pas pensé pour être ultra-simple à manager. Il est puissant, et il demande connaissances et compétences.

Ensuite ZFS est gourmand en mémoire. En gros 1 GB par TB.

Et ZFS aussi solide soit-il, n'est pas performant. Il n'est pas pensé pour être rapide, il est pensé pour être incassable et giganorme.

Est-il adapté pour un NAS géré par quelqu'un qui sait ce qu'il fait ? Définitivement. Est-il adapté pour un ordinateur personnel ? Hell no !

Le plus probable à moyen terme est qu'Apple révise HFS+ et ajoute le copy on write principalement, hard links et snapshots possiblement. Core Storage se charge déjà du pooling de drives et cache (fusion drive).

Improbable mais plus probable que ZFS, Apple pourrait adopter une version augmentée de Btrfs. Mais franchement, je n'y crois pas. Déjà que je ne crois pas à une révision d'HFS+ prochainement, alors un changement de FS, wooo. Non.

avatar marc_os | 

ZFS supporte les "ressource forks" généralisés ?

avatar byte_order | 

Oui. Mais au dessus, selon le type d'API pour y acceder (xattr par exemple), des limites peuvent s'ajouter, en particulier sur la taille maximum des données.
Mais du point de vue de ZFS, il s'agit juste de fichier mais dans un namespace different...

avatar fautedegout | 

Je crois que personne d'avisé ne préconise ZFS comme FS grand public...En revanche, toute personne avisée, qui a un peu de recul sur les technos (en gros pas le gros fanboy insultant qui traine plus haut là) sait pertinemment que HFS+ est une daube archaïque....qui devrait être remplacé au plus vite.

Tous les processus d'indexation de type mdworker (et pas que...) sont une vaste blague...personne ne peut légitimement penser que HFS+ est encore un FS valable.

Pages

CONNEXION UTILISATEUR