GNU/Linux >> Tutoriales Linux >  >> Linux

Configure ZFS en Linux con yum

Soy un usuario de Fedora Linux que ejecuta yum upgrade diario. Si bien este hábito me permite ejecutar todo el software más reciente (una de las cuatro bases de Fedora es "primero" y está a la altura de eso), también resalta cualquier incompatibilidad entre la plataforma de almacenamiento ZFS y un nuevo kernel.

Más recursos de Linux

  • Hoja de trucos de los comandos de Linux
  • Hoja de trucos de comandos avanzados de Linux
  • Curso en línea gratuito:Descripción general técnica de RHEL
  • Hoja de trucos de red de Linux
  • Hoja de trucos de SELinux
  • Hoja de trucos de los comandos comunes de Linux
  • ¿Qué son los contenedores de Linux?
  • Nuestros últimos artículos sobre Linux

Como desarrollador, a veces necesito nuevas funciones de la rama ZFS más reciente. Por ejemplo, ZFS 2.0.0 contiene una característica nueva y emocionante que mejora en gran medida el rendimiento de sincronización de ZVOL, lo cual es fundamental para mí como usuario de KVM. Pero esto significa que si quiero usar la rama 2.0.0, tengo que compilar ZFS yo mismo.

Al principio, solo compilé ZFS manualmente desde su repositorio de Git después de cada actualización del kernel. Si lo olvidé, ZFS no se reconocería en el siguiente arranque. Por suerte, aprendí rápidamente a configurar la compatibilidad con módulos dinámicos del kernel (DKMS) para ZFS. Sin embargo, esta solución no es perfecta. Por un lado, no utiliza el poderoso sistema yum, que puede ayudar a resolver dependencias y actualizaciones. Además, cambiar entre su propio paquete y un paquete ascendente es bastante fácil con yum.

En este artículo, demostraré cómo configurar un repositorio de yum para empaquetar ZFS. La solución tiene dos pasos:

  1. Cree paquetes RPM desde el repositorio ZFS Git
  2. Configure un repositorio de yum para alojar los paquetes

Crear paquetes RPM

Para crear paquetes RPM, debe instalar la cadena de herramientas RPM. Yum proporciona grupos para agrupar la instalación de las herramientas:

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

Una vez instalados, debe instalar todos los paquetes necesarios para compilar ZFS desde el repositorio ZFS Git. Los paquetes pertenecen a tres grupos:

  1. Herramientas automáticas para generar archivos de compilación a partir de configuraciones de plataforma
  2. Bibliotecas para crear herramientas de kernel y de espacio de usuario de ZFS
  3. Bibliotecas para crear paquetes 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

Ahora está listo para crear sus propios paquetes.

Construir OpenZFS

OpenZFS proporciona una excelente infraestructura. Para construirlo:

  1. Clonar el repositorio con git y cambia a la rama/etiqueta que esperas usar.
  2. Ejecute Autotools para generar un archivo MAKE.
  3. Ejecutar make rpm y, si todo funciona, los archivos RPM se colocarán en la carpeta de compilación.
$ git clone --branch=zfs-2.0.0-rc3 https://github.com/openzfs/zfs.git zfs 
$ cd zfs
$ ./autogen.sh
$ ./configure
$ make rpm

Configurar un repositorio de yum

En yum, un repositorio es un servidor o ruta local que incluye metadatos y archivos RPM. Un consumidor configura un archivo de configuración INI y el yum El comando resuelve automáticamente los metadatos y descarga los paquetes correspondientes.

Fedora proporciona el createrepo herramienta para configurar un repositorio de yum. Primero, cree el repositorio y copie todos los archivos RPM de la carpeta ZFS al repositorio. Luego ejecuta createrepo --update para incluir todos los paquetes en los metadatos:

$ 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

Cree un nuevo archivo de configuración en /etc/yum.repos.d para incluir la ruta del repositorio:

$ 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

¡Finalmente, has llegado al final del viaje! Tiene un repositorio de yum en funcionamiento y paquetes ZFS. Ahora solo necesitas instalarlos:

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

Ejecute sudo zfs version para ver la versión de su espacio de usuario y herramientas de kernel. ¡Felicidades! Tienes ZFS para Fedora.


Linux
  1. Linux:¿configurar inicio de sesión automático con Slim?

  2. Cómo crear un sistema de archivos ZFS con compresión de archivos en Linux

  3. Configure el inicio de sesión automático de FTP con el archivo .netrc en Linux

  4. Establecer variable de entorno con espacio en Linux

  5. Cómo configurar las variables de entorno de Linux con Ansible

15 comandos ps de Linux con ejemplos

Cómo administrar paquetes en CentOS con YUM

Gestión de paquetes de Linux con YUM y RPM

Cómo configurar un cortafuegos con GUFW en Linux

Parted Magic Disk Partitioning Live CD actualizado con Linux 4.11.4, ZFS en Linux

Usando el comando tr en Linux para jugar con personajes