Sortie d'OpenZFS 2.2, l'implémentation de ZFS pour Linux et FreeBSD

Après plus de deux ans de développement, la version du projet OpenZFS 2.2, qui développe l'implémentation du système de fichiers ZFS pour Linux et FreeBSD, a été publiée. Le projet a gagné en notoriété sous le nom de « ZFS on Linux » et se limitait auparavant à la création d'un module pour le noyau Linux, mais après le transfert du support de FreeBSD, il a été reconnu comme l'implémentation principale d'OpenZFS et a été renommé.

Le fonctionnement d'OpenZFS a été vérifié avec les noyaux Linux de 3.10 à 6.5 et toutes les branches de FreeBSD, à partir de 12.2-RELEASE. Le code est distribué sous la licence libre CDDL. OpenZFS est déjà utilisé dans FreeBSD et fait partie des distributions Debian, Ubuntu, Gentoo, Sabayon Linux et ALT Linux. Des paquets avec la nouvelle version seront bientôt préparés pour les principales distributions Linux, y compris Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS fournit une implémentation des composants ZFS, liés tant au fonctionnement du système de fichiers qu'au fonctionnement du gestionnaire de volumes. En particulier, les composants suivants sont implémentés : SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) et ZPL (ZFS POSIX Layer). De plus, le projet permet d'utiliser ZFS comme backend pour le système de fichiers cluster Lustre. Les travaux du projet sont basés sur le code original de ZFS, importé du projet OpenSolaris et étendu par des améliorations et des corrections de la communauté Illumos. Le projet se développe avec la participation des employés du laboratoire national de Livermore sous contrat avec le ministère de l'Énergie des États-Unis.

Le code est distribué sous la licence libre CDDL, qui n'est pas compatible avec la GPLv2, ce qui empêche l'intégration d'OpenZFS dans la branche principale du noyau Linux, car le mélange de code sous les licences GPLv2 et CDDL est inacceptable. Pour contourner cette incompatibilité de licence, il a été décidé de distribuer le produit entièrement sous la licence CDDL sous la forme d'un module téléchargeable séparément, qui est fourni séparément du noyau. La stabilité de la base de code d'OpenZFS est jugée comparable à celle d'autres systèmes de fichiers pour Linux.

Principales modifications :

  • Un mécanisme de clonage de blocs a été ajouté, permettant de créer une copie d'un fichier ou d'une partie de celui-ci sans dupliquer les données, en utilisant dans la seconde copie des liens vers les blocs de données existants du fichier source sans leur copie réelle. En cas de modifications apportées au fichier source ou à sa copie, les blocs sont copiés et les modifications sont apportées aux copies créées (mode copy-on-write au niveau des fichiers). L'opération reflink, basée sur le mécanisme de clonage, a été mise en œuvre, et peut être utilisée pour créer automatiquement des clones dans divers utilitaires de copie, par exemple dans les nouvelles versions de /bin/cp sous Linux.
  • Ajout de la prise en charge des technologies utilisées pour l'isolation des conteneurs sous Linux, telles que l'appel système renameat, le système de fichiers overlayfs, le mapping des identifiants d'utilisateurs lors du montage et le délégage des espaces de noms pour les conteneurs.
  • Un journal des erreurs détectées lors de l'exécution des opérations de vérification des sommes de contrôle (scrub) a été implémenté. Lors de l'exécution de la commande « zpool status », des informations sur tous les systèmes de fichiers, snapshots et clones affectés par le bloc corrompu sont affichées. Pour tenter une récupération rapide des blocs corrompus connus, on peut utiliser la commande « zpool scrub -e ».
  • Ajout de la prise en charge d'une fonction de hachage cryptographique BLAKE3 pour les sommes de contrôle, qui se distingue par une performance de calcul de hachage très élevée (trois fois plus rapide qu'Edon-R et significativement plus rapide que sha256 et sha512) tout en garantissant une fiabilité au niveau de SHA-3.
  • L'opération « zfs receive -c » a été mise en œuvre, qui peut être utilisée pour restaurer des données corrompues (pas les métadonnées) dans les systèmes de fichiers, snapshots et clones, lorsqu'il existe une sauvegarde répliquée, préalablement enregistrée par la commande « zfs send ».
  • Ajout de la prise en charge de la définition et de la lecture des propriétés pour des disques virtuels vdev individuels.
  • Ajout de la possibilité d'associer des propriétés utilisateur arbitraires à un vdev et à un zpool, par analogie avec les propriétés utilisateur des ensembles de données zfs.
  • Amélioration de l'implémentation du cache adaptatif ARC (Adaptive Replacement Cache), augmentant les performances des opérations de lecture. L'ARC s'adapte désormais mieux aux charges élevées et minimise la nécessité de l'optimisation manuelle des paramètres.
  • Ajout de la prise en charge des mécanismes d'accélération matérielle pour le calcul des sommes de contrôle SHA2.
  • La mise en œuvre des sommes de contrôle Edon-R a été réécrite et optimisée.
  • Lors de l'utilisation de l'algorithme de compression zstd, la détection des situations où la compression est inutile (les données ne peuvent pas être compressées) a été accélérée.
  • Des améliorations ont été apportées au mécanisme de préchargement (Prefetch), accélérant les opérations lors des entrées/sorties intensives.
  • Une série d'optimisations générales a été introduite, augmentant les performances.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster