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 Dynamic Kernel Module Support (DKMS). DKMS es un framework que se usa para administrar módulos del kernel de Linux cuyo código fuente existe fuera del árbol principal del kernel. Su función principal es volver a compilar e instalar automáticamente estos módulos cuando se instala un nuevo kernel, lo que garantiza la compatibilidad sin intervención manual.
Si bien los módulos del 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 Lustre administrado 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 y el espacio en disco del sistema. Además, debido a que los módulos se compilan a pedido, los usuarios deben tener en cuenta que los tiempos de inicio de la VM del cliente son mucho más largos y que pueden producirse errores de compilación durante las actualizaciones del kernel.
Plataformas compatibles
Managed Lustre admite paquetes de cliente de DKMS para los siguientes sistemas operativos:
- LTS de Ubuntu 22.04
- Ubuntu 24.04 LTS, solo para VMs de Arm
Requisitos
Para usar DKMS, tu sistema debe incluir lo siguiente:
Todos los paquetes del compilador necesarios para compilar un módulo del 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.
Cómo instalar DKMS y encabezados
Antes de instalar los paquetes DKMS de Lustre administrado, 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 de Ubuntu estándar
Si usas un kernel estándar proporcionado por Ubuntu, puedes instalar los paquetes necesarios con el siguiente comando:
sudo apt update
sudo apt install dkms linux-headers-$(uname -r)
Para kernels personalizados o no estándar
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:
- Consulta la documentación del proveedor de tu SO: Es posible que tu proveedor proporcione un paquete o repositorio específico para los encabezados del kernel.
- Compilación 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 encabezado personalizadas
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 personalizado a la ubicación en la que DKMS espera encontrarlos.
Por ejemplo, si tus 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 del kernel correctos estén instalados correctamente y sean accesibles para DKMS. Si no se encuentran los encabezados, el paquete de DKMS no podrá compilar el módulo del kernel de Lustre.
Instala los paquetes DKMS de Lustre administrado
Para instalar los paquetes DKMS de Lustre administrado, sigue estos pasos.
Configura el acceso al repositorio
Los paquetes del cliente de DKMS se alojan en el proyecto lustre-client-modules-dkms en Artifact Registry.
Para configurar tu VM para que se instale desde Artifact Registry, sigue estas instrucciones.
LTS de Ubuntu 22.04
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.gpgConfigura 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.listActualiza Apt e instala el paquete
apt-transport-artifact-registry:sudo apt update && sudo apt install apt-transport-artifact-registryConfigura 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.listActualiza las fuentes de tu repositorio:
sudo apt updateSi el comando devuelve 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 obtener más información sobre estos comandos en la documentación de Artifact Registry: Configura VMs para instalar paquetes de Debian.
LTS de Ubuntu 24.04
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.gpgConfigura 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.listActualiza Apt e instala el paquete
apt-transport-artifact-registry:sudo apt update && sudo apt install apt-transport-artifact-registryConfigura 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.listActualiza las fuentes de tu repositorio:
sudo apt updateSi el comando devuelve 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 obtener más información sobre estos comandos en la documentación de Artifact Registry: 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
Este paso compila los paquetes del cliente y puede tardar un poco.
Cómo acceder a tu instancia de Managed Lustre y activarla
Sigue las instrucciones en Cómo activar una instancia de Managed Lustre.