Diferencia entre revisiones de «Tutorial gdrive y rclone»
(Página creada con «== 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 descargar datos para que puedan ser utilizados en sus cálculos y tareas que puedan resolver utilizando nuestro clúster. 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 G…») |
Sin resumen de edición |
||
(No se muestran 4 ediciones intermedias del mismo usuario) | |||
Línea 1: | Línea 1: | ||
== Introducción == | == 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 | 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: | Es necesario considerar que lo aquí presente considera: | ||
Línea 9: | Línea 9: | ||
* 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. | * 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. | ||
== | == 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, ejemplo '''my_gdrive''') | |||
# 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. | |||
[[File:GDRIVE-sharing-auth.png]] | |||
=== 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. | |||
== Uso básico de rclone == | |||
A continuación se muestran algunos comandos básicos para utilizar | |||
=== Listar contenido remoto === | |||
Para listar el contenido remoto ejecutaremos: | |||
rclone ls my_gdrive: | |||
Esto listará todo el contenido disponible en Google Drive. | |||
Si deseamos listar únicamente el contenido de un directorio, es necesario especificar la ruta: | |||
rclone ls my_gdrive:images/ | |||
Si el directorio o archivo no existe, obtendremos un mensaje de error. | |||
También debe notar que al referirnos al contenido remoto se debe utilizar ''':''' entre el nombre del contenido remoto y el directorio. | |||
=== | === Copiar desde Google Drive hacia el clúster === | ||
Para copiar '''desde''' Google Drive hacia nuestra cuenta en el clúster ejecutamos: | |||
rclone copy my_gdrive:/images ~/copia_local | |||
El comando anterior copiará el contenido de '''my_gdrive:/images''' a nuestro directorio local '''copia_local'''. | |||
Debe notar que al referirnos al contenido remoto se debe utilizar ''':''' entre el nombre del contenido remoto y el directorio. | |||
=== Copiar hacia Google Drive desde el clúster === | |||
Para copiar '''hacia''' Google drive ejecutamos: | |||
rclone copy ~/copia_local my_gdrive:/images2 | |||
El comando anterior copiará el contenido de '''copia_local''' a '''my_gdrive:/images2'''. | |||
Debe notar que al referirnos al contenido remoto se debe utilizar ''':''' entre el nombre del contenido remoto y el directorio. | |||
== Ejemplo de tarea SLURM para copiar archivos == | |||
Si deseamos realizar una copia de archivos utilizando [https://wiki.nlhpc.cl/SISTEMA_GESTOR_DE_RECURSOS SLURM] podemos hacer algo similar a: | |||
#!/bin/bash | |||
#SBATCH -J fromGdrive | |||
#SBATCH -p main | |||
#SBATCH -n 1 | |||
#SBATCH -c 1 | |||
#SBATCH --mem-per-cpu=2839 | |||
#SBATCH --mail-type=ALL | |||
#SBATCH -o fromGdrive_%j.out | |||
ml purge | ml purge | ||
ml rclone/1.68.1 | ml rclone/1.68.1 | ||
mkdir mi_copia_local | |||
rclone copy my_gdrive:images2/ mi_copia_local | |||
Y de esta manera obtener los archivos que necesitará para sus eventuales simulaciones. | |||
== Enlaces de interés == | |||
Lo invitamos a ver los siguientes enlaces, que pueden resultar de utilidad: | |||
* [[Tutorial de acceso a archivos|Tutorial de Acceso a Archivos]] | |||
* [[Tutorial de acceso a Leftraru via SSH|Tutorial de acceso vía SSH]] | |||
* [https://rclone.org/drive/ Dolcumentación oficial de RClone y el uso con GDrive] |
Revisión actual - 19:58 28 oct 2024
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.
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, ejemplo my_gdrive)
- 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.
Uso básico de rclone
A continuación se muestran algunos comandos básicos para utilizar
Listar contenido remoto
Para listar el contenido remoto ejecutaremos:
rclone ls my_gdrive:
Esto listará todo el contenido disponible en Google Drive.
Si deseamos listar únicamente el contenido de un directorio, es necesario especificar la ruta:
rclone ls my_gdrive:images/
Si el directorio o archivo no existe, obtendremos un mensaje de error.
También debe notar que al referirnos al contenido remoto se debe utilizar : entre el nombre del contenido remoto y el directorio.
Copiar desde Google Drive hacia el clúster
Para copiar desde Google Drive hacia nuestra cuenta en el clúster ejecutamos:
rclone copy my_gdrive:/images ~/copia_local
El comando anterior copiará el contenido de my_gdrive:/images a nuestro directorio local copia_local.
Debe notar que al referirnos al contenido remoto se debe utilizar : entre el nombre del contenido remoto y el directorio.
Copiar hacia Google Drive desde el clúster
Para copiar hacia Google drive ejecutamos:
rclone copy ~/copia_local my_gdrive:/images2
El comando anterior copiará el contenido de copia_local a my_gdrive:/images2.
Debe notar que al referirnos al contenido remoto se debe utilizar : entre el nombre del contenido remoto y el directorio.
Ejemplo de tarea SLURM para copiar archivos
Si deseamos realizar una copia de archivos utilizando SLURM podemos hacer algo similar a:
#!/bin/bash #SBATCH -J fromGdrive #SBATCH -p main #SBATCH -n 1 #SBATCH -c 1 #SBATCH --mem-per-cpu=2839 #SBATCH --mail-type=ALL #SBATCH -o fromGdrive_%j.out ml purge ml rclone/1.68.1 mkdir mi_copia_local rclone copy my_gdrive:images2/ mi_copia_local
Y de esta manera obtener los archivos que necesitará para sus eventuales simulaciones.
Enlaces de interés
Lo invitamos a ver los siguientes enlaces, que pueden resultar de utilidad: