Sincronización de directorios con descubrimiento automático de pares

10

Estoy trabajando con un grupo de servidores Linux detrás de la función de escalado automático de la nube de Amazon ( documentación ). Hay archivos que se acumulan en cada servidor, son archivos de caché para la aplicación. Estoy buscando una forma automatizada para que los servidores sincronicen esa carpeta entre ellos.

  • Rsync funcionaría si alguien tuviera una forma inteligente de hacer la detección de pares.
  • Lo mismo vale para Unison.
  • También hemos considerado usar un SaaS como Dropbox.
  • Gluster parece exagerado, y no estoy seguro de lo fácil que es tener una nueva computadora uniéndose automáticamente al clúster.

Idealmente, lo que sucedería es cuando se inicia un nuevo servidor, descubre sus pares y comienza a sincronizar la carpeta. A partir de ese momento, la última marca de archivo gana la sincronización P2P.

¿Hay algo por ahí que haga esto?

Caleb
fuente
Este no hace detección de pares, pero puede ser de interés independientemente: mrsync.sourceforge.net .
Faheem Mitha

Respuestas:

1

Sabes lo extraño que puede parecer, pero usar rtorrent con DHT habilitado en el rango privado ec2 podría funcionar

Esto te daría

  • Descubrimiento automático de pares
  • Estados de archivo verificados (yay para hashes)
  • Requisitos mínimos de configuración (agregue el imán (o ip virtual para el último torrent) para el torrent en el script de inicio)
  • escalabilidad
Tacticus
fuente
1

Rsync upstream proporciona soporte para SLP (protocolo de ubicación del servicio). No está habilitado en fuentes rsync de vainilla, pero puede encontrar el soporte de SLP en rsync-parches tarball en la página de inicio de rsync (slp.diff). Por ejemplo, el paquete SUSE rsync está construido con este parche; No sé sobre otras distribuciones.

Sin embargo, no estoy seguro de que esto sea lo que está buscando ni tengo ninguna experiencia con SLP.

Petr Uzel
fuente
0

Tal vez me estoy perdiendo algo aquí, pero ¿hay alguna razón por la que no solo configure un directorio NFS simple y solo haga que todas las máquinas lo monten? Cada vez que la aplicación escribe el nuevo archivo de caché, simplemente debe sobrescribir los antiguos.

opsguy
fuente
1
Hola opsguy Lo que te estás perdiendo es ¿qué sucede cuando falla la máquina con NFS? Estamos tratando de eliminar un solo punto de falla para el caché.
0

Estoy bastante seguro de que hay alguna herramienta de administración de Amazon, como Command Line Tools , que le permite escribir un script de arranque para que los nodos se descubran entre sí, a través de direcciones IP privadas o públicas.

Por cierto, rsync y Unison no son la herramienta correcta, si tienen que distribuir cambios a la memoria caché con mucha frecuencia. En este caso, debe considerar algún sistema de archivos realmente distribuido.

Marco Solieri
fuente
0

¿Quizás DRBD (dispositivo de bloque distribuido)?

MSpike
fuente
1
Gracias por su respuesta, pero carece de sustancia. DRBD no es tan conocido que no requiere al menos un enlace. Pero realmente, debería dar más información: ¿por qué es adecuado DRBD? ¿Cómo funcionaría? Sobre todo teniendo en cuenta que Kevin pensó que Gluster era excesivo: ¿por qué no sería DRBD?
Gilles 'SO- deja de ser malvado'
Me acabo de dar cuenta de que estás buscando el descubrimiento automático de pares, por lo que este no es adecuado para ti. DRBD es un dispositivo de bloque en su hardware real o en la parte superior de algún volumen, y luego los sincroniza a través de la red.
MSpike