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.
# yum install -y epel-release
# yum -y install lua lua-devel pkgconfig gcc asciidoc lsyncd
generar clave ssh en ambos servidores y agregar al authorized_keysarchivo. [agregue la clave pública del servidor1 al servidor2 authorized_keysy la clave pública del servidor2 al authorized_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.
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
delay = 1
}
sync {
default.rsync,
source="/home/test/public_html/",
target="server2:/home/test/public_html/",
rsync = {
compress = true,
acls = true,
verbose = true,
owner = true,
group = true,
perms = true,
rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no"
}
}
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.
# mkdir -p /var/log/lsyncd
Permita que el lsyncdservicio se inicie automáticamente.
# systemctl enable lsyncd.service
Inicia el servicio.
# systemctl start lsyncd.service
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.log
Gracias a MelBurslan por su sugerencia.