留言

事后分析

这篇博客文章已有 4 年,可能已经过时。

事后分析 WireGuard 伺服器连接问题

2020 年 4 月 29 日 新闻

发生了什么

在 4 月 27 日的晚上,我们经历了部分 WireGuard 服务中断,大约在瑞典时间 1900 到 2330 之间。由于运行 415 版本内核的伺服器出现 NAT 问题,导致一些伺服器无法转发流量。总计约 130 台伺服器在这段时间内受到影响。

促成因素

结论是,只有运行 415 版本内核的伺服器受到影响。无论操作系统版本是 Ubuntu 1604 还是 1804,情况皆是如此。

至于为什么这个内核版本会成为罪魁祸首,以及在这次部署中造成问题的具体原因仍不清楚。

解决方案

通过将受影响伺服器的内核更新或降级到不受影响的版本,问题得以解决。

影响

部分降服务时间:45 小时。

受影响伺服器:132 台线上 202 台的 WireGuard 伺服器。

时间表

所有时间均为瑞典当地时间。

事后分析

20200427 1814 开始部署扩展的端口范围和系统监控变更至我们的 WireGuard 伺服器。

20200427 1916 客户有关 WireGuard 伺服器无法连接的电子邮件数量急剧增加。

20200427 1930 工程师开始排查问题。

20200427 1940 确认问题与 NAT 有关,伺服器未能正确转发流量。

netflix合租平台

20200427 2032 确认问题源于内核版本 415,24 日时几台伺服器也已识别出同样问题。

20200427 2035 实施替换内核为不受影响版本的暂时解决方案得到确认。

20200427 2042 开始制作受影响伺服器的列表。

20200427 2108 开始修复。伺服器逐一恢复上线。

20200427 2330 大部分伺服器的修复工作完成,剩余伺服器标记为下线。

20200428 0650 在最初的修复过程中失效的 6 台伺服器恢复上线。

对我们部署程序的改进

为了减少类似事件再次发生的可能性及其影响,我们对部署程序进行了调整,包括以下几点:

增加最低的变更部署时间,并在生产伺服器的子集上确认变更有效,至少提前 24 小时再部署到其余伺服器。确保部署在当地瑞典时间 1300 或更早开始,以便大多数工程师在场,应对潜在的部署问题。改进现有的端到端与功能测试工具,以验证伺服器在部署后的功能。
Sav 使用 VPN 保护自己免受密码攻击