Fly.io Blog

2 篇内容

工程实践Fly.io Blog

Well, That Wasn't Fun: October 16 '26

文章复盘 Fly.io 应对 Linux 内核 CVE-2026-99999 的过程:漏洞来自 IPv4 checksum offload 元数据校验缺陷,攻击者可通过虚拟机网卡让宿主机在路由后重写两个字节 IP 头,导致防火墙绕过和越界读取相邻 VM 内存。作者说明利用条件与检测困难,以及约 10 小时内分批重启全机队的方案,包括围绕 Managed Postgres 划分波次和遇到的硬件故障。文中还讨论安全事件中用“紧急维护”通知与漏洞披露之间的沟通两难,并给出加密内部流量、给 Agent 最小化短期凭证、假设边界会泄漏和演练凭证轮换等建议。文章承认暂无客户数据泄露证据,但建议相关窗口内轮换明文凭据,经验主要适用于云平台、SRE 和安全响应团队。

推荐收录:文章不仅解释 CVE-2026-99999 的 checksum offload 机制、两条具体攻击路径和检测难点,还完整呈现全机队分批重启、围绕 MPG 划波次及事故沟通取舍,证据密度高。对云平台、SRE 和安全响应读者,其隔离边界假设、凭证最小化与轮换演练可直接迁移到日常架构和应急准备中。

工程实践Fly.io Blog

SBD: We Have a Filesystem at Home

文章复盘 Fly.io Sprites 从定制 JuiceFS 方案迁移到 Sprites Block Device(SBD)的存储架构演进。旧方案把 100GB 磁盘镜像放在对象存储上,并用 SQLite 元数据数据库、checkpoint 数据库和写回模式维持一致性,但多个账本独立持久化,导致块缺失、checkpoint 共享坏块、文件系统只读等难以恢复的问题。SBD 改为把 bucket 通过 NBD 暴露为块设备,由 Sprite 内 daemon 处理块读写、本地缓存、后台上传和按需 flush,元数据与块同处 bucket,checkpoint 改为带版本号的块快照,restore 近似重启。作者用 400 个 JuiceFS Sprite、约 5000 次写/checkpoint/sleep/wake/restore 循环验证旧方案缺陷,并称 SBD 可靠性显著提升。文章重点在可靠性与架构简化,未充分展开性能、成本和迁移风险。

推荐收录,因为它以真实故障模式、旧架构多账本不一致和自动化 dogfooding 测试为依据,完整展示了从自制文件系统转向“对象存储上的块设备 + ext4”的工程取舍。适合存储、平台和基础设施工程师参考,尤其是设计持久化磁盘、checkpoint、快照和恢复机制的场景;可迁移价值在于简化一致性边界和用故障注入验证可靠性,主要风险是文章对性能、成本和迁移细节着墨较少。