[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: PIPE entre servidores



Javier Terceiro wrote:
El 6/02/08, Luis Rodrigo Gallardo Cruz <rodrigo@nul-unu.com> escribió:
On Wed, Feb 06, 2008 at 02:43:41AM +0100, Javier Terceiro wrote:
Hola,

necesito compartir cierto flujo de datos entre dos servidores a nivel
de IP. El servidor A va ser que el esté únicamente escribiendo y el B
lo único que necesita hacer es lectura del mismo. Una de las
restricciones que voy tener es el consumo de espacio en disco, puesto
que los datos ocupan "bastante", por lo que pensé en el uso de
dispositivos pipe o fifo para hacerlo (mkfifo).

Lo que hice fue crear el dispositivo y luego con nfs compartirlo al
otro servidor. El resultado es que no se da leído nada desde el otro
equipo. Leyendo más acerca de este tipo de dispositivos, resulta que
tengo que tener un proceso que esté leyendo antes de comenzar, sino
luego no enlaza...
Exácto. Según yo (que alguna vez ya hice algo así) el método sería, en orden:

mkfifo /ruta/en/el/dir/compartido

(en el servidor que lee)

procesa_datos </ruta/al/fifo

(en el que escribe)

genera_datos >/ruta/al/fifo

Por otra parte, si esto no te funciona, ¿has intentado un sencillísimo

 genera_datos | ssh el-otro-servidor procesa_datos

?

Creo que esto cumple con todos tus requisitos.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHqRImAZmDGK3JvCgRAqfJAJ0X81c1aJD3/0Y7tQ5uvN2GuMoiuQCfYCrJ
+apqcfJwv7oQyHQyFTuFd0g=
=qLQK
-----END PGP SIGNATURE-----



Hola,

efectivamente la idea del ssh si es buena, pero el programa que tengo
no hace posible eso, ya que es un demonio que está en segundo plano y
hace más cosas... No es posible lanzarlo así.

Con respecto a lo que comentas de la tubería, si lo hago a nivel
local, proceso que lee y luego el otro que escribe va perfectamente.
El problema está cuando lo hago a nivel NFS, que con lo mismo, proceso
que lee y luego el otro comienza a escribir no rula.

Alguna otra idea de como hacer un flujo de datos entre equipos sin
depender del proceso que esté a leer?

Hola,

A ver que te parece esta idea: manten dos tuberías y un programa con ssh para volcar una en otra.

Ejemplo:

1. En el equipo productor de datos
   mkfifo tuberia_origen
2. En el equipo consumidor de datos
   mkfifo tuberia_destino
3. En el equipo productor de datos
   cat tuberia_origen | ssh equipo-productor-datos "cat > tuberia_destino"

Y ahora solo tienes que hacer un programa que escriba en tuberia_origen en un ordenador y otro que lea de tuberia_destino en el otro


Hasta más bits,


Reply to: