首页/系统与基础设施/自动化运维速查/批量执行的快照与现场保护
批量执行与作业50 条

批量执行的快照与现场保护

快照是在变更前保存可恢复的现场:配置文件用带时间戳的归档,虚拟机与存储卷用平台快照,数据库用自身提供的备份方式,容器用固定镜像标签。两个要点是一致性(写入过程中的快照可能不可用)与可恢复性(保存了但从未验证等于没有)。

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌‌​‌‌​​​‌​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​​​‌‌​‌‌​‌​​​​​‌​‌‌​‌​‌‌​​‌​‌​‌‌‌‌​​​​‌‌​​‌​‌​‌‌​​​‌‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌‌‌‌​‌‌‌​‌​​​‌‌​​‌​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌​‌‌‌​​‌‌​​​​‌​‌‌‌​​​​​‌‌‌​​‌‌​‌‌​‌​​​​‌‌​‌‌‌‌​‌‌‌​‌​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

快照与现场保护

快照是在变更前保存可恢复的现场,对象不同手段也不同:配置文件用带时间戳的归档或版本库,虚拟机与存储卷用平台快照,数据库用自身提供的逻辑或物理备份,容器用固定的镜像标签与编排清单。两个很容易被忽视的要点:一致性——运行中写入的快照在文件系统或数据库层面可能不一致,恢复后不可用;可恢复性——保存了但从未验证过恢复流程,等于没有快照。

基本信息

快照对象配置文件、虚拟机、存储卷、数据库、容器镜像与编排清单
一致性要求先静默文件系统或停写,再执行快照
保留策略明确保留周期与空间占用,避免快照堆积打满存储
关键要求快照可恢复,并且经过实际验证

典型使用场景

  • 修改关键服务配置前保存原始文件
  • 系统升级前对虚拟机或存储卷做平台快照
  • 数据库结构变更前做逻辑备份并记录位点
  • 发布前固定当前镜像标签,保证可回滚
  • 内核或驱动更新前保留可引导的旧内核

现场保护写法

现场保护写法
ts=$(date +%Y%m%d-%H%M%S)                     # 时间戳避免覆盖历史备份
cp -a /etc/nginx/nginx.conf "/etc/nginx/nginx.conf.bak.$ts"   # 保留权限与属主
tar -czf "/var/backups/etc-$ts.tar.gz" -C / etc/nginx etc/systemd/system
sync                                          # 确认数据落盘
virsh snapshot-create-as web01 "before-upgrade-$ts"           # 平台快照示例
docker image inspect app:1.4.2 >/dev/null || docker pull app:1.4.2  # 确认回滚镜像可用

快照对象与一致性

对象常用手段一致性注意
配置文件带时间戳归档或版本库归档前确认文件未被写入
虚拟机平台快照内存快照与磁盘快照语义不同
存储卷卷快照需确认应用层已刷盘
数据库逻辑或物理备份备份期间的数据变化需记录位点
容器固定镜像标签与清单镜像仓库可能已删除旧标签
快照不能替代备份:快照与源数据通常位于同一存储,存储故障时两者一起丢失,长期保留还会明显占用空间并影响性能。关键数据仍需独立备份并定期验证恢复。
对运行中的数据库直接做卷快照并按快照恢复,数据文件内部可能不一致。数据库应使用自身提供的备份方式,恢复时按流程应用日志,而不是把卷快照当成数据库备份。

易错点

  • 备份文件与回滚时的目标版本不一致,回滚后配置与代码不匹配
  • 快照长期保留不做清理,占用大量存储空间甚至打满卷
  • 从未验证过恢复流程,真正需要回滚时才发现快照不可用
  • 对运行中的数据库直接做卷快照并按此恢复,数据文件内部不一致

数据来源与参考

  • libvirt 官方文档:virsh snapshot-create-as
  • MySQL 8.0 参考手册:备份与恢复方法
  • Docker 官方文档:镜像标签与 inspect 命令

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/automation/batch-execution-protection-snapshot.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌‌​‌‌​​​‌​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​​​‌‌​‌‌​‌​​​​​‌​‌‌​‌​‌‌​​‌​‌​‌‌‌‌​​​​‌‌​​‌​‌​‌‌​​​‌‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌‌‌‌​‌‌‌​‌​​​‌‌​​‌​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌​‌‌‌​​‌‌​​​​‌​‌‌‌​​​​​‌‌‌​​‌‌​‌‌​‌​​​​‌‌​‌‌‌‌​‌‌‌​‌​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​