Comprendre les conteneurs APFS : partitionner pour mieux régner

J’ai pas mal parlé du système de fichiers APFS ces derniers jours, et voici un autre sujet peu expliqué sur le Net, alors qu’il me semble particulièrement intéressant : la notion de conteneur APFS. Pour la comprendre, il faut revenir à la notion de volume sur un disque.

Normalement, quand vous initialisez un disque, vous créez ensuite un ou plusieurs volumes dessus. Un volume est une partie de l’espace de stockage préparé pour recevoir des données. Traditionnellement, vous voyez un volume sur votre Mac, et il s’appelle Macintosh HD (alors que le petit du pangolin se serait appelé Gérard).

Cependant, pour plein de raisons historiques, il a été possible depuis la nuit des temps de préparer un disque pour créer non pas un mais plusieurs volumes, qu’on a appelé partitions. Et c’était fort pratique pour séparer des données les unes les autres, typiquement : pour installer deux versions de système sur un même disque dur. Cependant, une partition n’est pas forcément un volume : on peut très bien créer une partition sans lui appliquer de système de fichier. Dans ce cas, cette partition ne sera juste pas visible ou exploitable par votre ordinateur.

Donc : un disque peut contenir des partitions, chacune étant ou non préparée pour être un volume.

C’est clair pour tout le monde ? Je peux passer à la suite ?

La partition sur un disque classique

Sur un système de fichier classique, on détermine la taille de la partition lors de sa création. Les systèmes d’exploitation modernes comme macOS sont capables de créer une nouvelle partition simplement en diminuant la taille de la partition en cours, et en créant la nouvelle partition dans l’espace restant. C’est ce que permet Utilitaire de disque quand vous ajoutez une partition sur un système de fichier macOS Étendu (HFS+).

Prenons un cas pratique. J’ai un disque de 500 Go. J’ai initialisé le disque et formaté une partition A pour y créer un volume A1. Tout va bien pour le moment.

Je souhaite maintenant installer un autre système d’exploitation dessus sans toucher à mon système existant. Dans ce cas, je crée une nouvelle partition B de 250 Go, sur lequel j’applique un volume, que j’appelle B1 , et j’installe mon système dessus. Tout va bien aussi.

Le hic, c’est qu’il me faut décider à l’avance de la taille de ma partition, et l’espace alloué lui est définitivement réservé. Ici, chaque volume prend 250 Go, et si une partition est remplie, et bien… tant pis ! Dans certains cas, on pourra éventuellement réduire la taille de la partition, mais c’est une opération quelque peu complexe… et un poil dangereuse (oui, il vaut quand même mieux éviter de triturer les tables de partition dans la mesure du possible même si en cas de problème, Utilitaire de disque saura remettre normalement tout dans l’état avant le partitionnement du disque).

Et alors, et alors, et alors ? APFS est arrivéééééééééééé…

Contrairement à un disque HFS+, un volume APFS est un conteneur intégrant plusieurs volumes distincts. Avec Utilitaire de disque, si on sélectionne le conteneur APFS, on note par exemple un volume VM avant même le volume principal.

Le point le plus intéressant est que l’espace entre les différents volumes du conteneur est fluide, dans le sens où il est partagé entre les différents volumes. Vous disposez de la même quantité d’espace sur votre conteneur APFS, et tous les volumes voient la totalité de l’espace du conteneur comme disponible.

Quel intérêt ? Très simple : ne plus avoir à décider à l’avance la taille d’une partition… et regretter plus tard ce choix. Là, si vous avez décidé de rajouter un volume sur votre conteneur APFS, ça n’a aucune incidence sur l’espace disponible pour les autres partitions. Si vous aviez 300 Go d’espace libre précédemment dans votre conteneur pour votre volume A1, après avoir créé un nouveau volume APFS, le volume A1 verra toujours 300 Go de disponible ! L’espace disponible indiqué pour chaque volume sera toujours exactement le même.

Exemple pratique : j’ai du il y a quelques jours installer un système de test sur un Mac. Plutôt que de partitionner le disque (ce qui peut prendre beaucoup de temps si votre disque contient beaucoup de données, et là encore, manipuler les tables de partition, plutôt bof) sans savoir de combien de place j’aurai besoin, j’ai rajouté un volume au sein du conteneur APFS sans me prendre la tête sur la quantité d’espace nécessaire pour ce volume. Temps de l’opération : 30 secondes, impact sur ma façon de gérer mes données sur mon volume actuel : nul.

Si on ouvre Utilitaire de disque, on a bien ici un conteneur, qui contient d’ailleurs déjà un volume TARDIS.

Conteneur APFS 01

Si on clique sur Partitionner, on obtient un étrange message qui propose de partitionner « à l’ancienne », ou de rajouter plutôt un conteneur APFS.

Conteneur APFS 02

Notez qu’effectivement, il y a bien comme indiqué un menu Ajouter un volume APFS dans le menu Édition. Notez-le si vous décidez de devenir un maniaque du volume APFS.

Conteneur APFS 03

Nommez le volume, et cliquez enfin sur le bouton Ajouter.

Conteneur APFS 04

Et hop : en quelques secondes, le volume APFS était dispo, sans que cela ampute le volume d’origine d’un seul octet (bon, allez, sûrement quelques octets, mais vraiment c’était pas cher payé, et c’était rapide).

Notez bien : désormais, chaque volume dispose du même espace disque disponible. Bon, pas tout à fait, presque disponible, pour des raisons sûrement passionnantes, le volume additionnel peut présenter une taille un peu différente (une vingtaine de Go quand même dans notre cas…). Mais si vous copiez un élément sur le nouveau volume, vous constaterez que l’espace perdu le sera également sur la première.

APFS Comparaison Volumes

Bref, les conteneurs APFS, ce sont les joies de la création de volumes en quelques secondes, et sans toutes les emmerdes habituelles du partitionnement, c’est pas génial ça ? Si, bon.

Pour supprimer le conteneur, cliquez dessus, puis sur le bouton moins, et validez. Hop, le volume disparaît quasi instantanément et toutes ses données avec lui, et vous retrouvez votre volume de démarrage préféré tout seul aux commandes.

Déterminer une taille de réserver et/ou un quota sur un volume APFS

Malgré cela, vous aurez peut-être envie de limiter la place prise par un volume au sein du conteneur APFS. C’est pourquoi, au moment de la création du volume, vous pouvez cliquer sur Options de taille puis déterminer une taille de réserve et un quota de réserve.  La taille de réserve, c’est l’espace minimum garanti pour ce volume APFS : quoi qu’il arrive, il ne pourra descendre en dessous de la taille indiquée. Du coup, il lui sera donné priorité si l’espace venait à manquer entre les deux volumes. La taille de quota, c’est en fait la taille maximale du volume : vous ne pourrez pas le remplir de données au-delà de la quantité indiquée (sinon il hurle et alerte Alexandre Benalla).

Conteneur APFS 06

Considération philosophique du jour : à quand un volume APFS… réservé au système ?

La gestion des conteneurs APFS apporte, mine de rien, un changement assez important dans la façon dont nous traitons les volumes sur nos Mac. Cela peut même avoir certains intérêts pour, par exemple, sécuriser des données dans un volume particulier d’un conteneur dédié (et oui, chaque volume APFS peut avoir son propre chiffrement).

Mai je vois sur le long terme qu’Apple pourrait profiter de son expérience avec iOS pour répliquer le même fonctionnement sur macOS. À savoir : stocker le système des Mac de façon sécurisée dans un volume APFS, et rendre ce dernier quasiment inaccessible. En terme de sécurité, cela serait un progrès non négligeable, et l’intérêt de l’APFS serait de s’assurer que dans tous les cas, les données de l’utilisateur bénéficient toujours du maximum d’espace disponible sur le disque malgré la partition. Les données de l’utilisateur resteraient alors localisées uniquement sur un conteneur séparé du système. Peut-être que je me méprends, mais vu l’iOSsification de macOS, je ne serais pas surpris de voir cela arriver un jour, et peut-être même plus tôt que vous pourriez le croire.

7 commentaires sur “Comprendre les conteneurs APFS : partitionner pour mieux régner”

  1. Bonjour,

    Super article, comme toujours, merci pour l’info !
    Comment fait-on pour modifier après coup les options de taille sur un volume APFS ?
    J’ai créé un volume pour un backup avec CCC avec Safety Net. Mon volue est plein.
    J’ai mis une option de taille. Maintenant, CCC prend beaucoup de temps de avant le backup à pruner pour faire de la place.

    Merci

  2. Question supplémentaire : il ne peut y avoir qu’un seul container par HD ?

    quel serait l’avantage d’en avoir plusieurs ?

    1. On peut en mettre autant qu’on veut, avec donc autant de volumes qu’on veut et autant de versions de macOS qu’on veut par exemple :)

  3. Il semble qu’il n’y ai pas de possibilité de retailler les volumes APFS (même en ligne de commande avec diskutil apfs).
    Par contre, il devrait être capable de créer un nouveau avec les caractéristiques voulues, copier les données (si j’ai bien compris les fichiers ne seront pas vraiment copiés mais juste pointés sur le nouveau volume, donc pas de pb de place), et supprimer l’ancien volume.

    1. Pas besoin justement de retailler les volumes puisque l’espace est partagé entre les volumes, et c’est bien tout l’intérêt :-)

  4. Bravo pour l’acte divinatoire ;-) sur la partition système sécurisée version Catalina ;-)

    1. Eh, je n’écris pas que des conneries parfois, et pour une fois qu’une de mes prédictions tombe pile… ;-)

Les commentaires sont fermés.