Sincronización de archivos en tiempo real entre múltiples servidores en modo maestro múltiple
Existe una buena herramienta llamada lsyncd
para 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_keys
archivo. [agregue la clave pública del servidor1 al servidor2 authorized_keys
y la clave pública del servidor2 al authorized_keys
archivo del servidor1 ]
Configuración del servidor 1
Abra /etc/lsyncd.conf
y 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 target
parámetro.
Puede cambiar el delay
parámetro según sus necesidades. Aquí se establece 1 segundo.
Ahora cree el directorio de registro.
# mkdir -p /var/log/lsyncd
Permita que el lsyncd
servicio 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 target
IP.
Ahora la sincronización está configurada.
Puedes consultar la actividad desde tailf /var/log/lsyncd/lsyncd.log
Gracias a MelBurslan por su sugerencia.