Đồng bộ hóa tệp thời gian thực giữa nhiều máy chủ ở chế độ đa chủ
Có một công cụ tốt được gọi lsyncd
để đồng bộ hóa các tệp giữa nhiều máy chủ trên cơ sở thời gian thực. Ở đây tôi đã thử với hai máy chủ.
Máy chủ: Server1 và Server2
Hệ điều hành được sử dụng: CentOS 7
Cài đặt các gói dưới đây trên cả hai máy chủ.
# yum install -y epel-release
# yum -y install lua lua-devel pkgconfig gcc asciidoc lsyncd
tạo ssh-key trong cả hai máy chủ và thêm vào authorized_keys
tập tin. [thêm khóa chung của server1 vào server2's authorized_keys
và khóa chung của server2 vào authorized_keys
tệp của server1 ]
Cấu hình máy chủ1
Mở /etc/lsyncd.conf
và nhận xét cấu hình mặc định bằng cách sử dụng --
ở đầu dòng và thêm cấu hình bên dưới vào tệp.
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"
}
}
Thay đổi IP mục tiêu trong target
tham số.
Bạn có thể thay đổi delay
tham số theo yêu cầu của bạn. Ở đây nó được đặt 1 giây.
Bây giờ tạo thư mục đăng nhập.
# mkdir -p /var/log/lsyncd
Cho phép lsyncd
dịch vụ bắt đầu tự động.
# systemctl enable lsyncd.service
Bắt đầu dịch vụ.
# systemctl start lsyncd.service
Cấu hình máy chủ2
Thực hiện theo cấu hình tương tự như Server1 và thay đổi target
IP.
Bây giờ đồng bộ hóa được đặt.
Bạn có thể kiểm tra hoạt động từ tailf /var/log/lsyncd/lsyncd.log
Cảm ơn MelBurslan cho gợi ý của mình.