En este documento, se describe cómo solucionar y resolver problemas de transferencia y de agentes, y dónde encontrar los registros de agente para ayudarte a solucionar problemas.
Errors
En la siguiente tabla, se describen los mensajes de error de las transferencias y cómo resolverlos:
Mensaje de error | Tipo de error | Qué significa el error | Cómo resolver el error |
---|---|---|---|
Modificado durante la transferencia | FILE_MODIFIED_FAILURE | El archivo de origen se modificó durante la transferencia cada vez que el Servicio de transferencia de almacenamiento intentó copiar el archivo de origen. | Evita escrituras en el archivo especificado durante la siguiente operación de Servicio de transferencia de almacenamiento. |
No se pudo transferir | PRECONDITION_FAILURE | El objeto de Cloud Storage asociado con el archivo de origen se modificó cada vez que el Servicio de transferencia de almacenamiento intentó subir el archivo. | Evita que varios trabajos de transferencia escriban el mismo archivo en el mismo bucket de Cloud Storage mediante el uso de prefijos únicos de objetos de Cloud Storage cuando crees trabajos de transferencia. |
No se encontró el directorio de origen | SOURCE_DIR_NOT_FOUND | La ruta de acceso de origen especificada es incorrecta, o la ruta es correcta, pero no todos los agentes tienen acceso a la ruta. | Verifica la configuración del trabajo de transferencia y verifica lo siguiente:
|
No se pudo encontrar el directorio de origen o destino del trabajo | ROOT_DIR_NOT_FOUND | La ruta de acceso de origen o destino especificada es incorrecta, o la ruta es correcta, pero no todos los agentes tienen acceso a ella. | Verifica la configuración del trabajo de transferencia y verifica lo siguiente:
|
No se encontró el archivo | FILE_NOT_FOUND_FAILURE | Se encontró el archivo fuente, pero se borró antes de transferirlo a Cloud Storage. | Si el archivo se borró por error, restablécelo para que el próximo trabajo de transferencia pueda subirlo. |
No se encontró el bucket de destino | BUCKET_NOT_FOUND | El bucket de destino no existe en Cloud Storage. | Verifica que la ortografía del bucket de destino sea correcta y que este exista. |
No se pudo encontrar un objeto de metadatos interno | METADATA_OBJECT_ NOT_FOUND_FAILURE |
El Servicio de transferencia de almacenamiento almacena metadatos en el bucket de destino con el prefijo storage-transfer . Si se borran los archivos de metadatos antes de que se completen las operaciones de transferencia correspondientes, se muestra este error.
|
Evita borrar objetos con el prefijo storage-transfer/ en el bucket de destino hasta que se completen todos los trabajos de transferencia. |
Error por un nombre de archivo no válido | INVALID_FILE_NAME | La ruta de acceso de un archivo de origen no es válida. | Verifica y repara la ruta del archivo especificado. Verifica que la ruta use caracteres compatibles con Cloud Storage. |
Falló debido a una clase de almacenamiento no válida | INVALID_FILE_STORAGE_CLASS | La clase de almacenamiento de la fuente determinada no permite lecturas. | Busca la documentación de tu proveedor de servicios en la nube para determinar cómo obtener los datos en una clase de almacenamiento que permita copiarlos. |
Falló debido a que el URI de la sesión de carga reanudable no es válido | SESSION_URI_INVALID | El ID de carga reanudable o el URI de sesión venció o se canceló. | Se vuelve a intentar corregir el error de forma incorrecta. Comunícate con el equipo de asistencia. |
Se produjo un error debido a una extensión de archivo no válida | INVALID_FILE_SIZE | El tamaño del archivo no es válido. | Verifica que el tamaño del archivo sea >= 0 y <= 5 TiB (tamaño máximo de objeto de Cloud Storage) para las transferencias a Cloud Storage. |
No se pudo completar la operación debido a los permisos | PERMISSION_FAILURE y UNAUTHENTICATED | Un agente de transferencia no tenía los permisos suficientes para realizar una operación. Hay dos causas posibles para este error:
|
Verifica lo siguiente:
|
El objeto está sujeto a la política de retención del bucket y no se puede borrar, reemplazar ni archivar. | PERMISSION_FAILURE | El bucket tiene una política de retención vigente y el objeto ya existe en él. El Servicio de transferencia de almacenamiento no puede reemplazar los objetos existentes en el bucket. Este error se puede mostrar si el archivo cambió en el origen o si el Servicio de transferencia de almacenamiento intenta realizar la carga dos veces debido a las condiciones de la red y si la primera carga se realizó correctamente. | Verifica que los datos en tu bucket de Cloud Storage coincidan con tus expectativas. Puedes confirmar que el tamaño y el tiempo modificado (mtime) de los archivos de origen coinciden con sus contrapartes de objetos de Cloud Storage. Para ello, vuelve a ejecutar el trabajo y confirma que no haya errores. |
El servicio carecía de los permisos suficientes | SERVICE_PERMISSION_FAILURE | El Servicio de transferencia de almacenamiento no tenía los permisos suficientes para realizar una operación. |
El Servicio de transferencia de almacenamiento usa una cuenta de servicio administrada por Google, por lo general, en el formato project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com , para acceder a los recursos.
Para determinar tu PROJECT_NUMBER específico, usa la llamada a la API
googleserviceaccounts.get .
Verifica que la cuenta de servicio tenga los siguientes roles:
|
El agente no es compatible | AGENT_UNSUPPORTED_VERSION | La versión del agente ya no es compatible con el Servicio de transferencia de almacenamiento. | Este es un error temporal, relacionado con una actualización incorrecta del agente. Si ocurre, haz lo siguiente:
|
Falló debido a una falla de coincidencia de hash | HASH_MISMATCH_FAILURE | Cada vez que el Servicio de transferencia de almacenamiento intentó subir este archivo, los bytes subidos se dañaron. Esto provocó que el hash del archivo local no coincidiera con el hash del objeto de Cloud Storage resultante. | Este error puede deberse a una serie de problemas. Si ves un pequeño porcentaje de fallas de coincidencia de hash (menos del 1%) en una transferencia grande, vuelve a intentar los archivos fallidos. Si ves un gran porcentaje de fallas de coincidencia de hash (del 1% o más), recomendamos investigar posibles fallas de memoria, CPU u otras fallas de hardware en la máquina del agente. |
Falló debido a un modo de archivo no compatible | UNSUPPORTED_FILE_MODE | El Servicio de transferencia de almacenamiento encontró un archivo con un modo no compatible, como un dispositivo, un socket, una canalización con nombre o un archivo irregular. | Quita estos tipos de archivos especiales del directorio de origen. |
Falló debido a un error en el sistema de archivos | FILESYSTEM_ERROR | Un agente encontró un error de sistema de archivos o de sistema operativo cuando realizó una operación del sistema de archivos, como lectura, búsqueda o estadística. | Lee la descripción del error para comprender qué operación del sistema de archivos falló. Asegúrate de que el agente local pueda acceder al sistema de archivos y que el sistema de archivos responda a las operaciones de archivo básicas. |
Falló debido a una falla desconocida | UNKNOWN_FAILURE | Se produjo un error inesperado. | Lee la descripción de la falla. Si la descripción de la falla no contiene información suficiente para resolver el problema, comunícate con el equipo de asistencia. |
Falló debido a que se recibió una especificación que no es válida | INVALID_SPEC | El agente recibió una especificación interna que está dañada. | Verifica que no se hayan dañado los datos en los hosts de los agentes y comunícate con el equipo de asistencia si no encuentras daños. |
Se produjo un error debido a un archivo de manifiesto vacío o no válido | CONFORMANCE_FAILURE | El agente no puede leer ni obtener bytes CSV válidos debido a un formato no válido o a entradas CSV. | Asegúrate de que las entradas del manifiesto sean rutas de archivos válidas. Si la descripción de la falla no contiene información suficiente para resolver el problema, comunícate con el equipo de asistencia. |
Recurrencia a cargas reanudables en lugar de cargas multiparte debido a un error de permiso denegado | PERMISSION_FAILURE | Se habilitaron las cargas divididas en varias partes para esta transferencia, pero no se establecieron los permisos correctos en el bucket. | Consulta la sección Subidas de varias partes de Permisos del sistema de archivos para conocer los permisos necesarios. |
Visualiza registros del agente
Los registros del agente contienen información relevante para los procesos del agente y pueden ayudarte a solucionar problemas de conexión del agente. Si tus agentes figuran como conectados en la consola de Google Cloud, y experimentas fallas de transferencia, consulta Visualiza errores para ver una muestra de errores de transferencia. Para ver los registros que contienen cada archivo que el Servicio de transferencia de almacenamiento consideró durante una transferencia, consulta Visualiza registros de transferencia.
De forma predeterminada, los registros del agente se almacenan en /tmp
. Puedes cambiar la ubicación mediante la opción de línea de comandos de --log-dir=logs-directory
.
Los registros se nombran de la siguiente manera:
agent.hostname.username.log.log-level.timestamp
En el ejemplo anterior, se ilustra lo siguiente:
hostname
: El nombre de host en el que se ejecuta el agente.username
: El nombre de usuario que ejecuta el agente.log-level
es uno de los siguientes:INFO
: Mensajes informativosERROR
: Errores detectados durante la transferencia, pero que no impiden que el trabajo de transferencia continúeFATAL
: Errores detectados que impiden que el trabajo de transferencia continúe
timestamp
: Una marca de tiempo en formatoYYYYMMDD-hhmmss.thread-id
El directorio de registros contiene symlinks a los registros más recientes para cada uno de los niveles de prioridad:
agent.ERROR
agent.FATAL
agent.INFO
Velocidad de transferencia lenta
Si tus datos tardan mucho tiempo en transferirse, verifica lo siguiente:
La capacidad de procesamiento de lectura del sistema de archivos debe ser aproximadamente 1.5 veces la velocidad de carga deseada. Puedes usar FIO para probar la capacidad de procesamiento de lectura de tu sistema de archivos.
Instala fio:
sudo apt install -y fio
Crea un directorio
fiotest
nuevo:TEST_DIR=/mnt/mnt_dir/fiotest
sudo mkdir -p $TEST_DIR
Prueba la capacidad de procesamiento de lectura:
sudo fio --directory=$TEST_DIR --direct=1 --rw=randread --randrepeat=0 --ioengine=libaio --bs=1M --iodepth=8 --time_based=1 --runtime=180 --name=read_test --size=1G
Después de ejecutar los comandos anteriores, Fio genera un informe. La línea etiquetada como “bw” representa el ancho de banda agregado total de todos los subprocesos y se puede usar como proxy para la capacidad de procesamiento de lectura.
Usa iPerf3 a fin de verificar el ancho de banda de Internet disponible para el Servicio de transferencia de almacenamiento.
Asegúrate de que cada uno de tus agentes de transferencia tenga al menos 4 CPU virtuales y 8 GB de RAM.
Si verificaste las condiciones anteriores y aún tienes tiempos de transferencia largos, puedes agregar agentes adicionales para aumentar la cantidad de conexiones simultáneas al sistema de archivos de tus datos.
Para obtener más información sobre cómo maximizar el rendimiento de tus agentes de transferencia, consulta Prácticas recomendadas para agentes.
Soluciona problemas de errores de agentes
En las siguientes secciones, se describe cómo solucionar y resolver errores de agente de transferencia:
Los agentes no están conectados
Si los agentes de transferencia no se muestran como conectados en la consola de Google Cloud:
Verifica que los agentes puedan conectarse a las APIs de Cloud Storage:
Ejecuta el siguiente comando desde la misma máquina que se usó con el agente de transferencia para probar la conexión del agente a las API de Cloud Storage:
gcloud storage cp test.txt gs://my-bucket
Reemplaza lo siguiente:
my-bucket
por el nombre del bucket de Cloud Storage.
Si tu proyecto usa los Controles del servicio de VPC, consulta los registros del agente para ver si hay errores. Si los Controles del servicio de VPC están mal configurados, los registros del agente
INFO
contendrán el siguiente error:Request is prohibited by organization's policy. vpcServiceControlsUniqueIdentifier: id
En este resultado, se ilustra lo siguiente:
Los agentes están conectados, pero los trabajos fallan
Si los agentes se muestran como conectados, pero los trabajos de transferencia fallan, verifica los detalles de error de los trabajos fallidos.
El proxy rechaza las direcciones IP
Si ejecutas un proxy como Squid y usas una lista de entidades permitidas, es posible que veas que se rechazan las solicitudes porque se usan direcciones IP en lugar de nombres de host.
Para resolver este problema, usa el comando docker run para ejecutar los agentes y agrega la siguiente marca:
--transfer-service-endpoint=storagetransfer.googleapis.com:443
Si usas un extremo alternativo para llegar a googleapis.com
(p.ej., para Private Service Connect), reemplaza googleapis.com
por el extremo alternativo.