当前位置:网站首页 >  百科

服务器灾备节点从零搭建运维实操指南 零门槛可直接落地执行

时间:2026年06月03日 12:47:13 来源:易频IT社区

一、前置准备工作

1. 环境与工具安装

本次方案基于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做同步服务,配置可直接复制使用:

1. 编写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 ```

2. 初始化目录与权限

依次执行以下命令,将yourBackupPass123替换为你自己的自定义密码

``` 创建备份存储目录 mkdir -p /data/backup chmod 755 /data/backup 创建认证密码文件,权限必须为600否则rsync无法运行 echo "backup:yourBackupPass123" > /etc/rsyncd.secrets chmod 600 /etc/rsyncd.secrets ```

3. 启动服务并配置开机自启

执行以下命令,开放防火墙端口,避免同步被拦截:

``` systemctl start rsyncd systemctl enable rsyncd firewall-cmd --add-service=rsync --permanent firewall-cmd --reload ```

三、主节点实时同步配置

服务器灾备节点从零搭建运维实操指南 零门槛可直接落地执行

以下所有操作在主节点执行,我们用inotify+rsync实现数据增量实时同步,步骤如下:

1. 编写同步脚本

创建/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 ```

2. 初始化权限与自启配置

依次执行以下命令,密码和灾备节点配置的保持一致:

``` 创建主节点密码文件 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 ```

四、灾备节点日常运维实操

1. 每日健康巡检项

  • 检查服务状态:在主节点执行systemctl status rsync-backup,在灾备节点执行systemctl status rsyncd,输出显示active (running)即为正常
  • 检查存储使用率:灾备节点执行df -h /data/backup,存储使用率超过80%需及时扩容
  • 验证数据一致性:随机抽取3-5个文件,对比主节点和灾备节点的md5值,命令为md5sum 文件名,结果一致即为同步正常

2. 每月灾备切换演练

必须每月执行一次演练,避免故障发生时灾备节点无法启用,步骤如下:

  • 暂停主节点对应业务服务,如nginx、php-fpm、mysql等,根据自身业务调整
  • 修改域名DNS解析,将解析指向灾备节点IP,等待10分钟DNS缓存生效
  • 全量验证业务所有功能,确认访问、数据读写都正常可用
  • 演练完成后切回主节点,恢复DNS解析,清理本地DNS缓存
  • 记录演练结果,更新灾备运维文档

3. 主节点故障应急恢复步骤

  • 确认主节点无法在1小时内快速恢复后,执行切换操作
  • 修改域名DNS解析,将流量指向灾备节点IP
  • 在灾备节点启动对应业务服务,开放业务所需端口,配置对应域名
  • 全量验证业务可用后,故障恢复完成,后续修复原主节点后再切回即可

本方案全部基于开源工具实现,无额外成本,所有步骤均可直接复制落地,适合绝大多数中小规模业务的服务器灾备需求。

相关推荐

最新

热门

推荐

精选

标签

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

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图