1.
概述与目标定义
在C3机房实施备份恢复的第一步是明确目标:确定保护对象(物理/虚拟机、数据库、配置)、RPO(最大数据丢失时间)和RTO(最大恢复时间)。例:关键业务数据库RPO=15分钟,RTO=2小时;静态文件RPO=24小时,RTO=4小时。基于此划分优先级并作为后续策略的驱动。
2.
资产清单与依赖关系梳理
列出所有服务器、磁盘、服务、IP、VLAN、存储型号和重要配置文件路径(/etc、/var/lib、虚拟机映像)。示例表格字段:主机名、用途、存储挂载点、数据库实例、快照支持(LVM/ZFS/VMware)、联系人。用CMDB或简单CSV管理,并标注依赖关系链(比如Web->App->DB)。
3.
备份拓扑与选型
选择备份层次:文件级(rsync/restic/borg)、块/镜像级(LVM快照、qcow2/VMware、dd)、数据库一致性备份(mysqldump、xtrabackup、pg_basebackup)。在C3机房,建议局部备份到机房内NAS或备份服务器,异地副本推送到第三方对象存储(S3兼容)或另一个机房。
4.
文件级备份实操(以restic为例)
步骤:1) 安装restic;2) 初始化仓库并加密:restic init --repo sftp:backup@backup-host:/data/restic-repo;3) 创建备份脚本:restic -r sftp:backup@backup-host:/data/restic-repo --password-file /etc/restic.pwd backup /etc /var/www --exclude /var/www/cache;4) 在crontab添加日常任务并设置日志:0 */4 * * * /usr/local/bin/restic-backup.sh >> /var/log/restic.log 2>&1;5) 恢复验证:restic -r ... restore latest --target /tmp/restore-test。
5.
镜像/整机备份(LVM 快照 + rsync)
适用于物理或LVM卷的完整恢复:1) 冻结应用(或使用文件系统支持的快照);2) 创建LVM快照:lvcreate -L 10G -s -n root-snap /dev/vg/root;3) 挂载并同步:mount /dev/vg/root-snap /mnt/snap && rsync -aAXv /mnt/snap/ backup-host:/backups/hostname/;4) 删除快照:umount /mnt/snap && lvremove /dev/vg/root-snap。优点:快速一致性镜像;注意磁盘空间与性能影响。
6.
数据库备份实操(MySQL与Postgres)
MySQL:若可停机使用mysqldump:mysqldump --single-transaction --routines --events -u root -p SECRET dbname > db.sql;可在线且无锁方案推荐Percona XtraBackup:xtrabackup --backup --target-dir=/data/xbk && xtrabackup --prepare --target-dir=/data/xbk。Postgres:使用pg_basebackup或WAL归档:pg_basebackup -D /var/lib/pgsql/backup -Ft -z -P -h localhost -U replicator;同时启用archive_command把WAL发送到备份服务器。恢复需按官方顺序应用基备+WAL。
7.
异地复制、加密与传输
强制对备份数据加密并使用安全通道传输:1) 对称/非对称密钥管理(使用KMS或Vault管理密钥);2) 使用rsync over ssh或rclone上传到S3兼容存储;示例rsync:rsync -avz -e "ssh -i /root/.ssh/backup_rsa" /backups/ backup@offsite:/data/;rclone配置s3并用rclone copy /backups s3:bucket/ --sse。确保备份仓库权限最小化,审计access日志。
8.
调度、保留策略与自动化
定义保留策略例如:每日备份保留14天、每周快照保留12周、每月保留12个月。用restic/borg的prune或rclone的生命周期策略自动回收旧数据。用cron或企业调度器(Ansible Tower/Control-M)统一下发任务,任务失败发送告警(邮件/Slack/PagerDuty)。
9.
监控、告警与恢复演练
配置备份任务的状态监控(返回码、日志解析),并把结果发送到监控系统(Prometheus + Alertmanager 或 Zabbix)。定期(至少季度)进行恢复演练:文件恢复、数据库恢复、整机恢复,记录恢复时间并与RTO对比,修正流程与文档。
10.
安全与合规要点
备份数据应加密存储并限制访问,备份密钥使用专用KMS或HashiCorp Vault,并进行密钥轮换。满足合规要求(例如PCI/ HIPAA)时需记录访问日志、数据流向与保留期,按合规要求做不可变备份(WORM)或对象存储的版本锁定。
11.
恢复流程示例:整机在C3机房灾难恢复
步骤:1) 根据优先级启动恢复池(备份服务器或备用机);2) 从异地对象存储拉取最近完整镜像:rclone copy s3:bucket/hostname/latest /tmp/restore/;3) 恢复文件系统(rsync或dd恢复镜像);4) 应用数据库基备并回放WAL;5) 更新网络配置(IP/VLAN)并启动服务;6) 验证应用健康及数据一致性,记录耗时并关闭临时资源。
12.
问:如何在C3机房快速恢复整个物理服务器?
答:先确认最近完整镜像位置(本地NAS或异地S3),准备一台空硬盘或空虚拟机,使用dd或rsync将镜像写回磁盘(或从qcow2/RAW恢复虚拟机),恢复引导记录并修正fstab/IP,最后启动并验证服务;必要时从数据库WAL或增量备份回放增量数据。
13.
问:数据库在备份时如何保证一致性且不影响线上业务?
答:对事务型数据库使用支持热备的工具(MySQL建议Percona XtraBackup,Postgres使用pg_basebackup+WAL),或开启事务快照(--single-transaction)并结合WAL日志/增量备份,保证恢复到任意时间点。若业务可以短暂停机,做冷备份最简单。
14.
问:如何在C3机房同时满足备份安全与合规保留要求?
答:加密备份(服务器端或对象存储端加密)、使用密钥管理(KMS/Vault)、在对象存储启用不可变/版本锁定策略,并建立审计日志与定期合规报告。保留策略要与法规要求一致并自动化执行与回收。
来源:备份与恢复策略在美国c3机房服务器运维中的落地实施指南