Resolver problemas com volumes do Managed Lustre

Esta página inclui etapas de solução de problemas para erros e problemas comuns ao usar o driver CSI do Google Cloud Managed Lustre no Google Kubernetes Engine.

Antes de seguir as etapas de solução de problemas nesta seção, consulte as limitações ao se conectar ao Managed Lustre do GKE.

Capacidade mínima de instância atualizada

A capacidade mínima das instâncias do Managed Lustre foi atualizada para 9.000 GiB. Para criar instâncias de 9.000 GiB usando o driver CSI do Managed Lustre, faça upgrade da versão do cluster para 1.34.0-gke.2285000 ou mais recente.

Nível de desempenho incorreto para instâncias do Lustre provisionadas dinamicamente

Ao provisionar dinamicamente uma instância do Lustre, a criação da instância falha com um erro InvalidArgument para PerUnitStorageThroughput, independente do valor perUnitStorageThroughput especificado na solicitação de API. Isso afeta as versões do GKE 1.33 anteriores à 1.33.4-gke.1036000.

Alternativa:

Faça upgrade do cluster do GKE para a versão 1.33.4-gke.1036000 ou mais recente. Se você estiver usando o canal estável, talvez uma versão mais recente ainda não esteja disponível. Nesse caso, selecione manualmente uma versão dos canais Regular ou Rápido que inclua a correção.

Portas de comunicação do Managed Lustre

O driver CSI do Managed Lustre usa portas diferentes para comunicação com instâncias do Managed Lustre, dependendo da versão do cluster do GKE e das configurações do Managed Lustre existentes.

  • Porta padrão (988): para novos clusters do GKE que executam a versão 1.33.2-gke.4780000 ou mais recente, o driver usa a porta 988 para comunicação do Lustre por padrão.

  • Porta legada (6988): o driver usa a porta 6988 nos seguintes cenários:

    • Versões anteriores do GKE:se o cluster do GKE executar uma versão anterior a 1.33.2-gke.4780000, a flag --enable-legacy-lustre-port será necessária ao ativar o driver CSI. Ativar essa flag contorna um conflito de porta com o gke-metadata-server em nós do GKE.
    • Instâncias do Managed Lustre com suporte do GKE:se você estiver se conectando a uma instância do Managed Lustre criada com a flag --gke-support-enabled, inclua --enable-legacy-lustre-port ao ativar o driver CSI, independente da versão do cluster. Sem essa flag, o cluster do GKE não vai montar a instância do Lustre.

    Para mais informações sobre como ativar o driver CSI com a porta legada, consulte Portas de comunicação do Lustre.

Consultas de registros

Para verificar os registros, execute a seguinte consulta no Análise de registros.

Para retornar os registros do servidor de nós do driver CSI do Managed Lustre:

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

Resolver problemas de provisionamento de volume

Se o PersistentVolumeClaim (PVC) permanecer no estado Pending e nenhum PersistentVolume (PV) for criado após 20 a 30 minutos, talvez tenha ocorrido um erro.

  1. Verifique os eventos do PVC:

    kubectl describe pvc PVC_NAME
    
  2. Se o erro indicar problemas de configuração ou argumentos inválidos, verifique os parâmetros StorageClass.

  3. Recrie a PVC.

  4. Se o problema persistir, entre em contato com o Cloud Customer Care.

Resolver problemas de montagem de volume

Depois que o pod é programado para um nó, o volume é montado. Se isso falhar, confira os eventos do pod e os registros do kubelet.

kubectl describe pod POD_NAME

Problemas de ativação do driver CSI

Sintoma:

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

Causa:o driver CSI não está ativado ou ainda não está em execução.

Resolução:

  1. Verifique se o driver CSI está ativado.
  2. Se o cluster foi escalonado ou atualizado recentemente, aguarde alguns minutos para que o driver fique funcional.
  3. Se o erro persistir, verifique os registros de lustre-csi-node para "Operation not permitted". Isso indica que a versão do nó é muito antiga para oferecer suporte ao Managed Lustre. Para resolver isso, faça upgrade do pool de nós para a versão 1.33.2-gke.1111000 ou mais recente.
  4. Se os registros mostrarem "LNET_PORT mismatch", faça upgrade do pool de nós para garantir que os módulos do kernel Lustre compatíveis estejam instalados.

O ponto de montagem já existe

Sintoma:

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:não é possível montar vários volumes de diferentes instâncias gerenciadas do Lustre com o mesmo nome de sistema de arquivos em um único nó.

Resolução:use um nome de sistema de arquivos exclusivo para cada instância do Managed Lustre.

Falha na montagem: arquivo ou diretório não encontrado

Sintoma:

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

Causa:o nome do sistema de arquivos especificado está incorreto ou não existe.

Resolução:verifique se o fs_name na configuração da StorageClass ou do PV corresponde à instância do Managed Lustre.

Falha na montagem: erro de entrada/saída

Sintoma:

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

Causa:o cluster não consegue se conectar à instância do Managed Lustre.

Resolução:

  1. Verifique o endereço IP da instância do Managed Lustre.
  2. Verifique se o cluster do GKE e a instância do Managed Lustre estão na mesma rede VPC ou se têm peering correto.

Erros internos

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

Resolução:se o erro persistir, entre em contato com o Cloud Customer Care.

Resolver problemas de desmontagem de volume

Sintoma:

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

Resolução:

  1. Forçar a exclusão do pod:

    kubectl delete pod POD_NAME --force
    
  2. Se o problema persistir, entre em contato com o Cloud Customer Care.

Resolver problemas na exclusão de volumes

Se o PV permanecer no estado "Liberado" por um período prolongado (por exemplo, mais de uma hora) após a exclusão do PVC, entre em contato com o Cloud Customer Care.

Resolver problemas de expansão de volume

PVC preso em ExternalExpanding

Sintoma:o status do PVC não muda para Resizing, e os eventos mostram ExternalExpanding.

Causa:o campo allowVolumeExpansion pode estar ausente ou definido como false.

Resolução:verifique se o StorageClass tem allowVolumeExpansion: true.

kubectl get storageclass STORAGE_CLASS_NAME -o yaml

Falha na expansão: argumento inválido

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

Causa:o tamanho solicitado é inválido (por exemplo, não é um múltiplo da taxa de aprendizado ou está fora dos limites).

Resolução:verifique os intervalos de capacidade válidos e atualize o PVC com um tamanho válido.

Falha na expansão: erro interno

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

Resolução:repita a expansão reaplicando o PVC. Se ele falhar repetidamente, entre em contato com o Cloud Customer Care.

Prazo excedido

Sintoma:VolumeResizeFailed com DEADLINE_EXCEEDED.

Causa:a operação está demorando mais do que o esperado, mas ainda pode estar em andamento.

Resolução:Aguarde a conclusão da operação. O redimensionador vai tentar de novo automaticamente. Se ele ficar travado por muito tempo (por exemplo, mais de 90 minutos), entre em contato com o suporte.

Cota excedida

Sintoma:a expansão falha devido a limites de cota.

Resolução:solicite um aumento de cota ou peça um aumento de capacidade menor.