界面已翻译,但服务商事实与评测正文目前为英文;在达到翻译质量门槛前,此页不会被索引。
本指南已提供完整翻译。服务商事实与价格仍以英文版为准;翻译尚待人工编辑审校,因此该页面暂不进入搜索索引。
备份是你实际演练过的恢复
服务商面板上一个标注为“备份”的复选框,并不是恢复计划。真正有用的问题是机器消失之后会发生什么:需要多久才能拿到可用的替代实例,究竟恢复了哪些内容,以及在这段空档里你损失了哪些数据。对一个正在运行的数据库做快照,往往并不一致;只保存在同一服务商处的备份,会随账单问题一起消失;而一个你从未恢复过的备份只是假设,不是能力。
本指南区分三个关键层面:无法重建的数据(业务记录、用户上传、密钥),可以从源码管理重建的配置,以及你付费购买的服务商功能。每个层面需要不同的恢复时间和不同的测试。
本目录中的服务商实际提供什么
DigitalOcean 的记录是:每周备份按 Droplet 价格的 20% 收费,每日备份按 30% 收费,默认关闭。Linode 按套餐规格公布固定的月度备份附加项价格,使得长期成本比按百分比计算更容易估算。Hostinger 的 KVM 套餐免费包含每周备份;BuyVM 以基础价格的 10% 出售每日夜间备份,月度最低 0.50 美元,并包含五个免费快照。OVHcloud 的 VPS 套餐包含每日 24 小时备份,并单独出售 7 天高级备份和快照选项。Hostens 为其 Linux 套餐提供每月 1 美元的备份附加项。Contabo 将 Auto Backup 作为付费附加项出售,采用 10 天增量保留。
这些差异比标价更重要。24 小时的保留窗口意味着,两天后才发现的误删除无法从服务商备份中恢复;每周一次的计划意味着最多七天的数据丢失。按百分比计价会随套餐规模放大,因此今天便宜的套餐在升级之后会变成更贵的备份账单项。
在挑选附加项之前先设计恢复路径
写下恢复点目标(你可以承受丢失多少数据)和恢复时间目标(服务可以停机多久)。对于一个可以从代码仓库重建的宣传站点,每周快照加上 30 分钟重建可能就够用。对于小型商店,订单数据通常无法重新生成,因此至少需要:存放在服务商之外的每日数据库导出,以及经过测试的恢复流程。对于媒体库,存储卷比操作系统更重要,而无论服务商的备份功能如何,恢复数百 GB 都需要数小时。
然后确认服务商的功能能否满足这些目标。如果唯一的备份是同一服务商提供的、保留 24 小时的快照,它就无法满足 30 天保留或防止账户丢失的要求。请增加一份独立副本:对象存储桶、外部主机,或按计划下载的加密归档。这份副本的成本属于计划的一部分,而不是可选的额外开销。
这个月就能做的恢复演练
先做文件级恢复:在暂存副本上删除一个已知的测试文件,再从备份中把它恢复。然后把数据库导出恢复到另一个数据库,并运行一个查询,证明行数和最新记录都在。最后,用服务商镜像和备份重建整个实例,挂载数据,并测量耗时。每次演练都应产出一份带日期的记录:恢复了什么、用了多久、哪一步失败了。
把演练目标与生产环境分开。为了“测试”备份而在运行中的服务器上直接恢复,正是小失误演变为故障的方式。一台小型辅助实例或一个隔离的 schema 就足够完成数据检查,同时它也可以作为你验证密钥、环境配置和定时任务是否被计划覆盖的场所。
加密、保留与访问
服务商快照通常由服务商在存储层加密,但这保护的是存储介质,而不是你的账户。如果攻击者控制了账户,快照就是可达的。对于你自己下载的归档,请自行加密,并把密钥存放在不是被备份的那台服务器上。记录谁可以读取备份位置,并移除不再需要访问权限的人员。
保留策略应当是有意设计的:每日副本保留一周,每周副本保留一个月,再为无法重建的数据保留一份更久的月度副本。如果没有人验证旧副本仍能恢复,更多的保留并不自动更好。一套较小但经过测试的备份,胜过一份庞大却从未测试的归档。
常见失败情形
数据库在写入过程中被备份,产生了损坏的导出:请使用一致性导出机制,或在数据库静默时进行文件系统快照。备份只存在于同一服务商处,而账户被停用:请在服务商之外保留一份副本。恢复需要相同的操作系统版本,而服务商镜像已经更新:请记录基础镜像,并尽可能固定版本。备份包含数据但不含配置:请单独保存环境文件和基础设施说明,且不要在仓库中放置密钥。
这些失败都不需要多么特殊的配置才能防范。它们需要的是把恢复路径写下来,并在事故之前测试。如果服务商没有公布备份价格或保留期限,那是一个需要核实的未知,而不是可以用假设填补的空白。
把计划写在你故障时真正会打开的操作手册旁边:使用哪个快照或导出、凭据存放在哪里、谁批准恢复,以及你如何在把流量切回之前确认恢复后的服务是健康的。一份写明了服务商功能、独立副本、恢复命令和验证查询的一页纸计划,比一份没人会读的长篇政策文档更有价值。每次演练之后都要复查它,因为你发现的缺口通常就在那些你以为显而易见的步骤里。
核验清单
- 写下可接受的最大数据丢失量和停机时长。
- 确认服务商的备份计划、保留期限和价格。
- 至少在服务商账户之外保留一份副本。
- 加密下载的归档,并把密钥单独存放。
- 以文件、数据库和整个实例为单位进行恢复演练。
- 记录演练日期、耗时和失败之处。
- 未公布的备份条款在核实之前一律视为未知。
来源
- DigitalOcean Backups pricinghttps://docs.digitalocean.com/products/backups/details/pricing/
- Linode API — List Linode typeshttps://api.linode.com/v4/linode/types
- Hostinger VPS hosting — KVM planshttps://www.hostinger.com/vps-hosting
- BuyVM - Dedicated KVM Slice Servershttps://buyvm.net/kvm-dedicated-server-slices/
- VPS plans (Ireland, EUR)https://www.ovhcloud.com/en-ie/vps/
- Hostens - VPS Hostinghttps://www.hostens.com/vps-hosting/
- Auto Backup for Cloud VPShttps://contabo.com/en/auto-backup/
- VPSTab review and evaluation methodology v1https://github.com/niceyayale/vpstab/blob/feat/phase-0-foundation/docs/product/review-methodology.md