Compatibilidad con módulos de kernel dinámicos (DKMS) para clientes de Compute Engine

Si tu organización usa kernels personalizados o requiere configuraciones de entorno específicas, es posible que los paquetes estándar de Lustre no sean compatibles.

En estas situaciones, Managed Lustre admite la compatibilidad con módulos de kernel dinámicos (DKMS). DKMS es un framework que se usa para administrar módulos de kernel de Linux cuyo código fuente existe fuera del árbol de kernel principal. Su función principal es volver a compilar y, luego, instalar automáticamente estos módulos cuando se instala un kernel nuevo, lo que garantiza la compatibilidad sin intervención manual.

Si bien los módulos de kernel precompilados siguen siendo la ruta de instalación recomendada para la mayoría de los usuarios, DKMS proporciona una alternativa para quienes usan kernels de Linux personalizados.

Consideraciones

El uso de la compatibilidad con módulos de kernel dinámicos (DKMS) para el cliente de Managed Lustre está destinado específicamente a usuarios avanzados que requieren compatibilidad con kernels personalizados y están preparados para administrar los problemas del cliente por su cuenta. A diferencia de los módulos precompilados, DKMS requiere la instalación de una cadena de herramientas de compilador completa y encabezados de kernel específicos, lo que aumenta la superficie de ataque de seguridad del sistema y el espacio en disco. Además, debido a que los módulos se compilan a pedido, los usuarios deben tener en cuenta los tiempos de inicio de la VM del cliente significativamente más largos y la posibilidad de fallas de compilación durante las actualizaciones del kernel.

Plataformas compatibles

Managed Lustre admite paquetes de cliente DKMS para lo siguiente:

  • LTS de Ubuntu 22.04
  • LTS de Ubuntu 24.04, solo para VMs de Arm.

Requisitos

Para usar DKMS, tu sistema debe incluir lo siguiente:

  • Todos los paquetes de compilador necesarios para compilar un módulo de kernel (esto es específico de la distribución)

  • Los encabezados de tu kernel específico (en el caso de los kernels personalizados, debes dirigir manualmente el servicio DKMS a la ubicación del encabezado)

DKMS no es compatible con las VMs protegidas.

Instala DKMS y los encabezados

Antes de instalar los paquetes DKMS de Managed Lustre, debes instalar el paquete dkms y los encabezados de kernel de Linux correctos para tu sistema. La versión de los encabezados del kernel debe coincidir exactamente con la versión del kernel que estás ejecutando.

Para kernels estándar de Ubuntu

Si usas un kernel estándar que proporciona Ubuntu, por lo general, puedes instalar los paquetes necesarios ejecutando lo siguiente:

sudo apt update
sudo apt install dkms linux-headers-$(uname -r)

Para kernels no estándar o personalizados

Si usas un kernel personalizado, eres responsable de obtener e instalar los encabezados de kernel correctos.

El proceso para instalar encabezados para un kernel personalizado varía según su fuente. Es posible que debas hacer lo siguiente:

  • Consultar la documentación del proveedor del SO: Es posible que el proveedor proporcione un paquete o repositorio específico para los encabezados del kernel.
  • Compilar desde la fuente: Si compilaste el kernel por tu cuenta, es posible que debas compilar e instalar los encabezados desde el árbol de origen del kernel.

Ubicaciones de encabezados personalizados

DKMS espera encontrar los encabezados del kernel en el directorio /usr/src/linux-headers-$(uname -r). Ejecuta el comando uname -r para obtener la cadena de versión del kernel y construir la ruta de acceso. Por ejemplo: /usr/src/linux-headers-5.15.0-101-generic.

Si los encabezados del kernel no están instalados en la ubicación esperada, debes dirigir manualmente el servicio DKMS a esa ubicación creando un vínculo simbólico desde tu directorio de encabezados personalizados hasta la ubicación en la que DKMS espera encontrarlos.

Por ejemplo, si los encabezados se encuentran en /opt/custom-kernel/headers/, ejecuta el siguiente comando:

sudo ln -s /opt/custom-kernel/headers/ /usr/src/linux-headers-$(uname -r)

Es tu responsabilidad asegurarte de que los encabezados de kernel correctos estén instalados de forma adecuada y sean accesibles para DKMS. Si no se encuentran los encabezados, el paquete DKMS no podrá compilar el módulo de kernel de Lustre.

Instala los paquetes DKMS de Managed Lustre

Para instalar los paquetes DKMS de Managed Lustre, sigue estos pasos.

Configura el acceso al repositorio

Los paquetes de cliente DKMS se alojan en el proyecto lustre-client-modules-dkms en Artifact Registry.

Para configurar tu VM para instalar desde Artifact Registry, sigue estas instrucciones.

LTS de Ubuntu 22.04

  1. Instala las claves de firma del repositorio de Apt:

    curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg \
      | sudo gpg --dearmor -o /usr/share/keyrings/google-cloud.gpg
    curl -fsSL https://us-apt.pkg.dev/doc/repo-signing-key.gpg \
      | sudo gpg --dearmor -o /usr/share/keyrings/lustre-client.gpg
    
  2. Configura tu VM para acceder a los paquetes de Artifact Registry:

    echo 'deb [signed-by=/usr/share/keyrings/google-cloud.gpg] http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' \
      | sudo tee /etc/apt/sources.list.d/artifact-registry.list
    
  3. Actualiza Apt y, luego, instala el paquete apt-transport-artifact-registry:

    sudo apt update && sudo apt install apt-transport-artifact-registry
    
  4. Configura Apt para recuperar paquetes del repositorio:

    echo "deb [signed-by=/usr/share/keyrings/lustre-client.gpg] ar+https://us-apt.pkg.dev/projects/lustre-client-modules-dkms lustre-client-ubuntu-jammy main" \
      | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    
  5. Actualiza las fuentes de tu repositorio:

    sudo apt update
    

    Si el comando muestra un error, asegúrate de que tu VM de Compute Engine se haya creado con el permiso de acceso que permite el acceso completo a todas las API de Cloud. Consulta Otorga acceso a las instancias de Compute Engine para obtener más detalles.

Puedes encontrar más información sobre estos comandos en la documentación de Artifact Registry documentation: Configura VMs para instalar paquetes de Debian.

LTS de Ubuntu 24.04

  1. Instala las claves de firma del repositorio de Apt:

    curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg \
      | sudo gpg --dearmor -o /usr/share/keyrings/google-cloud.gpg
    curl -fsSL https://us-apt.pkg.dev/doc/repo-signing-key.gpg \
      | sudo gpg --dearmor -o /usr/share/keyrings/lustre-client.gpg
    
  2. Configura tu VM para acceder a los paquetes de Artifact Registry:

    echo 'deb [signed-by=/usr/share/keyrings/google-cloud.gpg] http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' \
      | sudo tee /etc/apt/sources.list.d/artifact-registry.list
    
  3. Actualiza Apt y, luego, instala el paquete apt-transport-artifact-registry:

    sudo apt update && sudo apt install apt-transport-artifact-registry
    
  4. Configura Apt para recuperar paquetes del repositorio:

    echo "deb [signed-by=/usr/share/keyrings/lustre-client.gpg] ar+https://us-apt.pkg.dev/projects/lustre-client-modules-dkms lustre-client-ubuntu-noble main" \
      | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    
  5. Actualiza las fuentes de tu repositorio:

    sudo apt update
    

    Si el comando muestra un error, asegúrate de que tu VM de Compute Engine se haya creado con el permiso de acceso que permite el acceso completo a todas las API de Cloud. Consulta Otorga acceso a las instancias de Compute Engine para obtener más detalles.

Puedes encontrar más información sobre estos comandos en la documentación de Artifact Registry documentation: Configura VMs para instalar paquetes de Debian.

Instala los paquetes de cliente de Lustre

Sigue las instrucciones para instalar los paquetes de cliente de Lustre.

LTS de Ubuntu 22.04

Ejecuta los siguientes comandos:

sudo apt install lustre-client-modules-dkms/lustre-client-ubuntu-jammy
sudo apt install lustre-client-utils/lustre-client-ubuntu-jammy

LTS de Ubuntu 24.04

Ejecuta los siguientes comandos:

sudo apt install lustre-client-modules-dkms/lustre-client-ubuntu-noble
sudo apt install lustre-client-utils/lustre-client-ubuntu-noble

En este paso, se compilan los paquetes de cliente, lo que puede llevar un tiempo.

Activa tu instancia de Managed Lustre y accede a ella

Sigue las instrucciones en Activa una instancia de Managed Lustre.