¿Hay alguna herramienta disponible para sincronizar archivos entre dos o más servidores Linux inmediatamente después de escribir el archivo en el disco? El rsynccomando no me conviene en esto, porque si configuro rsyncen cron, el tiempo mínimo que puedo configurar es de 1 minuto, pero lo necesito en tiempo real.
linux
files
synchronization
Sourav
fuente
fuente

Respuestas:
No lo he usado yo mismo, pero lo leí recientemente. Hay un demonio llamado
lsyncd, que supongo que hace exactamente lo que necesita.Lea más sobre esto AQUÍ
fuente
lsyncdusainotify& debería ser el más rápido a nivel fs. Más en github.com/axkibe/lsyncd . Desde esa página: Lsyncd observa una interfaz de monitor de eventos de árboles de directorio local (inotify o fsevents). Agrega y combina eventos durante unos segundos y luego genera uno (o más) proceso (s) para sincronizar los cambios. Por defecto esto es rsync. Lsyncd es, por lo tanto, una solución de espejo en vivo liviana que es relativamente fácil de instalar, no requiere nuevos sistemas de archivos o dispositivos de bloque y no obstaculiza el rendimiento del sistema de archivos local.Inotify-tools
Proporcionar una interfaz para
inotify, que consta de:inotifywaitEste comando simplemente bloquea los eventos de inotify, por lo que es apropiado para su uso en scripts de shell. Puede ver cualquier conjunto de archivos y directorios, y puede ver recursivamente árboles de directorios completos.
inotifywatchEste comando recopila estadísticas de uso del sistema de archivos y genera recuentos de cada evento inotify.
fuente
Sincronización de archivos en tiempo real entre múltiples servidores en modo maestro múltiple
Existe una buena herramienta llamada
lsyncdpara sincronizar archivos entre múltiples servidores en tiempo real. Aquí lo he intentado con dos servidores.Hosts: Servidor1 y Servidor2
Sistema operativo utilizado: CentOS 7
Instale los siguientes paquetes en ambos servidores.
generar clave ssh en ambos servidores y agregar al
authorized_keysarchivo. [agregue la clave pública del servidor1 al servidor2authorized_keysy la clave pública del servidor2 alauthorized_keysarchivo del servidor1 ]Configuración del servidor 1
Abra
/etc/lsyncd.confy comente la configuración predeterminada utilizando--al principio de la línea y agregue la configuración siguiente al archivo.Cambiar la IP de destino en el
targetparámetro.Puede cambiar el
delayparámetro según sus necesidades. Aquí se establece 1 segundo.Ahora cree el directorio de registro.
Permita que el
lsyncdservicio se inicie automáticamente.Inicia el servicio.
Configuración del servidor2
Siga la misma configuración que Servidor1 y cambie la
targetIP.Ahora la sincronización está configurada.
Puedes consultar la actividad desde
tailf /var/log/lsyncd/lsyncd.logGracias a MelBurslan por su sugerencia.
fuente
La sincronización puede ser una opción. Es extremadamente rápido, la transferencia está encriptada y hay clientes para múltiples plataformas. Utiliza "inotify" para sincronizar los archivos modificados al instante.
fuente
Debería abordar esto con una solución de tipo de sistema de archivos en clúster: una simple sincronización entre las dos máquinas no le dará una respuesta en tiempo real.
fuente
"SIOS Protection Suite para Linux" puede ofrecer esto, en AWS.
http://www.linuxclustering.net/2016/03/21/step-by-step-how-to-configure-a-linux-failover-cluster-in-amazon-ec2-without-shared-storage-amazon- aws-sanless-cluster / # InstallConfigureCluster
fuente