Soluciona problemas

En esta página, se muestran pasos de solución de problemas que pueden resultarte útiles si tienes problemas para usar Filestore.

Rendimiento lento

  1. Asegúrate de usar el tipo de máquina recomendado para la VM del cliente.
  2. Si tu VM de cliente ejecuta Linux, confirma que estás usando las opciones de activación predeterminadas.

  3. Asegúrate de que la VM de cliente esté ubicada en la misma región que la instancia de Filestore. La activación entre regiones no solo reduce el rendimiento, sino que también genera un costo de Herramientas de redes.

  4. Prueba el rendimiento de tu instancia de Filestore con la herramienta fio.

    Si los resultados de la prueba muestran un rendimiento poco lento, comunícate con tu representante de cuenta. Si los resultados de la prueba muestran un rendimiento similar o superior al esperado, continúa con la sección siguiente.

Casos de uso que causan rendimiento lento

Estos son algunos casos prácticos y situaciones que causan un rendimiento deficiente:

Cargas de trabajo que involucran grandes volúmenes de archivos pequeños

Los archivos compartidos de Filestore usan la opción de exportación sync para la seguridad de datos y el cumplimiento del protocolo NFS. Esto significa que para la mayoría de las operaciones de modificación de datos, la instancia de Filestore espera a que los datos se confirmen al almacenamiento antes de responder las solicitudes desde la VM de cliente. Cuando muchos archivos están involucrados en una operación, el cliente realiza una larga serie de operaciones síncronas y suma la latencia acumulativa.

Un ejemplo de esto es extraer un archivo del sistema de archivos compartidos, como archivos TAR. TAR realiza una gran cantidad de operaciones síncronas en una serie cuando se extrae un archivo que contiene muchos archivos. Como resultado, el rendimiento se reduce considerablemente.

Si intentas copiar una gran cantidad de archivos pequeños en un sistema de archivos compartidos, intenta paralelizar la creación de archivos con una herramienta como gsutil:

mkdir -p /mnt/nfs/many_files_rsync/
time gsutil -m -q rsync -rp many_files /mnt/nfs/many_files_rsync/

Copia datos entre Cloud Storage y Filestore

Se sabe que la copia de datos de Cloud Storage en una instancia de Filestore con gsutil es lenta. No hay una mitigación conocida.

Filestore no responde

Mantenimiento programado

Si Filestore no responde por unos minutos y, luego, vuelve a responder, es probable que el período de respuesta no sea la causa de un evento de mantenimiento programado. Para el ANS de Filestore, consulta la página de ANS.

Filestore no admite períodos de mantenimiento definidos por el cliente. El programa de períodos de mantenimiento de Filestore tampoco está disponible para los clientes.

Se borró la instancia mientras se montaba en el cliente

Si una operación de archivo o un comando de Unix como df, ls o cualquier operación de lectura o escritura deja de responder, es probable que la instancia de Filestore se haya borrado mientras estaba montada en el cliente.

Verifica si la instancia aún existe:

    gcloud filestore instances list

Si la instancia ya no aparece en la lista, puedes recuperar el control mediante la creación de una instancia nueva con la misma dirección IP y el mismo nombre de archivo compartido que la instancia que se borró. Una vez que se crea la instancia, la operación no responde termina con un error. Puedes continuar desactivando el uso compartido de archivos y borrar la instancia de Filestore si no es necesario.

Para evitar que esto suceda en el futuro, asegúrate de desactivar la instancia de Filestore antes de borrarla.

“No queda espacio en el dispositivo”

  1. Ejecuta el siguiente comando en la VM cliente para verificar si hay suficientes inodos en la instancia de Filestore:

    df -i
    

    El comando muestra un resultado similar al siguiente:

    Filesystem           Inodes        IUsed      IFree         IUse%  Mounted on
    10.0.0.2:/vol1    134217728        13         134217715     1%     /mnt/test
    

    Cada archivo almacenado en el recurso compartido de archivos consume un inodo. Si el IUse% está en el 100%, significa que no hay inodos gratuitos y no puedes almacenar más archivos en el sistema de archivos compartidos, incluso si no alcanzaste la capacidad máxima asignada. La cantidad de inodos se escala con capacidad. Si deseas agregar más nodos, debes agregar más capacidad.

  2. Si aún te quedan inodos, es posible que hayas alcanzado la cantidad máxima de entradas (ya sean archivos o subdirectorios) de un directorio. La cantidad máxima de entradas que puedes tener en un directorio depende de las longitudes de nombres de esas entradas. Sin embargo, alcanzar este límite es una probabilidad en lugar de un límite estricto. Para solucionar este problema, tendrás que crear una jerarquía de archivos más profunda mediante la distribución de tus entradas en subdirectorios.

No se pudo crear una instancia

PERMISSION DENIED cuando se crea una instancia de Filestore

  1. Verifica si la API de Filestore está habilitada:

    gcloud services enable file.googleapis.com
    
  2. Verifica si tienes la función roles/file.editor. Para obtener más detalles, consulta Funciones y permisos de IAM.

  3. Si aún encuentras el error, es posible que se haya quitado la función file.serviceAgent a la cuenta de servicio de Filestore. Para verificar esto, ejecuta el siguiente comando:

    gcloud projects get-iam-policy project-name  \
        --flatten="bindings[].members" \
        --format='table(bindings.role)' \
        --filter="bindings.members:service-project-id@cloud-filer.iam.gserviceaccount.com"
    

    Donde:

    • project-name es el nombre del proyecto de Google Cloud.
    • project-id es el número de ID de tu proyecto de Google Cloud.

    El comando debería mostrar algo similar a lo siguiente:

    ROLE
    roles/file.serviceAgent
    

    Si roles/file.serviceAgent no aparece en la lista, puedes restablecerlo si ejecutas lo siguiente:

    gcloud projects add-iam-policy-binding project-id --member serviceAccount:service-project-id@cloud-filer.iam.gserviceaccount.com --role roles/file.serviceAgent
    

    En el ejemplo anterior, project-id es el número de ID de tu proyecto de Google Cloud.

Recibes un código de error 13 cuando creas una instancia

Existen algunas causas posibles de los errores del código de error 13 durante la creación de la instancia, pero la causa más común es Filestore que llega a una cuota de red interna.

Para cada red de VPC en la que creas una instancia de Filestore, Filestore debe crear una red interna que intercambia tráfico con esa red. Estas redes internas se conservan incluso cuando se borran las instancias de Filestore y las redes de VPC asociadas a ellas.

Una vez que la cantidad de redes internas llega a 50 para un proyecto, Filestore no puede crear nuevas redes internas, lo que evita que crees instancias de Filestore en redes de VPC nuevas. Intentar hacerlo da como resultado un error.

Error code 13, message: an internal error has occurred

La única manera de borrar las redes internas es inhabilitar y volver a habilitar la API de Filestore:

gcloud services disable file.googleapis.com

gcloud services enable file.googleapis.com

Si esto no es posible porque tienes instancias de Filestore que necesitas y no puedes borrar, debes comunicarte con tu representante de cuenta para que las redes con intercambio de tráfico se borren de forma manual.

Si necesitas borrar y crear redes de VPC y, también, instancias de Filestore con regularidad, hay dos formas de evitar que te quedes sin cuota de red:

  1. Cuando crees una red de VPC, usa el mismo nombre que la red anterior que se usó para crear la instancia de Filestore.

  2. Recorre un grupo de no más de 50 redes de VPC en lugar de borrarlas y, luego, volver a crearlas.

No se pueden activar los archivos compartidos

Permiso denegado al intentar activar un archivo compartido

Confirma si hay opciones de exportación de NFS para la instancia:

gcloud filestore instances describe instance-id \
    --zone=zone

Donde:

  • instance-id es el ID de la instancia de Filestore.
  • zone es la zona en la que se encuentra la instancia de Filestore.

El comando muestra algo similar a lo siguiente:

createTime: '2019-10-11T17:28:23.340943077Z'
fileShares:
- capacityGb: '1024'
  name: vol1
  nfsExportOptions:
  - accessMode: READ_WRITE
    ipRanges:
    - 128.0.0.0/29
    squashMode: NO_ROOT_SQUASH
name: projects/yourproject/locations/us-central1-c/instances/nfs-server
networks:
- ipAddresses:
  - 10.0.0.2
  modes:
  - MODE_IPV4
  network: default
  reservedIpRange: 10.0.0.0/29
state: READY
tier: BASIC_HDD

Si encuentras nfsExportOptions en la lista, verifica si la dirección IP de tu cliente está dentro de uno de los rangos enumerados en ipRanges para el accessMode esperado. Si no lo es, debes editar las opciones de exportación de NFS. Para obtener instrucciones sobre cómo hacer esto, consulta la sección sobre edición de instancias.

No se puede activar un archivo compartido en App Engine

Filestore no es compatible con App Engine.