本段概述所需环境与准备事项。小分段:1) 确认VPS类型(KVM、OpenVZ、Xen或云主机控制台)。2) 获取控制台登录、SSH root权限与API密钥。3) 确认磁盘格式(qcow2、raw、LVM)与可用空间。
选择快照或文件级备份并设计保留策略。小分段:1) 快照用于快速回滚与测试环境,推荐配合整备镜像。2) 文件级(rsync、tar、Borg)用于长期归档与异地备份。3) 制定保留周期(如每日7天、每周4周、每月12月)。
适用于云提供商控制台。小分段:1) 登录香港VPS的管理控制台,找到实例/磁盘页面。2) 选择目标实例并点击“创建快照”或“创建磁盘镜像”。3) 填写名称、描述、是否停止实例以保证一致性;建议先停止或挂起数据库服务。4) 提交并等待完成,记录快照ID。
适用于自管KVM实例。小分段:1) 登录宿主机或管理节点,使用virsh操作:virsh snapshot-create-as vmname snap-name --atomic --disk-only --no-metadata。2) 若使用qcow2,可先停止虚拟机再复制镜像:cp /var/lib/libvirt/images/vm.qcow2 /backup/vm-YYYYMMDD.qcow2。3) 如果是LVM:lvcreate -l 100%FREE -s -n vm-snap /dev/vg/vm-root,然后挂载快照备份。
确保快照有离线副本。小分段:1) 在控制台选择导出镜像并下载到本地或对象存储。2) 使用scp/rsync下载:scp root@vps:/path/to/backup.img /local/backup/. 3) 对大盘建议先压缩:qemu-img convert -O qcow2 source.qcow2 compressed.qcow2。
从快照回滚实例的步骤。小分段:1) 在控制台选择快照并点击“恢复/使用快照创建实例”。2) 若选择替换磁盘,先停止目标实例并备份当前磁盘。3) 恢复后启动实例并检查服务、网络与文件系统一致性。
适用于自管环境。小分段:1) 若为qcow2快照,可替换镜像并重启:virsh shutdown vm && mv /var/lib/libvirt/images/vm.qcow2 /var/lib/libvirt/images/vm.qcow2.bak && cp /backup/vm-YYYYMMDD.qcow2 /var/lib/libvirt/images/vm.qcow2 && virsh start vm。2) 使用qemu-img commit对差异镜像合并:qemu-img commit overlay.qcow2。
示例:每天快照+异地同步。小分段:1) 脚本逻辑:创建快照 → 导出/打包 → 上传到对象存储 → 删除过期备份。2) cron示例:0 2 * * * /root/backup_vps.sh >> /var/log/backup.log 2>&1。3) 推荐工具:rsync、rclone、borg、aws-cli(或对象存储对应工具)。
每次备份后务必验证。小分段:1) 恢复到隔离网络或测试实例,检查服务可用性。2) 验证数据库一致性:运行校验脚本或比对表记录。3) 记录恢复时间与步骤,作为应急演练文档。
避免快照链过长与占满磁盘。小分段:1) 命名规范:project-date-type(如web-20260901-daily)。2) 定期合并/删除:对于qcow2使用qemu-img commit或在控制台执行合并操作。3) 保证元数据一致:删除前确认备份已成功上传并可还原。
遇到问题时的排查要点。小分段:1) 快照失败:检查磁盘空间、API权限与实例状态。2) 恢复后网络异常:检查云网卡绑定与安全组。3) 数据库不一致:优先使用停止服务后快照或使用逻辑备份(mysqldump)。
给出关键命令供快速参考。小分段:1) virsh snapshot-create-as vm snap --disk-only。2) qemu-img convert -O qcow2 src.qcow2 dst.qcow2;qemu-img commit overlay.qcow2。3) rsync -aP /source/ user@backup:/dest/;mysqldump -u root -p db > db.sql。
问:快照和备份的区别是什么,什么时候用各自方案?
答:快照通常是同一存储上的时间点拷贝,适合快速回滚与测试;备份是导出到异地或归档,适合长期保留与灾难恢复。生产环境推荐快照+异地备份并行。
问:在数据库频繁写入时如何保证备份一致性?
答:方法包括:停止数据库或使用事务锁导出(mysqldump --single-transaction),使用文件系统冻结(fsfreeze)再做快照,或使用应用支持的备份API(如MySQL的XtraBackup)。
问:如果快照链越来越长,会有什么风险,如何处理?
答:长链会导致性能下降与恢复复杂。建议定期合并快照到基盘(使用qemu-img commit或控制台合并功能),并删除已上传/归档后的中间快照,保持链条短且有备份副本。