写点什么

调查报告深入揭示了 GitLab.com 服务中断 18 小时的根本原因

  • 2017-02-28
  • 本文字数:1116 字

    阅读完需:约 4 分钟

在结束故障并清除了问题后,GitLab 给出一个帖子,总结了导致长达 18 小时服务中断的原因、他们计划如何继续发展,以及整个事故是如何发生的。

数据库的高负载在一开始被诊断为大量垃圾邮件的涌入。但是在进一步审查后,明确了是由于无事生非的家伙将一位 GitLab 员工举报为滥用,事故因此而恶化了。另一位员工在审查滥用报告时并没有意识到被举报的账号其实是团队中一位工程师的账号,因此意外地删除了该账号:

我们随后发现这一部分负载是由一个后台任务试图去移除 GitLab 员工及其相关数据所导致的。这就是他们的账号被标识为滥用并意外地被删除的结果。

根据作为当事人的工程师在故障报告中的记录,他的账号被删除是因为“我们收到来自一位用户的垃圾邮件报告,该用户是在发出垃圾邮件报告的10 分钟前创建的。这就产生了人为错误,删除了我的所有项目。”

由于数据库负载的加重,预写式日志 (WAL,Write-Ahead Log) 在得到从数据库处理之前就被主数据库清洗掉了,导致主数据库停止向从数据库复制。不幸的是,WAL 归档也并未被打开。WAL 归档会要求数据段在得到移除许可前被归档。

由于复制已经停止了,需要对从数据库做一次重建。启动复制需要一个空的数据目录,因此一位工程师手工清理干净了一个目录。但该目录并非是从数据库的数据目录,他意外地清除了主数据库的数据目录。

虽然主数据库的不幸损失应该只会让站点关闭一小段时间,但是对于GitLab 团队而言事情更糟。在努力恢复数据的过程中,团队发现自己的备份无法工作。作为备份的主要方法的 pg_dump 由于版本不匹配的问题而不能运行,因此并未备份任何东西。没有人知道存在这个失败,通知邮件因为不支持 DMARC 被服务器拒收。

其它的备份方法也因为各种原因而无法使用,团队并未对数据库使用 Azure 磁盘快照。即使使用了磁盘快照,在线取回数据也将花费很长的时间:

每个存储账号的限制大概为 30TB。恢复快照时使用同一存储账号中的主机通常会完成得很快。但是当用在不同存储账号中的主机时,完成该过程将需要数小时乃至数天。

唯一的方法是恢复事故发生之前六个小时的 LVM 快照。

团队在改进他们的修复恢复过程中碰上了 14 个问题,最终完成了快照的恢复。他们在事故发生后两个星期中实现了 WAL-E ,功能是将 WAL 数据段实时地归档到 AWS S3。对一次恢复的测试表明,这种备份类型在两个小时以内就可以恢复到指定的时间点。此外,他们正在实现一个自动测试PostgreSQL 备份恢复的系统。

查看英文原文: GitLab.com Postmortem Digs into Root Causes of 18 Hour Outage


感谢薛命灯对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-02-28 18:003161
用户头像

发布了 227 篇内容, 共 82.7 次阅读, 收获喜欢 28 次。

关注

评论

发布
暂无评论
发现更多内容

vivo 游戏中心包体积优化方案与实践

vivo互联网技术

动态化 资源配置 包体积优化 PAG

🥳重磅更新!Fluent Editor 开源富文本支持 LaTeX 可编辑公式啦~

OpenTiny社区

开源 OpenTiny 富文本组件

HyperWorks的四面体网格剖分

智造软件

仿真 仿真软件 Hypermesh

【JIT/极态云】技术文档--定时任务

武汉万云网络科技有限公司

全国最新版本居民小区AOI,总量超过63.6万个

Geek_f9782a

GIS AOI数据 全国居民小区AOI 居民小区 住宅小区AOI

NebulaAI携手Eolink:AI落地,快人一步

行云创新

API 接口 AI Agent AI 智能体

LowCode:低代码平台,2024国内十大主流低代码平台年终盘点

优秀

低代码 低代码开发 低代码开发平台 低代码平台 低代码paas平台

一文了解LCD,LED和OLED屏幕的区别

Dylan

技术 LED display LED显示屏 OLED lcd

京东零售广告创意:基于人类反馈的可信赖图像生成

京东科技开发者

技术前沿|NeurIPS 2024 中稿快讯!两方密态推理框架 Nimbus,大模型隐私推理场景的重要技术

隐语SecretFlow

淘宝京东商品属性参数接口

tbapi

淘宝商品详情接口 京东商品详情接口

观测云产品更新 | OpenAPI、应用性能监测、DQL 查询等

观测云

产品迭代

人工智能行业定义以及特点简单说明

行云管家

人工智能 堡垒机 智能化 AI智能

京东零售广告创意:基于人类反馈的可信赖图像生成

京东科技开发者

七牛云 Miku 直播兼容杜比全景声格式

七牛云

直播 传输协议 七牛云

关键词感知检索

DashVector

数据库 向量检索 大模型

成本减半+效率翻倍:这家企业用11天实现数据处理飞跃

字节跳动数据平台

数据仓库 OLAP 降本增效

汽车行业数字化痛点凸显,“数据飞轮”提供企业破局新思路

字节跳动数据平台

数字化转型 数据飞轮

永州等保测评机构有哪些?电话多少?

行云管家

等保 等级保护 等保测评 永州

前端调试实践

京东科技开发者

分区Partition

DashVector

人工智能 数据库 大模型 向量数据库

荣耀开发者服务平台越来越AI

荣耀开发者服务平台

开发者生态 大模型时代 AI智能客服 荣耀HONOR

质变科技 AI-ready Data Cloud:从原生分布式缓存加速服务谈Serverless Data Cloud

AI数据云Relyt

NDP 数据云 数据湖 Spark AI-ready 原生分布式缓存

轻松上手,轻量级低代码助力企业数字化转型

天津汇柏科技有限公司

数字化转型 低代码平台

CST软件如何设置硬件加速选项GPUDCMPItoken

思茂信息

gpu cst CST软件

解读Karmada多云容器编排技术,加速分布式云原生应用升级

华为云开发者联盟

集群 Karmada kubernetes 云

向量动态量化

DashVector

数据库 向量检索 大模型 向量数据库

聚焦高校人才培养,和鲸科技CEO范向伟受邀出席第十三届全国概率统计会议并发表主题演讲

ModelWhale

人工智能 人才培养 数据科学 学科建设

调查报告深入揭示了GitLab.com服务中断18小时的根本原因_微软_David Iffland_InfoQ精选文章