本次方案基于CentOS 7.9系统开发,所有命令可直接复制执行,灾备节点最低配置要求1核2G、50G存储(根据业务备份需求扩容),主节点要求和灾备节点网络互通。执行以下命令直接安装所有依赖工具:
``` yum install -y rsync inotify-tools openssh-clients ```配置主节点到灾备节点的免密登录,以下命令在主节点执行,替换[灾备节点IP]为你自己的节点地址:
``` ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa ssh-copy-id root@[灾备节点IP] ```以下所有操作在灾备节点执行,我们采用rsync做同步服务,配置可直接复制使用:
打开/etc/rsyncd.conf,替换为以下完整配置:
``` uid = root gid = root use chroot = no max connections = 10 pid file = /var/run/rsyncd.pid log file = /var/log/rsyncd.log lock file = /var/lock/rsync.lock [backup] path = /data/backup/ comment = server disaster backup read only = no list = yes auth users = backup secrets file = /etc/rsyncd.secrets ```依次执行以下命令,将yourBackupPass123替换为你自己的自定义密码:
``` 创建备份存储目录 mkdir -p /data/backup chmod 755 /data/backup 创建认证密码文件,权限必须为600否则rsync无法运行 echo "backup:yourBackupPass123" > /etc/rsyncd.secrets chmod 600 /etc/rsyncd.secrets ```执行以下命令,开放防火墙端口,避免同步被拦截:
``` systemctl start rsyncd systemctl enable rsyncd firewall-cmd --add-service=rsync --permanent firewall-cmd --reload ```
以下所有操作在主节点执行,我们用inotify+rsync实现数据增量实时同步,步骤如下:
创建/usr/local/bin/rsync_backup.sh,替换为以下完整内容,修改标注的自定义内容:
``` !/bin/bash 需备份的主目录,改成你自己要备份的路径,比如网站根目录、数据库目录 MAIN_PATH="/data/wwwroot/" 替换为你的灾备节点IP REMOTE_IP="替换为你的灾备节点IP" 不需要修改,对应灾备节点的同步模块 REMOTE_MODULE="backup" USER="backup" PASSWORD_FILE="/etc/rsync.pass" 监听文件变化,触发同步 inotifywait -mrq -e create,delete,modify,move $MAIN_PATH | while read event; do rsync -avz --delete --password-file=$PASSWORD_FILE $MAIN_PATH $USER@$REMOTE_IP::$REMOTE_MODULE done ```依次执行以下命令,密码和灾备节点配置的保持一致:
``` 创建主节点密码文件 echo "yourBackupPass123" > /etc/rsync.pass chmod 600 /etc/rsync.pass 给脚本加执行权限 chmod +x /usr/local/bin/rsync_backup.sh ```创建systemd自启服务,文件路径/etc/systemd/system/rsync-backup.service,内容如下:
``` [Unit] Description=Real-time Sync to Disaster Recovery Node After=network.target [Service] Type=simple User=root ExecStart=/usr/local/bin/rsync_backup.sh Restart=always [Install] WantedBy=multi-user.target ```最后启动服务并设置开机自启:
``` systemctl daemon-reload systemctl start rsync-backup systemctl enable rsync-backup ```必须每月执行一次演练,避免故障发生时灾备节点无法启用,步骤如下:
本方案全部基于开源工具实现,无额外成本,所有步骤均可直接复制落地,适合绝大多数中小规模业务的服务器灾备需求。












易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图