GNU/Linux >> Tutoriels Linux >  >> Linux

Configurer ZFS sur Linux avec yum

Je suis un utilisateur Fedora Linux qui exécute yum upgrade du quotidien. Bien que cette habitude me permette d'exécuter tous les logiciels les plus récents (l'une des quatre fondations de Fedora est "la première", et elle est à la hauteur de cela), elle met également en évidence toute incompatibilité entre la plate-forme de stockage ZFS et un nouveau noyau.

Plus de ressources Linux

  • Aide-mémoire des commandes Linux
  • Aide-mémoire des commandes Linux avancées
  • Cours en ligne gratuit :Présentation technique de RHEL
  • Aide-mémoire sur le réseau Linux
  • Aide-mémoire SELinux
  • Aide-mémoire sur les commandes courantes de Linux
  • Que sont les conteneurs Linux ?
  • Nos derniers articles Linux

En tant que développeur, j'ai parfois besoin de nouvelles fonctionnalités de la dernière branche ZFS. Par exemple, ZFS 2.0.0 contient une nouvelle fonctionnalité intéressante améliorant considérablement les performances de synchronisation ZVOL, ce qui est essentiel pour moi en tant qu'utilisateur KVM. Mais cela signifie que si je veux utiliser la branche 2.0.0, je dois construire ZFS moi-même.

Au début, je compilais ZFS manuellement à partir de son référentiel Git après chaque mise à jour du noyau. Si j'oubliais, ZFS ne serait pas reconnu au prochain démarrage. Heureusement, j'ai rapidement appris à configurer la prise en charge dynamique des modules du noyau (DKMS) pour ZFS. Cependant, cette solution n'est pas parfaite. D'une part, il n'utilise pas le puissant système yum, qui peut aider à résoudre les dépendances et à mettre à niveau. De plus, basculer entre votre propre package et un package en amont est assez facile avec yum.

Dans cet article, je vais vous montrer comment configurer un référentiel yum pour empaqueter ZFS. La solution comporte deux étapes :

  1. Créer des packages RPM à partir du référentiel ZFS Git
  2. Configurer un référentiel yum pour héberger les packages

Créer des packages RPM

Pour créer des packages RPM, vous devez installer la chaîne d'outils RPM. Yum fournit des groupes pour regrouper l'installation des outils :

sudo dnf group install 'C Development Tools and Libraries' 'RPM Development Tools'

Une fois ceux-ci installés, vous devez installer tous les packages nécessaires pour créer ZFS à partir du référentiel ZFS Git. Les packages appartiennent à trois groupes :

  1. Autotools pour générer des fichiers de compilation à partir des configurations de plate-forme
  2. Bibliothèques pour la création d'outils pour le noyau et l'espace utilisateur ZFS
  3. Bibliothèques pour créer des packages RPM
sudo dnf install libtool autoconf automake gettext createrepo \
    libuuid-devel libblkid-devel openssl-devel libtirpc-devel \
    lz4-devel libzstd-devel zlib-devel \
    kernel-devel elfutils-libelf-devel \
    libaio-devel libattr-devel libudev-devel \
    python3-devel libffi-devel

Vous êtes maintenant prêt à créer vos propres packages.

Construire OpenZFS

OpenZFS fournit une excellente infrastructure. Pour le construire :

  1. Cloner le dépôt avec git et basculez vers la branche/tag que vous espérez utiliser.
  2. Exécutez Autotools pour générer un makefile.
  3. Exécutez make rpm et, si tout fonctionne, les fichiers RPM seront placés dans le dossier build.
$ git clone --branch=zfs-2.0.0-rc3 https://github.com/openzfs/zfs.git zfs 
$ cd zfs
$ ./autogen.sh
$ ./configure
$ make rpm

Configurer un dépôt yum

Dans yum, un référentiel est un serveur ou un chemin local qui inclut des métadonnées et des fichiers RPM. Un consommateur configure un fichier de configuration INI, et le yum La commande résout automatiquement les métadonnées et télécharge les packages correspondants.

Fedora fournit le createrepo outil pour mettre en place un repo yum. Tout d'abord, créez le référentiel et copiez tous les fichiers RPM du dossier ZFS vers le référentiel. Ensuite, exécutez createrepo --update pour inclure tous les packages dans les métadonnées :

$ sudo mkdir -p /var/lib/zfs.repo 
$ sudo createrepo /var/lib/zfs.repo
$ sudo cp *.rpm /var/lib/zfs.repo/
$ sudo createrepo --update /var/lib/zfs.repo

Créez un nouveau fichier de configuration dans /etc/yum.repos.d pour inclure le chemin du référentiel :

$ echo \
"[zfs-local]\\nname=ZFS Local\\nbaseurl=file:///var/lib/zfs.repo\\nenabled=1\\ngpgcheck=0" |\
sudo tee /etc/yum.repos.d/zfs-local.repo

$ sudo dnf --repo=zfs-local list available --refresh

Enfin, vous avez atteint la fin du voyage ! Vous disposez d'un référentiel yum fonctionnel et de packages ZFS. Il ne vous reste plus qu'à les installer :

$ sudo dnf install zfs 
$ sudo /sbin/modprobe zfs

Exécutez sudo zfs version pour voir la version de vos outils userland et kernel. Toutes nos félicitations! Vous avez ZFS pour Fedora.


Linux
  1. Linux – Suid n'a aucun effet sur les répertoires avec Linux ?

  2. Linux - Configurer la connexion automatique avec Slim ?

  3. Définir la variable d'environnement avec un espace sous Linux

  4. Comment définir des variables d'environnement Linux avec Ansible

  5. Comment configurer un serveur Linux en tant que routeur avec NAT

15 Commande Linux ps avec exemples

Comment gérer les packages sur CentOS avec YUM

Gestion des packages Linux avec YUM et RPM

Comment configurer un pare-feu avec GUFW sous Linux

Parted Magic Disk Partitioning Live CD Mis à jour avec Linux 4.11.4, ZFS sous Linux

Utilisation de la commande tr sous Linux pour jouer avec des personnages