Tutorial gdrive y rclone
Introducción
El siguiente tutorial tiene como finalidad ayudar a los usuarios a obtener datos desde Google Drive utilizando la utilidad rclone, permitiendo que puedan copiar datos para que ser utilizados en sus cálculos y tareas.
Es necesario considerar que lo aquí presente considera:
- El acceso es a directorios y archivos compartido de manera pública,
- No se utilizará identificaciones de Google mediante su API para un acceso sencillo,
- Los ejemplos presentados están pensados para ser utilizados en las particiones login y main,
- Siempre se recomendará que la descarga de archivos debe realizarse de manera independiente a la ejecución de simulaciones que requieran una alta demanda de poder de cómputo.
Compartir directorio y/o archivo de Google Drive
Configuración de acceso
Es necesario acceder a la cuenta de Google Drive u obtener la URL del directorio o archivo que deseamos copiar hacia el clúster.
En el caso de que seamos propietarios del contenido a copiar, podemos:
- Buscar directorio o archivo a compartir
- Click derecho sobre el nombre para abrir menú contextual
- Seleccionar "Compartir" y luego en "Compartir" nuevamente
- En la ventana para configurar los permisos de "Acceso General" seleccionamos "Cualquier persona con el enlace" en modo "Lector"
- Presionar el botón "Hecho"
Copiar URL de directorio o archivo compartido
Cuando ya se realizan los ajustes a la configuración deltipo de acceso, será posible copiar la URL siguiendo los pasos:
- Buscar directorio o archivo a compartir
- Click derecho sobre el nombre para abrir menú contextual
- Seleccionar "Compartir" y luego "Copiar enlace"
La URL quedará en el buffer por lo que podremos pegar dicha información (CTRL+V), lo que será similar a:
https://drive.google.com/drive/folders/1BgVf...Bag?usp=drive_link
Carga y configuración de rclone
El proceso de configuración inicial de rclone se realizará:
- Carga de módulos,
- Identificación de nodo de acceso,
- Configuración de parámetros iniciales,
- Crear túnel SSH,
- Autorizar acceso a cuenta de Google Drive,
- Finalizar la configuración.
Carga de módulos
Cargamos rclone mediante el uso de módulos ejecutando a:
ml purge ml rclone/1.68.1
Con estos pasos ya tendremos acceso a la aplicación rclone
Identificación de nodo de acceso
Para identificar el nodo de acceso en que estemos trabajando, podemos ejecutar el comando:
hostname
El que nos indicará el nombre del nodo, los que pueden ser:
- leftraru1
- leftraru2
De manera alternativa, es posible acceder de manera específica a uno de los nodos de acceso.
Por ejemplo, si queremos acceder a leftraru2 ejecutaremos:
ssh dbowman@lefraru2.nlhpc.cl
La identificación del nodo de acceso es importante para cuando se realice la autorización de acceso a Google Drive.
Configuración de parámetros iniciales
Ya podremos ejecutar el comando:
rclone config
Y configuraremos los siguientes parámetros (se pone entre paréntesis el valor a seleccionar):
- New Remote (n)
- Name for new remote (a discreción del usuario)
- Type of storage (19 equivale al valor de Google Drive, el valor numerico puede variar)
- Client ID (dejar en blanco)
- Client Secret (dejar en blanco)
- Access Scope (1)
- Service account file (dejar en blanco)
- Advence Setting (n)
- Web Browser authentication (y)
En este punto es necesario tomar nota de la URL que ofrecerá, similar a:
http://127.0.0.1:53682/auth?state=levQe...v1X7Q
El puerto indicado en el ejemplo anterior es el 53682, el que se utilizará para generar el túnel SSH y permitir el acceso a nuestra cuenta.
Crear túnel SSH y
Necesitamos saber el nombre del nodo de acceso, como se indicó en la sección Identificación de nodo de acceso.
Consideraremos que estamos utilizando leftraru1.
En nuestro computador local crearemos un túnel SSH ejecutando:
ssh -p 4603 -NL 53682:localhost:53682 -l dbowman leftraru1.nlhpc.cl
Es importante a considerar qué el valor 53682 es indicado en la pantalla al momento de seleccionar Web Browser authentication.
Autorizar acceso a cuenta de Google Drive
Eventualmente podremos abrir en nuestro navegador local la URL http://localhost:53682/auth?state=levQe...v1X7Q.
Recuerde verificar el puerto y la generación del túnel SSH.
Al abrir la dirección se deberá autorizar que rclone pueda acceder a nuestro Google Drive.
Finalizar la configuración.
Una vez autorizado el acceso a Google Drive, podemos continuar con los pasos finales de configuración:
- Keep this remote (y note que se indicará el nombre dado al proceso de configuración)
- Quit config (q)
En el último paso podrá agregar un nuevo origen de datos demoto, editar o borrar, aunque estas acciones quedan fuera del alcance de este documento.