Saltar a contenido

Transferencia de datos masiva#

Para realizar transferencias de datos se dispone de nodos de transferencia que permiten copiar y descargar grandes cantidades de datos al espacio de usuario accediendo directamente a la red troncal de datos.

Contamos con dos nodos habilitados para tal efecto que proporcionan un mayor ancho de banda entre los propios nodos y el sistema de almacenamiento compartido. Estos nodos están accesibles en las direcciones:

Nombre Dirección IP
tn-t01.hpc.iter.es 193.146.150.177
tn-t02.hpc.iter.es 193.146.150.178

La trasferencia de información a través de estos nodos solo se permite mediante el uso de protocolos seguros sobre SSH como es el SFTP (SecureSHell File Transfer Protocol o Secure File Transfer Protocol). SFTP nos permitirá descargar y subir archivos muy fácilmente, a la vez que nos proporciona confidencialidad y autenticación de los datos transmitidos, a diferencia de un servidor FTP donde no tenemos ningún tipo de seguridad, ya que las credenciales de usuario se envían sin cifrar, y todo el tráfico de datos también. Para ello es necesario disponer de un cliente de dicho protocolo en la máquina local, como pueden ser sftp en linux o psftp en windows.

Nota: recuerde desconectarse de la VPN dado que estos nodos tienen acceso mediante ip pública. En caso contrario su ordenador enrutará todo el tráfico a través de la VPN teniendo esta un rendimiento inferior.

Rsync para usuarios Linux#

Rsync es una herramienta de sincronización muy flexible y habilitada para la red. Debido a su presencia universal en sistemas Linux y sistemas similares a Unix, y su popularidad como herramienta para las secuencias de comandos del sistema, se incluye en la mayoría de las distribuciones de Linux de manera predeterminada.

Para sincronizar el contenido de un directorio llamado origne a otro destino en el mismo sistema, escriba lo siguiente:

rsync -r origen/ destino

los argumentos origen/ destino es diferente a origen destino

rsync -r origen/ destino copia el contenido de origen en destino rsync -r origen destino copia origen dentro de_destino_

Para sincronizar con un sistema remoto:

rsync -av ~/origen username@remote_host:destino

Para sincronizar un sistema remoto a un directorio local

rsync -av username@remote_host:origen ~/destino

Opciones útiles para rsync#

-r: indica recursive, necesario para el directorio
-a indica all y es equivalente a -r
-v indica verbose, muestra el listado de ficheros/directorios copiados
-n o --dry-run comprueba los argumentos
-az comprime la transferencia
-P o --progress muestra el progreso
--delete elimina los archivos del directorio destino si se eliminaron de la fuente
--exclude 'f o d' excluye archicos, directorios o patrones del directorio origen
--include 'f o d' limita los archivos, directorios o patrones ha transferir por rsync

Rsync para usuarios Windows:#

Lo más sencillo y recomendable es instalar Windows Subsystem for Linux (WSL) en su ordenador. Funciona como una utilidad de Windows y le permite ejecutar la distribución de Linux en el modo de línea de comandos bajo el sistema operativo Windows 10 y 11.

El procedimiento de instalación de WSL no es complicado y está bien documentado en la web oficial de microsoft https://learn.microsoft.com/es-es/windows/wsl/install. Ahí encontrará una descripción detallada de lo que está haciendo. De manera resumida consiste en:

  1. Abrir una ventana de Windows Powershell
  2. Instalar WSL: wsl-install La distribución instalada por defecto es Ubuntu
  3. Abrir la distribución por defecto: wsl
  4. Usar los comando linux para ir al directorio que contiene los ficheros. cd C:\mydirectory\
  5. Seguir los mismos pasos que se indican en el apartado rsync para usuarios linux

wsl-install

sFTP para usuarios Linux#

Se puede abrir la conexión al servidor a través de su IP pública:

$ sftp miusuario@servidor.dominio.com  o
$ sftp miusuario@IPservidor

Comandos más usados#

Una vez abierta la sesión, el comando help mostrará la lista de comandos que se pueden utilizar. A continuación se describen los más utilizados y son válidos para usuarios Linux como Windows:

sftp> help      -- Muestra la ayuda.

sftp> cd  dir   -- Cambia el directorio de trabajo remoto.
sftp> lcd dir   -- Cambia el directorio de trabajo local.

sftp> pwd       -- Muestra el directorio de trabajo actual.
sftp> lpwd      -- Muestra el directorio de trabajo actual local.

sftp> put file1.zip ...       -- Sube un fichero desde el directorio de trabajo local al directorio de trabajo remoto
sftp> get file1.zip ...       -- Descarga un fichero desde el directorio de trabajo remoto al directorio de trabajo local

sftp> put -r directory        -- Sube un directorio desde el directorio de trabajo local al directorio de trabajo remoto
sftp> get -r directory        -- Descarga un directorio desde el directorio de trabajo remoto al directorio de trabajo local

sFTP para usuarios Windows#

Para los usuarios windows existen multitud de aplicaciones tanto de linea de comandos como con interfaz gráfica. Entre ellas las más conocidas son: psftp, Filezilla y WinSPC.

psftp#

PSFTP es el cliente de línea de commandos SFTP que se instala con la aplicación PuTTY, uno de los clientes SSH más populares para windows.

Hay tres formas de abrir PSFTP

  1. Haciendo Click en inicio de Windows, buscar la aplicación Putty y luego PSFTP.
  2. Ir al directorio “C:\Program Files (x86)\PuTTY” y hacer doble click en psftp.exe.
  3. Iniciar la aplicación de línea de commandos de windows cmd o PowerShell.

Windows command line Windows command line

Para esta última opción, es recomendable incluir el directorio en el que se ha instalado PSFTP dentro del PATH del usuario aquí

set PATH=C:\path\to\putty\directory;%PATH%

Se puede abrir la conexión al servidor a través de su IP pública.

C:\Users\Usuario>psftp usuario@IPservidor

Filezilla#

FileZilla es uno de los programas más utilizados para usarlo como cliente FTP/FTPS y FTPES, pero también incorpora la posibilidad de conectarnos a un servidor SFTP. Tan solo tendremos que introducir en la barra de direcciones la siguiente sintaxis Servidor: sftp://IP, y seguidamente, el usuario y la contraseña que se le ha suministrado, e introducir el puerto de escucha que tengamos configurado en el servidor SSH al que pretendemos conectarnos.

Filezilla img

WinSCP#

WinSPC es un popular cliente para descargas gratuito que está disponible para Windows, soporta los protocolos SFTP, SCP, WebDAV y FTP, está enfocado principalmente para la transferencia de archivos, el uso de scripts y funcionalidades básicas de un administrador de archivos.

WinSPC

Otros#

sFTP para usuario de MAC#

Lo usuario de MAC pueden usar la terminal de la misma manera que los usuarios Linux o bien instalar una aplicación con interfaz gráfica como la siguiente:

Enlaces de interés#