先说结论:WMS灾备不是买一套备份软件就交差,而是回答三个可执行的问题:系统挂了之后仓库还能不能发货,丢多少数据可以接受,以及多久能恢复到能接单的状态。这三个问题没有书面答案,上线前夜 checklist 上就不能打勾。这个坑我见过三次,每次出事的仓之前都觉得自己有备份。
WMS 挂了,仓库先停在哪四个环节
WMS 一停,停的不是一台电脑,是整条作业链。收货环节停在第一个关口:到货没有入库任务,收货员不知道货该进哪个库位,只能先堆在月台上等。拣选环节紧接着乱:任务发不出来,拣货员手里没有单子,老员工凭记忆去找货,新员工直接站着等。发货环节最要命:面单打不出来,承运商的车到了装不了货,截单时间一过,当天的单就只能顺延。计费环节最容易被忽略:已经发走的货如果没有及时回写出库记录,月底对账就会出现货发了、账对不上的烂摊子。
所以灾备要保的是收货、拣选、发货、计费四个环节的连续性,不是数据库一个东西。备份躺在硬盘里、四个环节全停,这不叫有灾备,这叫心理安慰。
一个客户的凌晨三点:备份在,恢复不了
2024 年 11 月,华东一家做电商代发的第三方仓找我救火。凌晨 3 点多,仓库的系统盘故障,WMS 起不来,当时月台上压着 6 辆待卸的车,待拣的订单超过 4000 单。值班经理第一反应是对的:找备份恢复。但恢复做到一半卡住了:备份文件是 3 天前的,全量备份每周才做一次,中间 3 天的增量备份因为磁盘满了,连续两天都没写进去。
更麻烦的是恢复步骤没人完整走通过。工程师现找数据库账号、现确认备份路径、现问恢复工具版本,找齐信息就花了将近 2 个小时。系统上午 10 点左右恢复,数据却停在 3 天前,中间记录全靠纸质单据和面单底单人工补录,财务对了一周账。
这个案例值得记两句话:备份是 3 天前的,等于没有;恢复流程只存在工程师脑子里,等于没有。这个坑我见过三次,剧本每次都差不多。
RPO 和 RTO:用人话讲清楚的两个数
RPO 回答的是能丢多少数据,RTO 回答的是能停多久。RPO 是恢复点目标:系统恢复之后,数据回到的那个时间点,和出事时间点之间差多久,差出来的那段时间的数据就是丢掉的。RTO 是恢复时间目标:从出事那一刻起,到系统重新能接单、能拣货、能发货,一共允许花多久。
算一笔账就明白这两个数为什么不能拍脑袋。假设一家仓每天处理 6000 单,作业 12 小时,平均每小时 500 单。RPO 定成 24 小时,最坏情况要丢一整天数据,6000 单记录得靠人工补;RPO 收紧到 1 小时,最坏只丢 500 单左右。数字是假设的,方法通用:把你家日单量和作业小时数代进去,丢单数立刻算得出来。
RTO 的算法也一样。假设截单时间下午 4 点,系统上午 10 点出事,RTO 定 8 小时,恢复完已是晚上 6 点,当天订单全部错过截单。RTO 不能由技术部门自己定,截单时间、承运商取件时间、客户承诺时效这三个点卡死了上限。反常识的判断在这里:RPO 和 RTO 不是越小越好,定得越小,备份频率、存储和演练投入全往上涨,小仓把 RTO 定成 15 分钟,等于立了一个永远达不到的目标,出事时反而没人知道先保什么。
备份方式怎么选:三张牌的取舍
| 备份方式 | 恢复速度 | 能保住的数据量 | 适合谁 |
|---|---|---|---|
| 本地全量加增量 | 快,局域网内直接恢复 | 取决于备份频率 | 有专人维护的中大型仓 |
| 异地云端备份 | 取决于网络和数据量 | 一般可做到小时级 | 多仓、没有专职技术人员的仓 |
| 本地加异地双份 | 最稳,一份出问题还有一份 | 两份互相兜底 | 发货时效写进合同的仓 |
选型先定 RPO,再反推备份频率。RPO 要求 1 小时,备份频率就不能低于每小时一次,每天一次全量根本够不着。还要确认:备份和生产系统不能放同一台机器、同一个机房,同一场故障带走生产和备份的案例我见过不止一次。备份单独存放、定期校验能不能打开,这两条比买更贵的软件重要。
WMS灾备演练:没恢复过的备份不算备份
演练不是每年做一次表演,而是按固定节奏把恢复动作练成熟。演练步骤可以照下面这张清单走,每一步都要有负责人和完成时间记录:
- 提前一周定演练窗口,避开大促和截单高峰,通知客服和承运商对接人。
- 演练当天先冻结测试环境以外的数据写入口径,明确演练用的是副本数据,不动生产账。
- 按恢复手册从备份文件起步,记录每一步的实际耗时,和 RTO 目标逐项对照。
- 恢复完成后抽查三类数据:最近一天的收货记录、未完成的拣选任务、已发货未回写计费的订单。
- 恢复出来的系统跑一轮完整流程:建一单收货、派一单拣选、打一张测试面单,三个环节通了才算恢复成功。
- 演练结束 24 小时内出复盘:实际耗时、卡住的步骤、缺失的账号和文档,全部写进待办并定好整改日期。
2023 年 6 月,华南一家汽配仓的演练让我印象很深。备份一直正常跑,第一次真正恢复才发现缺了产品条码对照表:系统能起来,扫码结果全对不上产品。演练里暴露只花一下午补齐,真实故障里暴露就是一整天停摆。没恢复过的备份不算备份,这句话是用停摆时间换来的。
系统停了,纸质兜底怎么让月台继续动
再好的恢复方案也需要一段时间,中间这段时间不能让月台彻底停下。纸质兜底方案要提前印好、提前放在现场,而不是出事了现找打印机。兜底包里至少要有四样东西:空白收货记录表、空白拣选单、空白发货登记表、以及当天待处理订单的纸质清单打印口径。
纸质流程的操作顺序也要提前定死:收货先登记供应商、品名、数量和库位,拣选按纸质单逐单打勾,发货登记表记录订单号、承运商和面单号,系统恢复后按登记表逐单补录,补录完成前不许把纸质单据销毁。补录环节要设双人复核,一个人录入、一个人核对数量和订单号,单人补录最容易把错单录进系统,恢复后二次返工的成本比出事本身还高。
纸质兜底是给恢复争取时间的缓冲层:系统停 2 小时、纸质能顶 2 小时,时效就保住了;全员站着等 2 小时,恢复后还要处理积压,实际损失 4 小时起步。
上线前夜 checklist:逐项打勾再签字
上线前夜 checklist 直接拿去用,缺一项都不要签字上线:
- 备份频率已经按 RPO 反推过,频率、保留天数、存放位置三项写在文档里。
- 备份文件和生产系统分开存放,异地那份已经验证过能下载、能打开。
- 恢复手册里有数据库账号、恢复工具版本、备份文件路径,三个信息不需要问任何人就能找到。
- 恢复演练已经在上线前完整跑过一遍,实际耗时和 RTO 目标对照过,超时的步骤已经整改。
- 纸质兜底包已经印好并放在收货区和发货区,现场主管知道放在哪里。
- 补录流程和双人复核规则已经告诉夜班和早班负责人,不止白班主管一个人知道。
- 故障通知链已经拉通:谁发现故障、谁通知供应商、谁通知客户,三个角色都有备份联系人。
WMS灾备常见翻车点:最后核对一遍
翻车点往往不在技术上,而在没人负责的缝隙里:备份任务没人看,磁盘满两天没人发现;恢复手册在某个人电脑里,人一休假就找不到;演练只恢复数据库、不跑完整业务流程,条码对照表缺失永远发现不了;兜底包锁在主管办公室柜子里,夜班根本拿不到。
WMS灾备最终拼的不是软件贵不贵,而是平时有没有把恢复练成肌肉记忆。今晚先做三件不用花钱的事:查最近一周备份任务有没有报错,翻恢复手册确认账号和路径齐不齐,问夜班主管知不知道兜底包放在哪里。做完这三件,灾备才算从纸面落到现场。
作者:林晓|WMS 实施顾问







