Solución de problemas y problemas conocidos

En esta página, se incluyen pasos para solucionar algunos problemas y errores comunes.

Problemas conocidos

  • Cuando no se produce ninguna E/S en el sistema de archivos, los gráficos de rendimiento muestran el mensaje "No hay datos disponibles para el período seleccionado". Esto se debe a que las métricas de rendimiento solo se generan cuando hay E/S. Para obtener más información sobre las métricas, consulta Supervisa instancias y operaciones.
  • No se admiten las siguientes funciones de Lustre:
    • Compresión de datos del cliente
    • Almacenamiento en caché persistente del cliente
  • Algunos comandos de Lustre no son compatibles.
  • Existen algunas excepciones al cumplimiento de POSIX.

Problemas con las operaciones de instancias

En las siguientes secciones, se describen los problemas relacionados con las operaciones de instancias.

No se pudo poner en cola la operación

Si ves un error similar a cualquiera de los siguientes cuando intentas iniciar una operación:

ERROR: (gcloud.lustre.instances.import-data) ABORTED: unable to queue the operation
ERROR: (gcloud.lustre.instances.export-data) ABORTED: unable to queue the operation
ERROR: (gcloud.lustre.instances.update) ABORTED: unable to queue the operation

Este error se produce cuando intentas iniciar una operación mientras otra operación del mismo tipo ya está en curso en la misma instancia.

  • Importación/exportación: Lustre administrado solo admite una operación de transferencia activa por instancia a la vez. No se admite la puesta en cola para las operaciones de transferencia.
  • Actualización de instancias: Lustre administrado permite una actualización activa por instancia a la vez y permite poner en cola una operación de actualización adicional.

Para resolver este problema, espera a que se complete la operación actual antes de comenzar una nueva.

Problemas de Compute Engine

Si tienes problemas para activar un sistema de archivos de Managed Lustre en una instancia de Compute Engine, sigue estos pasos para diagnosticar el problema.

Verifica que se pueda acceder a la instancia de Managed Lustre

Primero, asegúrate de que se pueda acceder a tu instancia de Managed Lustre desde tu instancia de Compute Engine:

sudo lctl ping IP_ADDRESS@tcp

Para obtener el valor de IP_ADDRESS, consulta Obtén una instancia.

Un ping exitoso devuelve una respuesta similar a la siguiente:

12345-0@lo
12345-10.115.0.3@tcp

Un ping fallido muestra lo siguiente:

failed to ping 10.115.0.3@tcp: Input/output error

Si el ping no funciona, haz lo siguiente:

  • Asegúrate de que tu instancia de Lustre administrada y tu instancia de Compute Engine estén en la misma red de VPC. Compara el resultado de los siguientes comandos:

    gcloud compute instances describe VM_NAME \
      --zone=VM_ZONE \
      --format='get(networkInterfaces[0].network)'
    
    gcloud lustre instances describe INSTANCE_NAME \
      --location=ZONE --format='get(network)'
    

    El resultado se verá así:

    https://www.googleapis.com/compute/v1/projects/my-project/global/networks/my-network
    projects/my-project/global/networks/my-network
    

    El resultado del comando gcloud compute instances describe tiene el prefijo https://www.googleapis.com/compute/v1/; todo lo que sigue a esa cadena debe coincidir con el resultado del comando gcloud lustre instances describe.

  • Revisa las reglas de firewall y las configuraciones de enrutamiento de tu red de VPC para asegurarte de que permitan el tráfico entre tu instancia de Compute Engine y la instancia de Lustre administrada.

Verifica el puerto de aceptación de LNet

Las instancias de Lustre administradas se pueden configurar para admitir clientes de GKE especificando la marca --gke-support-enabled en el momento de la creación.

Si se habilitó la compatibilidad con GKE, debes configurar LNet en todas las instancias de Compute Engine para que usen accept_port 6988. Consulta Configura LNet para instancias de gke-support-enabled.

Para determinar si la instancia se configuró para admitir clientes de GKE, ejecuta el siguiente comando:

gcloud lustre instances describe INSTANCE_NAME \
  --location=LOCATION | grep gkeSupportEnabled

Si el comando devuelve gkeSupportEnabled: true, debes configurar LNet.

La versión del kernel de Ubuntu no coincide con la del cliente de Lustre

En el caso de las instancias de Compute Engine que ejecutan Ubuntu, la versión del kernel de Ubuntu debe coincidir con la versión específica de los paquetes del cliente de Lustre. Si tus herramientas de cliente de Lustre fallan, verifica si tu instancia de Compute Engine se actualizó automáticamente a un kernel más reciente.

Para verificar la versión del kernel, haz lo siguiente:

uname -r

La respuesta es similar a la siguiente:

6.8.0-1029-gcp

Para verificar la versión del paquete de cliente de Lustre, haz lo siguiente:

dpkg -l | grep -i lustre

La respuesta es similar a la siguiente:

ii  lustre-client-modules-6.8.0-1029-gcp 2.14.0-ddn198-1  amd64  Lustre Linux kernel module (kernel 6.8.0-1029-gcp)
ii  lustre-client-utils                  2.14.0-ddn198-1  amd64  Userspace utilities for the Lustre filesystem (client)

Si hay una discrepancia entre la versión del kernel que se muestra en ambos comandos, debes volver a instalar los paquetes de cliente de Lustre.

Verifica si hay errores de Lustre en dmesg

Muchas advertencias y errores de Lustre se registran en el búfer de anillo del kernel de Linux. El comando dmesg imprime el búfer de anillo del kernel.

Para buscar mensajes específicos de Lustre, usa grep junto con dmesg:

dmesg | grep -i lustre

O bien, para buscar errores más generales que podrían estar relacionados, haz lo siguiente:

dmesg | grep -i error

Información que debes incluir en una solicitud de asistencia

Si no puedes resolver la falla de la activación, recopila información de diagnóstico antes de crear un caso de ayuda.

Ejecuta sosreport: Esta utilidad recopila registros del sistema e información de configuración, y genera un archivo tarball comprimido:

sudo sosreport

Adjunta el archivo sosreport y cualquier resultado pertinente de dmesg a tu caso de asistencia.

Problemas de GKE

Antes de seguir los pasos para solucionar problemas que se indican en esta sección, consulta las limitaciones cuando te conectas a Lustre administrado desde GKE.

Se actualizó la capacidad mínima de la instancia

Se actualizó la capacidad mínima para las instancias de Lustre administradas a 9,000 GiB. Para crear instancias de 9,000 GiB a través del controlador de CSI de Lustre administrado, actualiza la versión del clúster a 1.34.0-gke.2285000 o una posterior.

Nivel de rendimiento incorrecto para las instancias de Lustre aprovisionadas de forma dinámica

Cuando se aprovisiona de forma dinámica una instancia de Lustre, falla la creación de la instancia con un error InvalidArgument para PerUnitStorageThroughput, independientemente del valor de perUnitStorageThroughput especificado en la solicitud de API. Esto afecta a las versiones de GKE 1.33 anteriores a la 1.33.4-gke.1036000.

Solución alternativa:

Actualiza el clúster de GKE a la versión 1.33.4-gke.1036000 o posterior. Si usas el canal estable, es posible que aún no esté disponible una versión más reciente. En este caso, puedes seleccionar manualmente una versión de los canales Regular o Rapid que incluya la corrección.

Puertos de comunicación de Managed Lustre

El controlador de CSI de Managed Lustre usa diferentes puertos para comunicarse con las instancias de Managed Lustre, según la versión del clúster de GKE y las configuraciones existentes de Managed Lustre.

  • Puerto predeterminado (988): Para los clústeres nuevos de GKE que ejecutan la versión 1.33.2-gke.4780000 o posterior, el controlador usa el puerto 988 para la comunicación de Lustre de forma predeterminada.

  • Puerto heredado (6988): El controlador usa el puerto 6988 en los siguientes casos:

    • Versiones anteriores de GKE: Si tu clúster de GKE ejecuta una versión anterior a 1.33.2-gke.4780000, se requiere la marca --enable-legacy-lustre-port cuando se habilita el controlador CSI. Habilitar esta marca soluciona un conflicto de puertos con gke-metadata-server en los nodos de GKE.
    • Instancias de Managed Lustre existentes con compatibilidad con GKE: Si te conectas a una instancia de Managed Lustre existente que se creó con la marca --gke-support-enabled, debes incluir --enable-legacy-lustre-port cuando habilites el controlador de CSI, independientemente de la versión del clúster. Sin esta marca, tu clúster de GKE no podrá activar la instancia de Lustre existente.

    Para obtener más detalles sobre cómo habilitar el controlador de CSI con el puerto heredado, consulta Puertos de comunicación de Lustre.

Consultas de registros

Para verificar los registros, ejecuta la siguiente consulta en el Explorador de registros.

Para devolver los registros del servidor de nodos del controlador Lustre CSI administrado, haz lo siguiente:

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

Soluciona problemas relacionados con el aprovisionamiento de volúmenes

Si la PersistentVolumeClaim (PVC) permanece en estado Pending y no se crea ningún PersistentVolume (PV) después de 20 a 30 minutos, es posible que se haya producido un error.

  1. Verifica los eventos del PVC:

    kubectl describe pvc PVC_NAME
    
  2. Si el error indica problemas de configuración o argumentos no válidos, verifica los parámetros de StorageClass.

  3. Vuelve a crear el PVC.

  4. Si el problema persiste, comunícate con Atención al cliente de Cloud.

Soluciona problemas de activación de volúmenes

Una vez que el Pod se programa en un nodo, se activa el volumen. Si esto falla, revisa los eventos del Pod y los registros de kubelet.

kubectl describe pod POD_NAME

Problemas de habilitación del controlador CSI

Síntoma:

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: El controlador de CSI no está habilitado o aún no se está ejecutando.

Resolución:

  1. Verifica que el controlador de CSI esté habilitado.
  2. Si el clúster se actualizó o se ajustó recientemente, espera unos minutos para que el controlador funcione.
  3. Si el error persiste, revisa los registros de lustre-csi-node para ver si aparece el mensaje "Operation not permitted". Esto indica que la versión del nodo es demasiado antigua para admitir Managed Lustre. Para resolver este problema, actualiza tu grupo de nodos a la versión 1.33.2-gke.1111000 o posterior.
  4. Si los registros muestran el mensaje "LNET_PORT mismatch", actualiza tu grupo de nodos para asegurarte de que se instalen los módulos del kernel de Lustre compatibles.

El punto de montaje ya existe

Síntoma:

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: No se admite el montaje de varios volúmenes de diferentes instancias de Managed Lustre con el mismo nombre de sistema de archivos en un solo nodo.

Solución: Usa un nombre de sistema de archivos único para cada instancia de Managed Lustre.

No se pudo realizar el montaje: No existe el archivo o el directorio

Síntoma:

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

Causa: El nombre del sistema de archivos especificado es incorrecto o no existe.

Resolución: Verifica que el fs_name en la configuración de tu StorageClass o PV coincida con la instancia de Managed Lustre.

No se pudo activar: Error de entrada/salida

Síntoma:

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

Causa: El clúster no se puede conectar a la instancia de Lustre administrado.

Resolución:

  1. Verifica la dirección IP de la instancia de Lustre administrada.
  2. Asegúrate de que el clúster de GKE y la instancia de Lustre administrada estén en la misma red de VPC o que se hayan interconectado correctamente.

Errores internos

Síntoma: rpc error: code = Internal desc = ...

Resolución: Si el error persiste, comunícate con Atención al cliente de Cloud.

Soluciona problemas relacionados con el desmontaje de volúmenes

Síntoma:

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

Resolución:

  1. Fuerza la eliminación del Pod:

    kubectl delete pod POD_NAME --force
    
  2. Si el problema persiste, comunícate con Atención al cliente de Cloud.

Soluciona problemas relacionados con la eliminación de volúmenes

Si el PV permanece en estado "Liberado" durante un período prolongado (p.ej., más de una hora) después de borrar el PVC, comunícate con Atención al cliente de Cloud.

Soluciona problemas de expansión de volumen

El PVC está atascado en ExternalExpanding.

Síntoma: El estado del PVC no cambia a Resizing y los eventos muestran ExternalExpanding.

Causa: Es posible que falte el campo allowVolumeExpansion o que esté configurado como false.

Resolución: Asegúrate de que StorageClass tenga allowVolumeExpansion: true.

kubectl get storageclass STORAGE_CLASS_NAME -o yaml

Falla en la expansión: Argumento no válido

Síntoma: VolumeResizeFailed: rpc error: code = InvalidArgument ...

Causa: El tamaño solicitado no es válido (p.ej., no es un múltiplo del tamaño del paso o está fuera de los límites).

Resolución: Verifica los rangos de capacidad válidos y actualiza la PVC con un tamaño válido.

Falla en la expansión: error interno

Síntoma: VolumeResizeFailed ... rpc error: code = Internal

Solución: Vuelve a intentar la expansión aplicando de nuevo el PVC. Si falla repetidamente, comunícate con Atención al cliente de Cloud.

Se superó el plazo

Síntoma: VolumeResizeFailed con DEADLINE_EXCEEDED.

Causa: La operación está tardando más de lo esperado, pero es posible que aún esté en curso.

Resolución: Espera a que se complete la operación. El redimensionador volverá a intentarlo automáticamente. Si permanece atascado durante mucho tiempo (p.ej., > 90 minutos), comunícate con el equipo de asistencia.

Se superó la cuota

Síntoma: La expansión falla debido a los límites de cuota.

Resolución: Solicita un aumento de cuota o un aumento de capacidad más pequeño.

Problemas de la red de VPC

En las siguientes secciones, se describen problemas comunes de las redes de VPC.

No se puede acceder a Managed Lustre desde un proyecto con intercambio de tráfico

Para acceder a tu instancia de Lustre administrada desde una VM en una red de VPC con intercambio de tráfico, debes usar Network Connectivity Center (NCC). NCC te permite conectar varias redes de VPC y redes locales a un concentrador central, lo que proporciona conectividad entre ellas.

Para obtener instrucciones sobre cómo configurar NCC, consulta la documentación de Network Connectivity Center.

Falla la activación de Lustre en una VM con varias NICs

Cuando una VM tiene varios controladores de interfaces de red (NIC) y la instancia de Lustre administrada se encuentra en una VPC conectada a una NIC secundaria (p.ej., eth1), es posible que falle la activación de la instancia. Para resolver este problema, sigue las instrucciones para realizar el montaje con una NIC secundaria.

No se puede conectar desde el rango de subred 172.17.0.0/16

Los clientes de Compute Engine y GKE con una dirección IP en el rango de subred 172.17.0.0/16 no pueden activar instancias de Lustre administrado.

Se denegó el permiso para agregar la interconexión del servicio servicenetworking.googleapis.com

ERROR: (gcloud.services.vpc-peerings.connect) User [$(USER)] does not have
permission to access services instance [servicenetworking.googleapis.com]
(or it may not exist): Permission denied to add peering for service
'servicenetworking.googleapis.com'.

Este error significa que no tienes el permiso de IAM servicenetworking.services.addPeering en tu cuenta de usuario.

Consulta Control de acceso con IAM para obtener instrucciones sobre cómo agregar uno de los siguientes roles a tu cuenta:

  • roles/compute.networkAdmin o
  • roles/servicenetworking.networksAdmin

No se pueden modificar los rangos asignados en CreateConnection

ERROR: (gcloud.services.vpc-peerings.connect) The operation
"operations/[operation_id]" resulted in a failure "Cannot modify allocated
ranges in CreateConnection. Please use UpdateConnection."

Este error se muestra cuando ya creaste un peering de VPC en esta red con diferentes rangos de IP. Existen dos soluciones posibles:

Reemplaza los rangos de IP existentes:

gcloud services vpc-peerings update \
  --network=NETWORK_NAME \
  --ranges=IP_RANGE_NAME \
  --service=servicenetworking.googleapis.com \
  --force

O bien, agrega el nuevo rango de IP a la conexión existente:

  1. Recupera la lista de rangos de IP existentes para el peering:

    EXISTING_RANGES="$(
      gcloud services vpc-peerings list \
        --network=NETWORK_NAME \
        --service=servicenetworking.googleapis.com \
        --format="value(reservedPeeringRanges.list())" \
        --flatten=reservedPeeringRanges
    )
    
  2. Luego, agrega el nuevo rango al peering:

    gcloud services vpc-peerings update \
      --network=NETWORK_NAME \
      --ranges="${EXISTING_RANGES}",IP_RANGE_NAME \
      --service=servicenetworking.googleapis.com
    

Se agotó el rango de direcciones IP

Si la creación de la instancia falla con el error de rango agotado, haz lo siguiente:

ERROR: (gcloud.alpha.Google Cloud Managed Lustre.instances.create) FAILED_PRECONDITION: Invalid
resource state for "NETWORK_RANGES_NOT_AVAILABLE": IP address range exhausted

Sigue la guía de VPC para modificar la conexión privada existente y agregar rangos de direcciones IP.

Recomendamos una longitud de prefijo de al menos /20 (1,024 direcciones).