Rsync + Sersync 实时数据同步方案

方案架构

  • 源服务器:部署 Sersync(监控文件变化) + Rsync(推送数据)
  • 目标服务器:部署 Rsync Daemon(接收数据)
  • 同步逻辑:源服务器文件变动 → Sersync 实时触发 → Rsync 增量同步至目标服务器

详细实施步骤

一、目标服务器配置(数据接收端)

  1. 安装 Rsync

bash

yum install rsync -y # CentOS

apt install rsync -y # Ubuntu

  1. 创建 Rsync 配置文件

bash

vim /etc/rsyncd.conf

ini

uid = root

gid = root

use chroot = no

max connections = 2000

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

data_backup # 模块名称(客户端同步时指定)

path = /data/backup # 同步目录

comment = Backup Directory

read only = no # 允许写入

auth users = rsync_user # 认证用户

secrets file = /etc/rsync.password # 密码文件

  1. 创建认证文件

bash

echo "rsync_user:your_password" > /etc/rsync.password

chmod 600 /etc/rsync.password

  1. 创建同步目录

bash

mkdir -p /data/backup

chown -R rsync_user:rsync_user /data/backup

  1. 启动 Rsync 守护进程

bash

systemctl start rsyncd

systemctl enable rsyncd

  1. 开放防火墙端口

bash

firewall-cmd --add-port=873/tcp --permanent

firewall-cmd --reload


二、源服务器配置(数据发送端)

  1. 安装 Rsync

bash

yum install rsync -y # CentOS

apt install rsync -y # Ubuntu

  1. 创建 Rsync 密码文件

bash

echo "your_password" > /etc/rsync.password

chmod 600 /etc/rsync.password

  1. 测试手动同步

bash

rsync -avz /source/data/ rsync_user@目标服务器IP::data_backup --password-file=/etc/rsync.password

  • 作用:验证配置正确性,确保网络和权限正常。
  1. 安装 Sersync

bash

wget https://github.com/wsgzao/sersync/raw/master/sersync2.5.4_64bit_binary_stable_final.tar.gz

tar -zxvf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /opt/

mv /opt/GNU-Linux-x86/ /opt/sersync

  1. 修改 Sersync 配置文件

bash

vim /opt/sersync/confxml.xml

xml

<!-- 监控目录设置 -->

<localpath watch="/source/data"> <!-- 源服务器需同步的目录 -->

<remote ip="目标服务器IP" name="data_backup"/> <!-- 目标服务器模块名 -->

</localpath>

<!-- Rsync 参数 -->

<rsync>

<commonParams params="-artuz"/> # 归档模式(保留属性)

<auth start="true" users="rsync_user" passwordfile="/etc/rsync.password"/>

<timeout start="false" time="100"/> <!-- 超时设置 -->

</rsync>

  1. 启动 Sersync

bash

/opt/sersync/sersync2 -d -r -o /opt/sersync/confxml.xml

  • 参数说明:
    • -d:守护进程模式
    • -r:启动时先全量同步
    • -o:指定配置文件
  1. 设置开机自启

bash

echo "/opt/sersync/sersync2 -d -r -o /opt/sersync/confxml.xml" >> /etc/rc.local

chmod +x /etc/rc.local


三、验证实时同步

  1. 在源服务器创建测试文件

bash

touch /source/data/testfile.txt

  1. 检查目标服务器同步结果

bash

ls /data/backup # 应出现 testfile.txt

  1. 查看 Sersync 日志

bash

tail -f /opt/sersync/rsync_fail_log.sh # 同步失败日志


四、多维优化与监控

1. 性能优化

  • 调整 inotify 限制(解决监控文件数不足问题):

bash

echo "fs.inotify.max_user_watches=1000000" >> /etc/sysctl.conf

sysctl -p

  • Rsync 带宽限制(避免影响业务):

xml

<!-- 在 confxml.xml 中增加 -->

<commonParams params="--bwlimit=10240 -artuz"/> <!-- 限速 10MB/s -->

2. 高可用方案

  • 双活监控:部署多个 Sersync 进程监控不同目录。
  • 异常重启:添加 crontab 监控进程:

bash

*/5 * * * * pgrep sersync2 || /opt/sersync/sersync2 -d -o /opt/sersync/confxml.xml

3. 安全加固

  • Rsync 最小权限:
    • 目标服务器使用非 root 用户运行 Rsync。
    • 配置文件设置 uid = rsync_user , gid = rsync_user。
  • SSH 隧道加密:

xml

<!-- 修改 confxml.xml -->

<rsync>

<ssh start="true" port="22" user="rsync_user"/>

</rsync>

4. 故障排查工具

  • 手动触发同步:

bash

/opt/sersync/sersync2 -r -o /opt/sersync/confxml.xml

  • 查看 inotify 事件:

bash

tail -f /proc/sys/fs/inotify/* # 监控事件队列


方案优势

  1. 秒级延迟:Sersync 基于 inotify 内核事件触发,响应速度 <1s。
  2. 增量高效:Rsync 只同步变化部分,节省带宽。
  3. 低资源占用:Sersync 单进程设计,CPU/内存消耗极低。
  4. 断点续传:Rsync 支持传输中断后续传。

注意 :大规模集群建议使用 Lsyncd 或 DRBD,单服务器场景本方案为最优解。

相关推荐
中云DDoS CC防护蔡蔡3 小时前
DDOS和CC攻击谁更可怕
运维·服务器·经验分享·网络安全·ddos
leagsoft_10033 小时前
勒索病毒扩散控制深度解析:四大扩散路径、主流方案局限与联软科技差异化实践
网络安全·零信任·内网安全·勒索病毒·微隔离·防勒索·ad域安全
Ruiery3 小时前
Linux 6.6内核内存管理深度解析(十六):mmap — 用户态“申请内存“的真相
linux·运维·服务器
砚凝霜3 小时前
保姆级 | CTF 命令执行 system($_POST[‘a‘]):直接传系统命令拿 flag(对比 eval)
web安全·网络安全
2501_915106324 小时前
抓包抓到乱码或压缩字节怎么解析,TraceEagle五种查看模式和一键解码
网络协议·计算机网络·网络安全·ios·adb·https·udp
欧米欧4 小时前
Linux系统篇(七),环境变量的底层溯源,核心获取机制与安全应用
linux·运维·服务器
Ruiery4 小时前
Linux 6.6内核内存管理深度解析(十八):KASLR 内核地址空间随机化
linux·运维·服务器·安全
qetfw5 小时前
UOS MariaDB 数据库:安装、最小权限与备份验证
linux·数据库·mariadb·uos
逆风的蚂蚁6 小时前
linux服务器性能调整怎么落地?我把 CPU 调度、I/O 优先级和内核参数这几个旋钮都拧了一遍
linux·运维·服务器
菩提小狗7 小时前
每日安全情报报告 · 2026-10-30
网络安全·漏洞·cve·安全情报·每日安全