Risolvere i problemi relativi ai volumi Managed Lustre

Questa pagina include i passaggi per la risoluzione dei problemi relativi a errori e problemi comuni durante l'utilizzo del driver CSI Google Cloud Managed Lustre su Google Kubernetes Engine.

Prima di seguire i passaggi per la risoluzione dei problemi descritti in questa sezione, consulta le limitazioni relative alla connessione a Managed Lustre da GKE.

Capacità minima dell'istanza aggiornata

La capacità minima per le istanze Managed Lustre è stata aggiornata a 9000 GiB. Per creare istanze da 9000 GiB utilizzando il driver CSI Managed Lustre, esegui l'upgrade della versione del cluster a 1.34.0-gke.2285000 o versioni successive.

Livello di prestazioni errato per le istanze Lustre di cui è stato eseguito il provisioning dinamico

Quando viene eseguito il provisioning dinamico di un'istanza Lustre, la creazione dell'istanza non va a buon fine e viene visualizzato un errore InvalidArgument per PerUnitStorageThroughput, indipendentemente dal valore perUnitStorageThroughput specificato nella richiesta API. Ciò influisce sulle versioni di GKE 1.33 precedenti alla 1.33.4-gke.1036000.

Soluzione temporanea:

Esegui l'upgrade del cluster GKE alla versione 1.33.4-gke.1036000 o successive. Se utilizzi il canale stabile, una versione più recente potrebbe non essere ancora disponibile. In questo caso, puoi selezionare manualmente una versione dai canali Regolare o Rapido che includa la correzione.

Porte di comunicazione di Managed Lustre

Il driver CSI di Managed Lustre utilizza porte diverse per la comunicazione con le istanze Managed Lustre, a seconda della versione del cluster GKE e delle configurazioni Managed Lustre esistenti.

  • Porta predefinita (988): per i nuovi cluster GKE che eseguono la versione 1.33.2-gke.4780000 o successive, il driver utilizza la porta 988 per la comunicazione Lustre per impostazione predefinita.

  • Porta legacy (6988): il driver utilizza la porta 6988 nei seguenti scenari:

    • Versioni precedenti di GKE:se il tuo cluster GKE esegue una versione precedente alla 1.33.2-gke.4780000, il flag --enable-legacy-lustre-port è obbligatorio quando abiliti il driver CSI. L'attivazione di questo flag risolve un conflitto di porte con gke-metadata-server sui nodi GKE.
    • Istanze Managed Lustre esistenti con supporto GKE:se ti connetti a un'istanza Managed Lustre esistente creata con il flag --gke-support-enabled, devi includere --enable-legacy-lustre-port quando abiliti il driver CSI, indipendentemente dalla versione del cluster. Senza questo flag, il cluster GKE non riuscirà a montare l'istanza Lustre esistente.

    Per ulteriori informazioni sull'attivazione del driver CSI con la porta legacy, consulta Porte di comunicazione Lustre.

Query sui log

Per controllare i log, esegui la seguente query in Esplora log.

Per restituire i log del server dei nodi driver di Managed Lustre CSI:

resource.type="k8s_container"
resource.labels.pod_name=~"lustre-csi-node*"

Risolvere i problemi relativi al provisioning del volume

Se PersistentVolumeClaim (PVC) rimane nello stato Pending e non viene creato alcun PersistentVolume (PV) dopo 20-30 minuti, potrebbe essersi verificato un errore.

  1. Controlla gli eventi PVC:

    kubectl describe pvc PVC_NAME
    
  2. Se l'errore indica problemi di configurazione o argomenti non validi, verifica i parametri StorageClass.

  3. Ricrea la PVC.

  4. Se il problema persiste, contatta l'assistenza clienti Google Cloud.

Risolvere i problemi di montaggio del volume

Dopo che il pod è stato pianificato su un nodo, il volume viene montato. Se l'operazione non va a buon fine, controlla gli eventi del pod e i log di kubelet.

kubectl describe pod POD_NAME

Problemi di attivazione del driver CSI

Sintomo:

MountVolume.MountDevice failed for volume "yyy" : kubernetes.io/csi: attacher.MountDevice failed to create newCsiDriverClient: driver name lustre.csi.storage.gke.io not found in the list of registered CSI drivers

o

MountVolume.SetUp failed for volume "yyy" : kubernetes.io/csi: mounter.SetUpAt failed to get CSI client: driver name lustre.csi.storage.gke.io not found in the list of registered CSI drivers

Causa:il driver CSI non è abilitato o non è ancora in esecuzione.

Risoluzione:

  1. Verifica che il driver CSI sia abilitato.
  2. Se il cluster è stato scalato o aggiornato di recente, attendi qualche minuto affinché il driver diventi funzionale.
  3. Se l'errore persiste, controlla i log di lustre-csi-node per "Operazione non consentita". Ciò indica che la versione del nodo è troppo vecchia per supportare Managed Lustre. Per risolvere il problema, esegui l'upgrade del pool di nodi alla versione 1.33.2-gke.1111000 o successive.
  4. Se i log mostrano "LNET_PORT mismatch", esegui l'upgrade del pool di nodi per assicurarti che siano installati moduli del kernel Lustre compatibili.

Il punto di montaggio esiste già

Sintomo:

MountVolume.MountDevice failed for volume "yyy" : rpc error: code = AlreadyExists
desc = A mountpoint with the same lustre filesystem name "yyy" already exists on
node "yyy". Please mount different lustre filesystems

Causa: il montaggio di più volumi da diverse istanze Managed Lustre con lo stesso nome di file system su un singolo nodo non è supportato.

Soluzione:utilizza un nome di file system univoco per ogni istanza Managed Lustre.

Montaggio non riuscito: nessun file o directory corrispondente

Sintomo:

MountVolume.MountDevice failed for volume "yyy" : rpc error: code = Internal desc = Could not mount ... failed: No such file or directory

Causa: il nome del file system specificato non è corretto o non esiste.

Risoluzione: verifica che fs_name nella configurazione di StorageClass o PV corrisponda all'istanza Managed Lustre.

Montaggio non riuscito: errore ingresso/uscita

Sintomo:

MountVolume.MountDevice failed for volume "yyy" : rpc error: code = Internal desc = Could not mount ... failed: Input/output error

Causa: il cluster non può connettersi all'istanza Managed Lustre.

Risoluzione:

  1. Verifica l'indirizzo IP dell'istanza Managed Lustre.
  2. Assicurati che il cluster GKE e l'istanza Managed Lustre si trovino nella stessa rete VPC o che siano in peering corretto.

Errori interni

Sintomo: rpc error: code = Internal desc = ...

Risoluzione:se l'errore persiste, contatta l'assistenza clienti Google Cloud.

Risolvere i problemi di smontaggio del volume

Sintomo:

UnmountVolume.TearDown failed for volume "yyy" : rpc error: code = Internal desc = ...

Risoluzione:

  1. Forza l'eliminazione del pod:

    kubectl delete pod POD_NAME --force
    
  2. Se il problema persiste, contatta l'assistenza clienti Google Cloud.

Risolvere i problemi relativi all'eliminazione del volume

Se il PV rimane nello stato "Rilasciato" per un periodo prolungato (ad esempio, più di un'ora) dopo l'eliminazione del PVC, contatta l'assistenza clienti Google Cloud.

Risolvere i problemi relativi all'espansione del volume

PVC bloccato in ExternalExpanding

Sintomo:lo stato del PVC non cambia in Resizing e gli eventi mostrano ExternalExpanding.

Causa:il campo allowVolumeExpansion potrebbe essere mancante o impostato su false.

Risoluzione:Assicurati che StorageClass abbia allowVolumeExpansion: true.

kubectl get storageclass STORAGE_CLASS_NAME -o yaml

Espansione non riuscita: argomento non valido

Sintomo: VolumeResizeFailed: rpc error: code = InvalidArgument ...

Causa: le dimensioni richieste non sono valide (ad esempio, non sono un multiplo delle dimensioni del passo o sono al di fuori dei limiti).

Risoluzione:controlla gli intervalli di capacità validi e aggiorna il PVC con una dimensione valida.

Espansione non riuscita: errore interno

Sintomo: VolumeResizeFailed ... rpc error: code = Internal

Risoluzione:Riprova l'espansione riapplicando il PVC. Se l'operazione non riesce ripetutamente, contatta l'assistenza clienti Google Cloud.

Scadenza superata

Sintomo: VolumeResizeFailed con DEADLINE_EXCEEDED.

Causa: l'operazione sta richiedendo più tempo del previsto, ma potrebbe essere ancora in corso.

Risoluzione: Attendi il completamento dell'operazione. Il ridimensionamento verrà ritentato automaticamente. Se rimane bloccato per molto tempo (ad esempio, > 90 minuti), contatta l'assistenza.

Quota superata

Sintomo: l'espansione non riesce a causa dei limiti di quota.

Risoluzione: Richiedi un aumento della quota o un aumento della capacità inferiore.