Résoudre les problèmes liés aux volumes Managed Lustre

Cette page fournit des étapes de dépannage pour les problèmes et erreurs courants lors de l'utilisation du pilote CSI Google Cloud Managed Lustre sur Google Kubernetes Engine.

Avant de suivre les étapes de dépannage de cette section, consultez les limites lors de la connexion à Managed Lustre depuis GKE.

Capacité minimale des instances mise à jour

La capacité minimale des instances Managed Lustre a été mise à jour et est désormais de 9 000 Gio. Pour créer des instances de 9 000 Gio à l'aide du pilote CSI Managed Lustre, mettez à niveau la version de votre cluster vers 1.34.0-gke.2285000 ou une version ultérieure.

Niveau de performances incorrect pour les instances Lustre provisionnées de manière dynamique

Lors du provisionnement dynamique d'une instance Lustre, la création de l'instance échoue avec une erreur InvalidArgument pour PerUnitStorageThroughput, quelle que soit la valeur perUnitStorageThroughput spécifiée dans la requête API. Cela affecte les versions GKE 1.33 antérieures à 1.33.4-gke.1036000.

Solution :

Mettez à niveau le cluster GKE vers la version 1.33.4-gke.1036000 ou une version ultérieure. Si vous utilisez le canal stable, une version plus récente n'est peut-être pas encore disponible. Dans ce cas, vous pouvez sélectionner manuellement une version des canaux régulier ou rapide qui inclut le correctif.

Ports de communication Managed Lustre

Le pilote CSI Managed Lustre utilise différents ports pour communiquer avec les instances Managed Lustre, en fonction de la version de votre cluster GKE et des configurations Managed Lustre existantes.

  • Port par défaut (988) : pour les nouveaux clusters GKE exécutant la version 1.33.2-gke.4780000 ou une version ultérieure, le pilote utilise par défaut le port 988 pour la communication Lustre.

  • Port hérité (6988) : le pilote utilise le port 6988 dans les scénarios suivants :

    • Versions GKE antérieures : si votre cluster GKE exécute une version antérieure à 1.33.2-gke.4780000, le flag --enable-legacy-lustre-port est requis lors de l'activation du pilote CSI. L'activation de ce flag permet de contourner un conflit de port avec le gke-metadata-server sur les nœuds GKE.
    • Instances Managed Lustre existantes compatibles avec GKE : si vous vous connectez à une instance Managed Lustre existante qui a été créée avec le flag --gke-support-enabled, vous devez inclure --enable-legacy-lustre-port lors de l'activation du pilote CSI, quelle que soit la version de votre cluster. Sans ce flag, votre cluster GKE ne pourra pas installer l'instance Lustre existante.

    Pour en savoir plus sur l'activation du pilote CSI avec le port hérité, consultez Ports de communication Lustre.

Requêtes de journal

Pour vérifier les journaux, exécutez la requête suivante dans l'explorateur de journaux.

Pour renvoyer les journaux du serveur de nœuds du pilote CSI Managed Lustre :

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

Résoudre les problèmes de provisionnement de volume

Si la PersistentVolumeClaim (PVC) reste à l'état Pending et qu'aucun PersistentVolume (PV) n'est créé après 20 à 30 minutes, une erreur s'est peut-être produite.

  1. Vérifiez les événements PVC :

    kubectl describe pvc PVC_NAME
    
  2. Si l'erreur indique des problèmes de configuration ou des arguments non valides, vérifiez vos paramètres StorageClass.

  3. Recréez la PVC.

  4. Si le problème persiste, contactez l'assistance Cloud Customer Care.

Résoudre les problèmes d'installation de volume

Une fois le pod planifié sur un nœud, le volume est installé. Si cela échoue, consultez les événements du pod et les journaux du kubelet.

kubectl describe pod POD_NAME

Problèmes d'activation du pilote CSI

Symptôme :

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

ou

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

Cause : Le pilote CSI n'est pas activé ou n'est pas encore en cours d'exécution.

Solution :

  1. Vérifiez que le pilote CSI est activé.
  2. Si le cluster a été récemment mis à l'échelle ou mis à niveau, patientez quelques minutes pour que le pilote devienne fonctionnel.
  3. Si l'erreur persiste, recherchez "Operation not permitted" dans les journaux lustre-csi-node. Cela indique que la version du nœud est trop ancienne pour être compatible avec Managed Lustre. Pour résoudre ce problème, mettez à niveau votre pool de nœuds vers la version 1.33.2-gke.1111000 ou une version ultérieure.
  4. Si les journaux affichent "LNET_PORT mismatch", mettez à niveau votre pool de nœuds pour vous assurer que les modules de noyau Lustre compatibles sont installés.

Le point d'installation existe déjà

Symptôme :

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

Cause : L'installation de plusieurs volumes à partir de différentes instances Managed Lustre portant le même nom de système de fichiers sur un seul nœud n'est pas acceptée.

Solution : Utilisez un nom de système de fichiers unique pour chaque instance Managed Lustre.

Échec de l'installation : fichier ou répertoire inexistant

Symptôme :

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

Cause : Le nom de système de fichiers spécifié est incorrect ou n'existe pas.

Solution : Vérifiez que le fs_name de votre configuration StorageClass ou PV correspond à l'instance Managed Lustre.

Échec de l'installation : erreur d'entrée/de sortie

Symptôme :

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

Cause : Le cluster ne peut pas se connecter à l'instance Managed Lustre.

Solution :

  1. Vérifiez l'adresse IP de l'instance Managed Lustre.
  2. Assurez-vous que le cluster GKE et l'instance Managed Lustre se trouvent sur le même réseau VPC ou sont correctement appairés.

Erreurs internes

Symptôme : rpc error: code = Internal desc = ...

Solution : Si l'erreur persiste, contactez l'assistance Cloud Customer Care.

Résoudre les problèmes de désinstallation de volume

Symptôme :

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

Solution :

  1. Forcez la suppression du pod :

    kubectl delete pod POD_NAME --force
    
  2. Si le problème persiste, contactez l'assistance Cloud Customer Care.

Résoudre les problèmes de suppression de volume

Si le PV reste à l'état "Released" pendant une période prolongée (par exemple, plus d'une heure) après la suppression de la PVC, contactez l'assistance Cloud Customer Care.

Résoudre les problèmes d'expansion de volume

PVC bloqué dans ExternalExpanding

Symptôme : L'état de la PVC ne passe pas à Resizing, et les événements affichent ExternalExpanding.

Cause : Le champ allowVolumeExpansion est peut-être manquant ou défini sur false.

Solution : Assurez-vous que StorageClass comporte allowVolumeExpansion: true.

kubectl get storageclass STORAGE_CLASS_NAME -o yaml

Échec de l'expansion : argument non valide

Symptôme : VolumeResizeFailed: rpc error: code = InvalidArgument ...

Cause : La taille demandée n'est pas valide (par exemple, elle n'est pas un multiple de la taille de pas ou elle est en dehors des limites).

Solution : Vérifiez les plages de capacité valides et mettez à jour la PVC avec une taille valide.

Échec de l'expansion : erreur interne

Symptôme : VolumeResizeFailed ... rpc error: code = Internal

Solution : Réessayez l'expansion en appliquant à nouveau la PVC. Si l'opération échoue à plusieurs reprises, contactez l'assistance Cloud Customer Care.

Délai dépassé

Symptôme : VolumeResizeFailed avec DEADLINE_EXCEEDED.

Cause : L'opération prend plus de temps que prévu, mais elle est peut-être toujours en cours.

Solution : Patientez jusqu'à la fin de l'opération. Le redimensionneur réessayera automatiquement. S'il reste bloqué pendant une longue période (par exemple, plus de 90 minutes), contactez l'assistance.

Quota dépassé

Symptôme : L'expansion échoue en raison des limites de quota.

Solution : Demandez une augmentation de quota ou demandez une augmentation de capacité plus petite.