Uso de OpenCayle en el entorno HPC

- El uso de OpenCayle queda restringido a los nodos de login (frontends) por lo que cualquier interacción debe realizarse directamente desde esos equipos.
- Los usuarios no podrán crear ni acceder a ningún punto de montaje desde los nodos de cálculo.

  1. Conexión

NOTA: Para descargar los programas python ( extensión .py) siga estas instrucciones:
1) Seleccione el fichero
2) Pulse el botón derecho del ratón
3) Seleccione la opción guardar como

  • En caso de que la conexión sea correcta, obtendrá el siguiente mensaje:

    ```
    [mi_usuario_1_1@frontend1 ~]$ python s3Scripts/s3CheckConnection.py <access_key>
        Your accessKey connects successfully to OpenCayle
    ```
    >>>>>
    Donde mi_usuario_1_1 sería su usuario de conexión. 
  • Si por el contrario obtuviese un error, por favor, póngase en contacto con el equipo de soporte para revisar su caso.
  1. Creación de bucket
    Creación del primer bucket, si ya existe el bucket no es necesario crearlo.

    Para la generación de los buckets existen diferentes opciones.

  • Generación del bucket en el equipo personal:

  • Generación de un bucket desde los frontends

    • Crear el fichero "s3test.cfg".
    • Ejecutar “ls”, comando que permite listar el contenido de un directorio, para verificar que no hay nada creado en OpenCayle aún.

      [mi_usuario_1_1@frontend1 ~]$ s3cmd -c s3test.cfg ls
    • Crear el bucket con el siguiente comando:

      [mi_usuario_1_1@frontend1 ~]$ s3cmd -c s3test.cfg mb s3://<nombre_bucket>

      Ejemplo:

      [mi_usuario_1_1@frontend1 ~]$ s3cmd -c s3test.cfg mb s3://su_primer_bucket
      Bucket 's3://su_primer_bucket/' created
    • Al hacer nuevamente un “ls”, ya debería aparecer su bucket.
      [mi_usuario_1_1@frontend1 ~]$ s3cmd -c s3test.cfg ls
      2020-06-16 09:32  s3://su_primer_bucket

En el siguiente enlace podrá encontrar más comandos útiles de rclone: https://rclone.org/commands/

  1. Conexión
    Debe existir un fichero de configuración en la ruta .config/rclone/rclone.conf con la siguiente información (para más información puede consultar aquí):

    [mi_usuario_1_1@frontend1 ~]$ cat .config/rclone/rclone.conf
    [oc]
    type = s3
    provider = Other
    env_auth = false
    access_key_id = <clave_usuario_codificada_base64>
    secret_access_key = <clave_usuario_codificada_base64>
    endpoint = https://ss3.scayle.es
  2. Listar opencayle
  • Listar directorios

    [mi_usuario_1_1@frontend1 ~]$ rclone lsd oc:
          -1 2020-06-16 11:32:59        -1 mi_primer_bucket
  • Listar el contenido dentro de un directorios

    [mi_usuario_1_1@frontend1 ~]$ rclone ls oc:mi_primer_bucket
    o
    [mi_usuario_1_1@frontend1 ~]$ rclone lsl oc:mi_primer_bucket
  • Listar árbol

    [mi_usuario_1_1@frontend1 ~]$ rclone tree oc:m
  1. Crear/Modificar/Eliminar
  • Crear un fichero

    [mi_usuario_1_1@frontend1 ~]$ rclone touch oc:mi_primer_bucket/fichero_creado_con_rclone.txt 
    [mi_usuario_1_1@frontend1 ~]$ rclone lsl oc:mi_primer_bucket
        0 2021-08-30 13:17:50.212381601 fichero_creado_con_rclone.txt
  • Eliminar un fichero

    [mi_usuario_1_1@frontend1 ~]$ rclone delete oc:mi_primer_bucket/fichero_creado_con_rclone.txt
    [mi_usuario_1_1@frontend1 ~]$ rclone lsl oc:mi_primer_bucket
  • Crear un directorio

    [mi_usuario_1_1@frontend1 ~]$ rclone mkdir oc:mi_segundo_bucket
    [mi_usuario_1_1@frontend1 ~]$ rclone lsd oc:
          -1 2020-06-16 11:32:59        -1 mi_primer_bucket
          -1 2021-08-30 13:21:10        -1 mi_segundo_bucket
  • Eliminar un directorio

    [mi_usuario_1_1@frontend1 ~]$ rclone rmdir oc:mi_segundo_bucket
    [mi_usuario_1_1@frontend1 ~]$ rclone lsd oc:
          -1 2020-06-16 11:32:59        -1 mi_primer_bucket
  1. Mover/Copiar
  • Copiar un fichero local a OC

    [mi_usuario_1_1@frontend1 ~]$ cat rclone.txt 
    Hola caracola
    [mi_usuario_1_1@frontend1 ~]$ rclone copy rclone.txt oc:mi_primer_bucket
    [mi_usuario_1_1@frontend1 ~]$ rclone lsl oc:mi_primer_bucket
       14 2021-08-30 13:14:46.000000000 rclone.txt
  • Copiar un fichero de OC en local

    [mi_usuario_1_1@frontend1 ~]$ cat rclone.txt 
    Hola caracola
    [mi_usuario_1_1@frontend1 ~]$ rclone copy oc:mi_primer_bucket/fichero_creado_con_rclone.txt .
    [mi_usuario_1_1@frontend1 ~]$ ls -l
    ...
    -rw-r--r--  1 mi_usuario_1_1 hpc_scayle           0 ago 30 13:17 fichero_creado_con_rclone.txt
    ...
  • Mover un fichero

    [mi_usuario_1_1@frontend1 ~]$ rclone lsl oc:mi_primer_bucket
        0 2020-06-16 11:36:02.000000000 mi_primer_objeto
       14 2021-08-30 13:14:46.000000000 rclone.txt
    [mi_usuario_1_1@frontend1 ~]$ rclone move fichero_a_mover_a_oc.csv oc:mi_primer_bucket
    [mi_usuario_1_1@frontend1 ~]$ rclone lsl oc:mi_primer_bucket
        0 2021-09-02 10:08:19.000000000 fichero_a_mover_a_oc.csv
        0 2020-06-16 11:36:02.000000000 mi_primer_objeto
       14 2021-08-30 13:14:46.000000000 rclone.txt

NOTA: para mover directorio utilizar la opción "moveto" de rclone.

Sincronización de ficheros

ADVERTENCIA: no está permitida la creación de puntos de montaje. Trabajar sobre directorios locales y luego mover los datos. Utilizar rsync para trabajar. El flujo de trabajo óptimo será que todos los usuarios suban sus datos a OpenCayLe siento este el punto de almacenamiento central y que luego copien a SCRATCH los datos necesarios para calcular. Finalmente, los usuarios deberán volver a hacer la subida con los resultados que necesiten almacenar.

Sync

- La sincronización se debe realizar sobre un directorio ya creado en local.
- Con la opción -i estamos indicando que queremos que la sincronización sea interactiva, de esta manera, nos pregunta qué deseamos hacer.
rclone sync -i SOURCE remote:DESTINATION
Ejemplo:
[mi_usuario_1_1@frontend1 ~]$ rclone sync -i oc:datasets/dataset_train/csv $HOME/mi_usuario_1_1/DATA/
rclone: copy "datos_filtrados.csv"?
y) Yes, this is OK (default)
n) No, skip this
s) Skip all copy operations with no more questions
!) Do all copy operations with no more questions
q) Exit rclone now.
y/n/s/!/q>