1.
概述与准备工作
- 目标:把国内/其他区域的业务数据稳定备份到阿里云新加坡ECS(VPS)并能自动恢复。
- 前提:已购买阿里云ECS(新加坡 Region)、可访问的公网IP或专线、控制台权限、已配置安全组规则允许SSH/必要端口。
- 小分段:确认数据量(GB/TB)、备份窗口(增量或全量)、恢复时间目标(RTO)与保留策略。
2.
选择实例与磁盘配置
- 建议:ECS 规格根据吞吐与并发选择(比如 2vCPU/4GB 起,对大文件建议更高IO型)。
- 磁盘:系统盘不宜放大量数据,添加独立数据盘(云盘)并选择性能类型。
- 小分段操作:控制台->实例->挂载云盘->登录实例执行 sudo fdisk -l 查看新盘->mkfs.ext4 /dev/xvdb -> mkdir /data && mount /dev/xvdb /data -> 编辑 /etc/fstab 持久挂载。
3.
安全与账户设置(SSH 密钥与用户)
- 建议步骤:在源服务器生成专用备份SSH密钥对(ssh-keygen -t rsa -b 4096 -f ~/.ssh/backup_id_rsa),不要使用root口令。
- 在新加坡ECS上创建备份用户并限制权限:sudo adduser backupuser && sudo mkdir /home/backupuser/.ssh && chmod 700 ... 把公钥追加到 /home/backupuser/.ssh/authorized_keys 并设置权限。
- 小分段:修改 /etc/ssh/sshd_config 禁用密码登录(PasswordAuthentication no),重启 sshd。
4.
选择备份工具(rsync / restic / borg / rclone / ossutil)
- 小文件或目录同步推荐 rsync:轻量、可复用。命令示例:rsync -azP --delete -e "ssh -i /root/.ssh/backup_id_rsa -p 22" /var/www/ backupuser@SINGAPORE_IP:/data/backup/www/ 。
- 加密增量推荐 restic 或 borg:restic init --repo sftp:backupuser@SINGAPORE_IP:/data/resticrepo ,restic backup /var/www --password-file /root/.restic_pw 。
- 备份到对象存储(OSS)可用 ossutil:ossutil64 cp --recursive /backup/ oss://bucket-name/backup/ --region=ap-southeast-1 。
- 小分段:选择工具时考虑:加密(restic/borg) vs 简单同步(rsync) vs 归档到对象(ossutil/rclone to S3)。
5.
实现典型 rsync 推送脚本并自动化
- 脚本示例(/usr/local/bin/backup_rsync.sh):#!/bin/bash
SRC="/var/www/"
DEST="backupuser@SINGAPORE_IP:/data/backup/www/"
KEY="/root/.ssh/backup_id_rsa"
rsync -az --delete -e "ssh -i ${KEY} -o StrictHostKeyChecking=no" ${SRC} ${DEST} >> /var/log/backup_rsync.log 2>&1
- 授权:chmod +x /usr/local/bin/backup_rsync.sh。
- 小分段:在 crontab -e 添加调度(例如每天凌晨2点):0 2 * * * /usr/local/bin/backup_rsync.sh。
6.
使用 restic 做加密增量备份(示例)
- 初始化仓库(在源端使用sftp后端指向新加坡ECS):export RESTIC_PASSWORD="你的强密码";restic init --repo sftp:backupuser@SINGAPORE_IP:/data/resticrepo 。
- 备份命令:restic backup /var/www --tag web --password-file /root/.restic_pw 。列出快照:restic snapshots --repo ... 。恢复示例:restic restore latest --target /restore/path 。
- 小分段:restic 自动去重并加密,适合敏感数据和长期保留。
7.
结合 OSS 与 ossutil 做异地持久化
- 在新加坡ECS上安装 ossutil 并配置 accessKey/secret:ossutil64 config。
- 同步命令:ossutil64 cp --recursive /data/backup/ oss://bucket-name/backup/ --region=ap-southeast-1 --acl private 。可在ECS上把本地备份周期性推到 OSS,实现二次备份与生命周期管理(Archive/IA)。
- 小分段:OSS 配合生命周期规则可自动转储到低频或归档,节省成本。
8.
快照策略与控制台自动化
- 利用阿里云 ECS 快照:控制台->块存储->自动快照策略,新建策略(如每天 02:00,保留 7 天)。
- 可对数据盘绑定策略实现自动快照;也可使用阿里云 CLI(aliyuncli)在脚本里调用 CreateSnapshot、DeleteSnapshot 做更细粒度管理。
- 小分段:快照适合快速恢复卷,但不是替代对象存储长久备份的方案,建议配合使用。
9.
监控、告警与恢复演练
- 配置 CloudMonitor:设置备份脚本的成功/失败上报(脚本中返回非0时用 curl 触发 CloudMonitor API 或发送邮件/钉钉告警)。
- 定期演练:每月做一次完整恢复测试(从 restic/oss/快照恢复到测试实例),记录时间与问题。
- 小分段:确保恢复步骤文档化,并将恢复权限与凭证安全存放(密码管理器或 KMS)。
10.
Q1: 新加坡ECS作为备份节点的网络/延迟问题怎么处理?
- A1: 选择靠近源站的出口带宽,使用异地专线或优化路由可降低延迟;增量备份工具(rsync、restic)会减少传输量。对于初次全量,可在低峰时段或先做离线快照再传输。
11.
Q2: 数据安全性如何保证,备份是否需要加密?
- A2: 强烈建议加密:restic/borg 自带加密,传输使用SSH或TLS;对象存储启用服务端加密或在上传前本地加密。并且严格管理 AccessKey 与私钥,使用最小权限原则。
12.
Q3: 如果需要自动化与成本优化,有什么推荐实践?
- A3: 结合自动快照(短期恢复)+ 对象存储(长期保留),使用生命周期规则降级归档;用 cron + CI/CD 管理备份脚本并将告警接入运维平台,定期清理旧备份和监控带宽峰值以控制费用。
来源:如何用阿里云 vps 新加坡实现稳定的海外业务备份方案