Fermer le menu
 

APFS : le futur système de fichiers d’Apple qui va changer votre vie

Mickaël Bazoge | | 20:49 |  187

Comment APFS protège-t-il les données des yeux indiscrets ?

Pour HFS+, Apple a mis au point CoreStorage, qui permet un chiffrement complet du Mac avec une seule clé. Pour iOS, le constructeur utilise une variante de HFS+ qui prend en charge un système de clés par fichiers en lien avec le moteur matériel AES (Advanced Encryption Standard ou standard de chiffrement avancé).

Schéma de l’architecture de sécurité d’iOS.

APFS revoit ces fondations de fond en comble, avec plusieurs niveaux de chiffrement :

  • Pas de chiffrement ;
  • une clé par volume (l’équivalent de ce qui existe actuellement sur OS X) ;
  • chiffrement par clés multiples : pour les métadonnées, pour les fichiers, et pour les « sections » (extents) de fichiers générées par les snapshots et les clones.

En clair, avec APFS, il est possible de chiffrer non seulement les métadonnées d’un fichier, mais aussi le fichier en lui-même, le tout séparément. Un utilitaire de gestion de fichiers peut ainsi déchiffrer les métadonnées d’un fichier (nom, date de création, etc.), mais pas le contenu du fichier, tout dépendant de l’accès donné au logiciel par l’utilisateur.

Comment APFS va-t-il assurer l’intégrité des données ?

Protéger l’intégrité des données, c’est le premier travail d’un système de fichiers. Comme l’explique Adam Leventhal, un tel système doit répondre à cette problématique simple : « Voici mes données, ne les perds pas, ne les modifie pas ». La philosophie d’APFS en matière de redondance des données — pour faire simple, la copie d’un fichier afin de le protéger d’une erreur système ou d’un bug — est bien différente d’avec HFS+ : les copies réalisées depuis le système de fichiers n’en sont pas.

Les copies de fichiers réalisées avec APFS ne sont que des fichiers de métadonnées qui n’embarquent pas les données elles-mêmes. La corruption du disque APFS entraînera des dommages pour tous les fichiers stockées, aussi bien les documents d’origine que leurs copies. C’est là que les snapshots conservés sur d’autres volumes ou d’autres disques sauront se montrer utiles.

La gestion des checksums, ces « résumés » de métadonnées utilisés pour détecter et corriger des erreurs, est aussi bien particulière. APFS tient à jour un checksum de ses propres métadonnées, mais pas des données de l’utilisateur. Apple explique que les mesures de protection ECC, qui vérifient le bon fonctionnement des stockages intégrés dans les produits du constructeur, seront suffisantes pour éviter les problèmes (mais quid des disques SSD ajoutés « à la main » ?).

Chez Apple, les disques NAND et leurs ancêtres à plateaux exploitent la redondance des données pour détecter et corriger les erreurs ; cette redondance n’a que peu d’impact sur l’espace de stockage (elle représente moins de 1% de la capacité du produit). Les produits d’Apple présentant généralement des taux d’erreur assez faibles, ils ne devraient pas présenter de problèmes durant leur durée de vie.

Quelles sont les limites d’APFS ?

La version d’APFS qui sera livrée avec la version finale de macOS Sierra sera une Developer Preview. La première DP présente de sérieuses limitations :

  • impossible de démarrer à partir d’un volume APFS ;
  • les noms de fichiers sont sensibles à la casse uniquement ;
  • les sauvegardes Time Machine ne sont pas prises en charge ;
  • les volumes APFS ne peuvent pas être chiffrés avec FileVault ;
  • les disques Fusion Drive ne sont pas pris en charge.

Tout cela est particulièrement handicapant pour un usage au quotidien, mais personne n’a dit — et surtout pas Apple — que les préversions se destinaient à des Mac de production.

Apple précise également que seuls les Mac équipés d’OS X Yosemite (et ultérieurs) sauront reconnaître les volumes APFS. Les volumes APFS ne pourront être partagés que via le protocole SMB ; l’usage du protocole AFP est « déconseillé », mais de ce qu’on en a compris, il ne sera sans doute jamais pris en charge.

Apple n’a par contre pas (encore) évoqué le sujet du RAID, mais il reste encore du temps au constructeur pour plancher sur le sujet.

Est-ce que APFS sera open source ?

APFS est une technologie propriétaire, et en attendant le lancement de la version finale il n’est pas prévu que la DP du système de fichiers change quoi que ce soit. En revanche, Apple publiera les spécifications techniques pour la version finale d'APFS. Il y a donc fort à parier que le système sera disponible en open source dans le courant de l'année prochaine.

Après tout, Apple sait — quand cela l'arrange — s'adresser à la communauté : qu'on songe à ResearchKit, CareKit, et évidemment Swift. Étrangement, c'était moins clair pour Adam Leventhal, qui écrit lui ne pas s’attendre à ce que le système de fichiers soit open source un jour, bien qu’il y aurait une certaine classe à voir Linux, FreeBSD, voire Microsoft adapter APFS à leurs besoins. On attendra la confirmation officielle l'année prochaine (ou plus tôt).

Quand pourrons-nous profiter d’APFS ?

APFS sera le système de fichiers par défaut de tous les produits Apple d’ici la fin de l’année 2017 (Mac, iPhone, iPad, iPod touch, Apple Watch, Apple TV). Le constructeur met la dernière touche sur un outil de migration transparent de HFS+ vers le nouveau système de fichiers. Les développeurs auront droit à une Developer Preview lorsque Sierra sera disponible en version finale, sans doute cet automne.

Il ne sera donc pas utile de réaliser une sauvegarde complète de ses données, d’effacer son disque dur, de le formater APFS puis de restaurer les données : cet exercice est le chemin le plus court vers de sérieux problèmes pour de nombreux utilisateurs. Avec ce futur outil de migration, leurs données resteront à leur place, le tout devant donner l’impression que rien ne s’est passé. Il est cependant possible que la migration demande un peu de temps.

macOS continuera de supporter HFS+, tout comme les autres systèmes de fichiers : il sera toujours possible de monter un disque formaté HFS+ sur son Mac flambant neuf carburant à l’APFS. Les applications qui fonctionnent sous HFS+ seront compatibles APFS.

Est-ce que j’ai besoin d’APFS ?

Vous n’aurez pas tellement le choix de toute façon.

Catégories: 
Tags : 

Les derniers dossiers

Ailleurs sur le Web


187 Commentaires Signaler un abus dans les commentaires

avatar reborn 28/06/2016 - 20:12 (edité)

l’idéal serait qu'icloud adopte aussi ce système de fichier. De cette manière un volume icloud pourrait apparaître dans le finder au même titre d'un disque local.

Ceux qui voulaient de l'innovation sont (enfin ?) servi !

avatar Mickaël Bazoge macG 28/06/2016 - 20:14

En tout cas, il y a quelque chose qui se prépare avec iCloud Drive, avec Sierra on peut y stocker tous les documents de son Mac.

avatar reborn 28/06/2016 - 20:29

ce qui me rebute actuellement avec ces services de cloud synchronisé c'est que sur iOS il est nécessaire de télécharger le fichier sur l'appareil, y apporter la modification que l'on souhaire y apporter, puis ré-uploader le fichier..

Donc oui si le futur iOS est capable de parcourir un icloud equipé de APFS je dis oui. Cela permettra d’éditer des fichiers sans les télécharger :)



avatar C1rc3@0rc 29/06/2016 - 11:17

@reborn

APFS ne changera rien de ce coté car meme dans le cas d'un pur netcomputer classique, il y a mise en cache du fichier sur lequel on travaille, donc il y aura toujours upload/download au moins en partie du fichier.

De plus le systeme de gestion de fichier (FS) gère les données sur le support a un bas niveau (en dessous de l'OS). Les fonctions de haut niveau se trouve dans l'OS. Donc en fait ni l'utilisateur ni meme la majorité des développeurs ne verront APFS, ils passeront par les applications et les API de l'OS.

Il faut savoir par exemple qu'un des FS les plus avancés au niveau commercial était celui de BeOS qui était basé sur une base de données relationnelle et était capable de gérer nativement la programmation par objet au niveau du FS (BFS).
De son coté NeXTStep lui masquait la différence entre volume réseau et disque interne, mais il reposait sur le vénérable UFS des Unix...

APFS va reprendre des caractéristiques de ZFS et d'EXT3 de Linux, mais cela ne va rien changer pour l'utilisateur. Par contre le fait qu'il soit conçu pour le SSD est inquiétant pour les performances des fichiers stockés sur disque mécaniques: quand on voit la dégradation des performances de MacOS depuis Yosemite sur les disques durs cela pose de sérieuses questions.

«C’est un peu malheureux, mais lors du keynote de la WWDC, Apple a passé plus de temps à annoncer que les émojis de Messages seront trois fois plus gros dans iOS 10 qu’à faire l’article d’APFS.»
Cette keynote était une honte et son inutilité et sa dissociation des attentes publiques resteront remarquables dans l'histoire d'Apple.

Bon, le nouveau FS n'est pas l'objet d'annonces principale meme pour les développeurs. Ceci dit une annonce minimale au keynote aurait été bienvenue et plus adaptée.

avatar byte_order 29/06/2016 - 08:37

> Il faut savoir par exemple qu'un des FS les plus avancé au niveau commercial était
> celui de BeOS qui était basé sur une base de données relationnelle

Initialement. L'architecture hybride FS + base de données a été ensuite fusionné dans un FS intégrant nativement des indexes sur des metadatas, maintenus automatiquement .

> et était
> capable de gérer nativement la programmation par objet au niveau du FS (BFS).

Euh, pas sur de comprendre de quoi vous parlez ici...
Que l"API était/est (Haiku-OS) en C++ ?

avatar frankm 29/06/2016 - 09:22

if (grand_public == keynote_followers) {
keynote ("iMessage and emojis")
}
else {
keynote ("APFS")
}

avatar fte 29/06/2016 - 10:04 (edité)

Un FS est très similaire à un protocole réseau, c'est une pile de couches fonctionnelles, chacune ayant une tâche bien spécifique à remplir. Les couches basses d'un FS sont de bas niveau, celles chargées de gérer le block storage, les couches hautes sont des couches applicatives pas du tout de bas niveau.

BeFS n'est pas le file system le plus avancé. Il ne l'a jamais été. Il a peut-être été le plus original, d'une certaine façon. Gérer nativement la programmation par objet ne veut rien dire. Éventuellement on pourrait dire ça en parlant d'une machine virtuelle ou d'un runtime, mais d'un FS, certes pas.

Quant à NeXTSTEP, il ne masquait pas la différence entre un volume local ou réseau. C'est VFS, la pile de stockage d'UNIX qui remonte au moins à 1985 je crois, pour SunOS et ensuite repris par tous les UNIX, dont NeXTSTEP quelques années plus tard, basé sur BSD btw.

Pour finir, APFS a été plus que minimalement annoncé. Il y a eu une session dédiée et il en a été fait mention dans plusieurs sessions parlant d'IO et de sécurité, et il est disponible dans Sierra pour les développeurs.

Bref. Pourrais-tu vérifier ce que tu avances avant de balancer toutes les pensées aléatoires qui te traversent l'esprit ? A part l'avis personnel sur la keynote, que je partage en partie, tout le reste est à côté de la plaque.

avatar C1rc3@0rc 29/06/2016 - 11:10

@fte
«BeFS n'est pas le file system le plus avancé. Il ne l'a jamais été»

Et quel était le FS le plus avancé sur PC a cette époque alors ?

«Quant à NeXTSTEP, il ne masquait pas la différence entre un volume local ou réseau.»
Ben si, l'utilisateur ne voyait pas de différence entre un volume réseau et un disque local.

«Pour finir, APFS a été plus que minimalement annoncé.»
Aucune communication lors de la keynote!

«Bref. Pourrais-tu vérifier ce que tu avances avant de balancer toutes les pensées aléatoires qui te traversent l'esprit ?»
Pourrais tu répondre a ce qui est écrit plutôt que balancer toutes tes interprétations approximative qui viennent d'une lecture en diagonale.

avatar fte 29/06/2016 - 15:00

"Et quel était le FS le plus avancé sur PC a cette époque alors ?"

Si on écarte les machins expérimentaux, académiques ou restés confidentiels comme par exemple le remarquable Coda de Carnegie...

Milieu des années 90 ? Je dirais XFS. Il avait la journalisation, des B+Tree, les accès en parallèle, une extension de clustering CXFS sauf erreur, les extended attributes, il gagnait pratiquement toutes les comparaisons de performance, rock solid, et c'est peut-être, hors mainframes, le FS qui stockait le plus de TB à cette époque préhistorique.

"Aucune communication lors de la keynote!"

Et alors ? Il n'ont pas non plus annoncé que les messages du répondeur passaient par la reconnaissance vocale et pouvaient être lus, que LLVM supportait maintenant thread-local, que libc++ était conforme C++14... La WWDC ne s'arrête pas au keynote. La conférence commence après le keynote.

Je suis obligé de lire en diagonale. Tu écris en diagonale.

avatar BigMonster 29/06/2016 - 16:49

@ fte

[…LLVM supporte maintenant thread-local…]

Sérieux ? Je croyais qu'il était mort !
On pense de lui ce qu'on veut, mais on ne pouvait quand même pas lui souhaiter ça…

(je suis le petit point, là-bas, sur l'horizon…)

avatar C1rc3@0rc 30/06/2016 - 00:09 (edité)

«Je suis obligé de lire en diagonale. Tu écris en diagonale.»

Evidement...

«Si on écarte les machins expérimentaux, académiques ou restés confidentiels comme par exemple le remarquable Coda de Carnegie...
Milieu des années 90 ? Je dirais XFS.»

Moais XFS, le FS des stations de travail de Silicon Graphics et en 1993 la difference de puissance entre une station de travail et un PC c'etait un peu plus qu'aujourd'hui.

Et ma critique de la keynote ne concerne pas le manque de communication sur des techno cryptiques.

Dire ok, on travaille dur sur le Mac pour en faire le meilleur PC des prochaines annees, on va lui donner un nouveau systeme de fichiers securisé et chiffré, on va le rendre plus performant au niveau graphique, on va passer l'architecture sur ARM, on ameliore Xcode pour produire mieux et de manière plus sécurisé des applications universelles et optimisées! On a plein de choses pour rendre l'iPad encore meilleur pour l'entreprise, l'éducation, et les particuliers, par exemple, oui, l'interface de gestion des sessions,etc

Y a un juste milieu entre balancer de l'info hyper technique comme LLVM supporte maintenant thread-local, ce qui parle a personne et faire dire a Federighi pendant 1 heure: oui on a des emoji plus gros!

Cette keynote était cruciale sur l'avenir d'Apple, autant pour les particuliers que l'entreprise, les financiers, et les développeurs.
Quel est le message de la keynote: on rattrape Google et les développeurs tiers en leur piquant leurs idées, on parle pas de l'iPad, on parle pas de matériel, on parle pas de sécurité, on parle pas de performances (enfin si pour la tocante ce qui n'intéresse personne)... ça rassure qui, ça donne envie de developper pour Mac ou d'acheter un Mac: non!

avatar byte_order 30/06/2016 - 11:34

> Milieu des années 90 ? Je dirais XFS. Il avait la journalisation, des B+Tree,
> les accès en parallèle, une extension de clustering CXFS sauf erreur,
> les extended attributes, il gagnait pratiquement toutes les
> comparaisons de performance, rock solid,
> et c'est peut-être, hors mainframes, le FS qui stockait le plus de TB
> à cette époque préhistorique.

Le plus avancé à l'époque, sans conteste.
Mais il n'était pas aussi performant que ça dans tous les usages.
En particulier pour l'allocation rapide de plein de petits fichiers, il était battu assez nettement par ext2.

XFS a été conçu pour les besoins des stations SGI : des accès sûres, concurrents et rapides à des fichiers de très grosses tailles.

BeOS visant à l'époque le marché du multimedia aussi, bon nombre des concepts de XFS ont été repris dans BFS : 64bits, B+tree, extents, journal, accès concurrents sur les i-nodes, attributs. Malheureusement, l'absence de cache disque dans BeOS a complètement plombé les benchmarks de l'époque (sauf en accès sur des gros fichiers où là c'était similaire à XFS), et l'indexation automatique de certains attributs n'aidant pas non plus. L'ajout d'un cache disque dans Haiku-OS a corrigé depuis le plus gros problème, d'ailleurs.

Reste que les stations SGI c'est pas exactement ce que l'on peut appeler des ordinateurs personnels au sens propre du terme.
C'est bien dommage que XFS n'a pas connu une plus grande audience, cependant. Il a clairement montré la voie, pourtant.

avatar BigMonster 29/06/2016 - 10:29

@C1rc3@0rc

[…Par contre le fait qu'il soit conçu pour le SSD est inquiétant pour les performances des fichiers stockés sur disque mécaniques…]

À mon avis, un système de fichiers est quelque chose qui va devoir être utilisé sur le long terme. Et je pense que dans dix ans, les disques durs mécaniques auront tout simplement disparu.

avatar byte_order 29/06/2016 - 11:46

probable que dans 10 ans les contraintes de devoir gerer le trim des ssd auront elles aussi disparues.

avatar C1rc3@0rc 30/06/2016 - 00:12 (edité)

Probable que dans 10 ans on ne parle meme plus de SSD. C'est quand meme une techno batarde, bourrée de problèmes et qui a une espérance de vie courte au niveau des support de données...

Axer un FS sur le SSD c'est pas pertinent.

Par contre les disques durs, ils risquent d'etre eux encore la dans 10 ans, comme les bande magnetiques...

avatar byte_order 30/06/2016 - 11:47

De nos jours, un bon FS doit pouvoir séparer sa politique d'allocation physique de son organisation logique, j'aurais tendance à dire.

Il est en effet probable que les supports de stockage extrêmement performants de l'avenir ne remettront pas à la retraite le stockage magnétique dont le coût continuera d'être fatalement très compétitif, mais les performances d'accès totalement dépassées.

Ce n'est pas bien grave de toute façon, il m'apparait peu probable que APFS devienne d'ici 10 ans le FS le plus utilisé sur toutes les plateformes. Sur les plateformes d'Apple, oui. Sur les autres, j'en doute fortement.

avatar frankm 29/06/2016 - 09:16

Il se prépare l'ultime convergence : appleOS for iPhone, iPad, Mac et watch

avatar C1rc3@0rc 30/06/2016 - 00:15

Moais, on va avoir un truc nommé Macbook watch, a interface tactile et un ecran de 6" qui se portera sur le poignet, mettra une plombe a lancer des app, ne servira a rien, mais sera vendu une fortune en bijouterie Tati.

OS X: l'unix le plus avancé au monde...
Amertune, amertume.

avatar iGeek07 28/06/2016 - 21:09 via iGeneration pour iOS

@reborn :
Je crois que vous n'avez pas très bien compris ce qu'est un système de fichiers. Qu'iCloud utilise HFS ou plus certainement ext4 (vu qu'iCloud doit tourner sur des serveurs Linux et non des Mac…) ou APFS, ça ne change rien pour "apparaître dans le Finder"…

avatar reborn 28/06/2016 - 21:15 (edité)

j'ai mal exprimé mon souhait. Peut être qu'Apple attend ce nouveau système de fichier pour proposer une bien meilleur expérience d'icloud. Après oui je n'y comprend pas plus que ça

avatar C1rc3@0rc 30/06/2016 - 00:26 (edité)

Non Apple n'attend pas un nouveau FS pour améliorer iCloud.
Ce que je disais précédemment c'est que le NeXT utilisait un systeme de fichier tres classique et pourtant cette machine révolutionnait l'interface en masquant la différence entre un volume local (disque dur) et un volume réseau.
C'est une question d'ergonomie et d'interface graphique pas de technologie.

Apple veut essayer de faire du cloud, mais iCloud c'est juste un systeme de synchro et les compétences d'Apple s'arrête la. Apple ne sait pas faire de netcomputer, n'est pas Oracle et c'est meme l'inverse: l'ADN d'Apple c'est de faire des machines individuelles puissantes et accessibles.
Faut revoir l'interview de Julia dans On refait le Mac, c'est édifiant de simplicité et de bon sens.

Apple a un metier: produire des machines informatiques personnelles et individuelles. Sa caracteristique c'etait l'ergonomie, la simplicité d'utilisation et la qualité.
Aujourd'hui on a le sentiment qu'il y a un logo Apple, mais plus rien derriere: l'innovation ce sont Google, les developpeurs independant, Linux et Microsoft qui la produisent.
L'ergonomie est abandonnée au profit d'une apparence des plus discutable.
Le travail d'ingénierie est pourri par des choix marketing pour augmenter toujours plus les marges.
La direction d'Apple se concentre sur les resultat financiers avant la production materielle et logicielle.

avatar bompi 28/06/2016 - 21:25

Le système de fichiers utilisé par iCloud est "transparent". Pour nous, ce qui compte est la manière de s'y connecter, c'est à dire les protocoles réseau [les méthodes standards, disons] qu'on utilise.

Un peu comme peu importe quel est le type d'un serveur Web (Apache, IIS, WAS, etc.), du moment qu'il parle correctement le protocole du Web (HTTP/s).

avatar fte 24/01/2017 - 21:29 via iGeneration pour iOS

@reborn

Le cloud gère le stockage complètement différemment. Aucun rapport.

Quant à de l'innovation, APFS n'apporte rien qui n'existe pas en production depuis au moins une décennie.

C'est juste un système de fichier moderne à peu près au niveau de plusieurs autres FS modernes déjà en production, pour remplacer le vieux et vénérable HFS+ de 20 ans.

avatar XiliX 25/01/2017 - 16:35

@fte

"C'est juste un système de fichier moderne à peu près au niveau de plusieurs autres FS modernes déjà en production, pour remplacer le vieux et vénérable HFS+ de 20 ans."

HAH ??? lesquels ? NTFS ? ext ?
Même par rapport à ZFS, APFS est juste "très" différent

avatar fte 25/01/2017 - 21:56

Tu n'as rien trouvé de mieux comme comparaison que des FS eux-mêmes vieux de plus de 20 ans ? Enfin, je suppose que tu aurais pu proposer FAT ou ADFS. Ça aurait pu être pire, DECtape par exemple.

Pages