Comme je l'ai présenté dans un précédent billet, ZFS est une véritable révolution à plusieurs titres dans le monde des filesystems. Cela dit, l'écosystème ZFS n'est pas encore complètement mature, et un certain nombre de fonctionnalités manquent encore à l'appel, que ce soit au niveau de ZFS lui-même ou de son support par d'autres systèmes/outils.

Retirer un disque d'un zpool

L'une des plus grosses lacunes actuelles de ZFS à mes yeux est l'impossibilité de retirer un disque (un vdev) d'un zpool : il est possible de casser un miroir dans le cas d'un zpool mirroré, il est possible de retirer des disque de hot spare d'un zpool, mais on ne peut pas réduire la taille d'un zpool en retirant définitivement un disque, même s'il y a suffisamment d'espace libre.

A ce jour, la seule solution pour contourner cette lacune est de détruire le zpool et de le recréer avec des disques en moins. On a connu plus pratique.

Boot sur ZFS

Techniquement, on sait aujourd'hui booter OpenSolaris (08.05, à la date de cet article) directement sur un filesystem ZFS, sans avoir besoin d'un petit filesystem UFS pour initialiser le boot. En revanche, ce n'est toujours pas possible dans Solaris 10 (update 5, à la date de cet article). Ca devrait a priori être possible avec l'update 6, attendue d'ici fin 2008.

Mise à jour : effectivement, l'U6 a tenu ses promesses de ce côté, comme souligné par vin0x64 dans son commentaire.

Utilisation de LiveUpgrade avec des zones non-globales sur ZFS

Solaris 10 supporte depuis assez peu de temps l'utilisation d'un zonepath sur ZFS (autrement dit, le filesystem racine d'une zone locale en ZFS). Par ailleurs, LiveUpgrade supporte la mise à jour d'un système disposant de zones locales.

Malheureusement, la combinaison des deux n'est pas supportée sous Solaris 10 : lorsque l'on crée un environnement de boot alterné (ABE) avec lucreate, on ne peut pas spécifier de filesystem cible en ZFS. Il est donc impossible de créer une copie du système d'une zone locale dans un zpool. On ne peut que copier une zone locale installée sur ZFS vers un filesystem UFS/VxFS, ce qui, en pratique, interdit l'utilisation de LiveUpgrade si des zones locales sont sur ZFS.

Il est peu probable que ces fonctionnalités arrivent un jour dans LiveUpgrade, étant donné que l'outil est déjà remplacé par beadm dans OpenSolaris. D'ailleurs, ce dernier, non content de supporter ZFS, tire activement parti de ses fonctionnalités, notamment le snapshot.