Dynamic Kernel Module Support (DKMS) per i client Compute Engine

Se la tua organizzazione utilizza kernel personalizzati o richiede configurazioni specifiche dell'ambiente, i pacchetti Lustre standard potrebbero non essere compatibili.

In queste situazioni, Managed Lustre supporta Dynamic Kernel Module Support (DKMS). DKMS è un framework utilizzato per gestire i moduli del kernel Linux il cui codice sorgente esiste al di fuori dell'albero del kernel principale. La sua funzione principale è ricompilare e installare automaticamente questi moduli quando viene installato un nuovo kernel, garantendo la compatibilità senza intervento manuale.

Sebbene i moduli kernel precompilati rimangano il percorso di installazione consigliato per la maggior parte degli utenti, DKMS fornisce un'alternativa per chi utilizza kernel Linux personalizzati.

Considerazioni

L'utilizzo del supporto del modulo del kernel dinamico (DKMS) per il client Managed Lustre è destinato in modo specifico agli utenti avanzati che richiedono la compatibilità con i kernel personalizzati e sono pronti a gestire autonomamente i problemi lato client. A differenza dei moduli precompilati, DKMS richiede l'installazione di una toolchain del compilatore completa e di intestazioni del kernel specifiche, il che aumenta la superficie di attacco alla sicurezza e l'ingombro su disco del sistema. Inoltre, poiché i moduli vengono compilati on demand, gli utenti devono tenere conto di tempi di avvio della VM client notevolmente più lunghi e della possibilità di errori di compilazione durante gli aggiornamenti del kernel.

Piattaforme supportate

Managed Lustre supporta i pacchetti client DKMS per:

Requisiti

Per utilizzare DKMS, il tuo sistema deve includere:

  • Tutti i pacchetti del compilatore necessari per compilare un modulo kernel. Questo valore è specifico per la distribuzione.

  • Le intestazioni per il tuo kernel specifico. Per i kernel personalizzati, devi indicare manualmente al servizio DKMS la posizione dell'intestazione.

DKMS non è supportato sulle Shielded VM.

Installa DKMS e le intestazioni

Prima di installare i pacchetti DKMS di Managed Lustre, devi installare il pacchetto dkms e gli header del kernel Linux corretti per il tuo sistema. La versione delle intestazioni del kernel deve corrispondere esattamente alla versione del kernel in esecuzione.

Per i kernel Ubuntu standard

Se utilizzi un kernel standard fornito da Ubuntu, in genere puoi installare i pacchetti necessari eseguendo:

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

Per kernel non standard o personalizzati

Se utilizzi un kernel personalizzato, è tua responsabilità ottenere e installare le intestazioni del kernel corrette.

La procedura per installare le intestazioni per un kernel personalizzato varia a seconda della sua origine. Potresti dover:

  • Consulta la documentazione del fornitore del sistema operativo: il fornitore potrebbe fornire un pacchetto o un repository specifico per le intestazioni del kernel.
  • Compilazione dall'origine: se hai compilato il kernel autonomamente, potresti dover creare e installare le intestazioni dall'albero delle origini del kernel.

Posizioni delle intestazioni personalizzate

DKMS prevede di trovare le intestazioni del kernel nella directory /usr/src/linux-headers-$(uname -r). Esegue il comando uname -r per ottenere la stringa della versione del kernel e costruire il percorso. Ad esempio /usr/src/linux-headers-5.15.0-101-generic.

Se le intestazioni del kernel non sono installate nella posizione prevista, devi indirizzare manualmente il servizio DKMS a quella posizione creando un link simbolico dalla directory delle intestazioni personalizzate alla posizione in cui DKMS si aspetta di trovarle.

Ad esempio, se le intestazioni si trovano in /opt/custom-kernel/headers/, esegui il seguente comando:

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

È tua responsabilità assicurarti che le intestazioni del kernel corrette siano installate correttamente e accessibili a DKMS. Se non è possibile trovare le intestazioni, il pacchetto DKMS non riuscirà a creare il modulo del kernel Lustre.

Installa i pacchetti DKMS di Lustre gestito

Per installare i pacchetti DKMS di Managed Lustre, segui questi passaggi.

Configurare l'accesso al repository

I pacchetti client DKMS sono ospitati nel progetto lustre-client-modules-dkms in Artifact Registry.

Per configurare la VM in modo che l'installazione venga eseguita da Artifact Registry, segui queste istruzioni.

Ubuntu 22.04 LTS

  1. Installa le chiavi di firma del repository 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 la VM per accedere ai pacchetti 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. Aggiorna Apt e installa il pacchetto apt-transport-artifact-registry:

    sudo apt update && sudo apt install apt-transport-artifact-registry
    
  4. Configura Apt per recuperare i pacchetti dal repository:

    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. Aggiorna le origini del repository:

    sudo apt update
    

    Se il comando restituisce un errore, assicurati che la VM Compute Engine sia stata creata con l'ambito di accesso che consente l'accesso completo a tutte le API Cloud. Per ulteriori dettagli, consulta la sezione Concedere l'accesso alle istanze Compute Engine.

Per ulteriori informazioni su questi comandi, consulta la documentazione di Artifact Registry: Configura le VM per installare i pacchetti Debian.

Ubuntu 24.04 LTS

  1. Installa le chiavi di firma del repository 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 la VM per accedere ai pacchetti 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. Aggiorna Apt e installa il pacchetto apt-transport-artifact-registry:

    sudo apt update && sudo apt install apt-transport-artifact-registry
    
  4. Configura Apt per recuperare i pacchetti dal repository:

    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. Aggiorna le origini del repository:

    sudo apt update
    

    Se il comando restituisce un errore, assicurati che la VM Compute Engine sia stata creata con l'ambito di accesso che consente l'accesso completo a tutte le API Cloud. Per ulteriori dettagli, consulta la sezione Concedere l'accesso alle istanze Compute Engine.

Per ulteriori informazioni su questi comandi, consulta la documentazione di Artifact Registry: Configura le VM per installare i pacchetti Debian.

Installa i pacchetti client Lustre

Segui le istruzioni per installare i pacchetti client Lustre.

Ubuntu 22.04 LTS

Esegui questi comandi.

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

Ubuntu 24.04 LTS

Esegui questi comandi.

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

Questo passaggio compila i pacchetti client e può richiedere un po' di tempo.

Monta e accedi alla tua istanza Managed Lustre

Segui le istruzioni riportate in Montare un'istanza Managed Lustre.