返回知识库

服务器 · 运行与保底

备份与快照Backup & Snapshot

快照是整块磁盘的照片,大改前打一个,出事能整机回滚;备份是把数据定期拷到另一个地方。两者都要真正恢复过一次,才算有保底。

升级、删机、恢复:三次出事,看你的保底接不接得住

三段任务各做一件事:升级前要不要打快照、备份放在哪、备份到底能不能恢复。每做完一段,顶部「保底体检」会亮起或打叉。

任务:你的服务器上跑着网站和数据库。接下来要升级系统,并确认万一整台机器没了,数据还能找回来。

保底体检 · 0/3

  1. 未验大改前有快照,出事能回滚
  2. 未验备份存在另一个地方
  3. 未验恢复演练过,真的能恢复

✗ 还没有可靠的保底

① 大改前:升级系统之前要不要先打快照?

  1. 08:00服务器正常运行
web-01 ● 运行中还没有快照

② 备份放哪:数据库每天凌晨 3 点导出一份,保留 7 份

服务器 web-01 的云盘● 正常
  • 网站 + 数据库
  • 云盘自动快照
  • 数据库备份 × 7
对象存储(另一个地方)空
  • 没有存任何东西

③ 恢复演练:备份任务天天显示「成功」,它真的能恢复吗?

每日备份任务(每天 03:00)

  • 10-19 03:00✓ 成功
  • 10-20 03:00✓ 成功
  • 10-21 03:00✓ 成功

新机器 restore-test

还没演练过:上面的绿勾只说明脚本跑完了,不说明文件能用。

还不知道脚本坏没坏——先演练一次才看得出来。

下一步:从第 ① 段开始——你准备升级服务器系统,先决定要不要打快照。

知识点:快照管回滚,备份管找回

面板上已经演过,这里只给命名。

  • 快照是云厂商给整块磁盘拍的照片,回滚快、适合大改前保底;备份是把数据库、上传文件定期拷到别处,适合机器没了之后找回数据。
  • 大改(升级系统、改数据库结构、换大版本依赖)前先打快照;回滚会丢掉快照之后写入的新数据,见「数据库迁移」。
  • 备份要存在另一个地方(对象存储、另一个账号或地域),并写清保留天数,例如每天一份、保留 7 天。
  • 只有恢复演练能证明备份可用:任务显示「成功」只说明脚本跑完了,文件可能是空的。
  • 快照不等于异地备份:删除整台服务器时,很多云厂商会把云盘的自动快照一起删掉,规则要去控制台确认。

什么时候用、怎么用

上线第一天就该有,而不是出事那天才想起来。

  • 信号:AI 要升级系统、改数据库结构、迁移服务器;AI 报告里写着「已配置每日备份」却没有恢复记录。
  • 交代 AI:大改前先打快照并告诉你快照名;数据库每天导出到对象存储,保留 7 天;上传文件同样备份;备份失败要通知你。
  • 验收:让 AI 在一台新机器上真的恢复一次,报告恢复到哪个时间点、花了多久、数据条数是否一致。
  • 定期复查:每月演练一次;看备份文件大小有没有突然变成 0 或骤降。
  • 边界:代码版本出问题的退路见「回滚」;数据库本身见「数据库」;Docker 的 volume 也要纳入备份,见「Docker 容器」。

正反例:同一句「我们有备份」

目标都是机器出事后能找回数据,差别只在有没有真恢复过。

正例异地存 7 天,每月演练一次

服务器被误删后,你按演练时写下的步骤在新机器上恢复,20 分钟后网站回来,只丢了凌晨 3 点之后的几笔订单。

反例备份任务一直显示成功,从没恢复过

出事那天才打开备份文件,发现三个月来全是 0 KB;备份又和数据库放在同一块盘上,跟着一起没了。

快速自测

AI 报告「已配置每日数据库备份,最近 30 次任务全部成功」。你还需要让 AI 做哪件事,才能确认真的有保底?

继续查证

术语的技术定义和行为以这些一手或权威资料为准。

下一步学

和本知识点经常一起出现的概念。