Open|Facebook是如何使用Btrfs的?

Btrfs 文件系统已有十多年历史,但性能和可靠性问题导致其未能普及 。社交巨人是少数大规模采用 Btrfs 的科技公司 。Btrfs 开发者 Josef Bacik 在最近举行的开源峰会上谈论了 Facebook 是如何深入融入 Btrfs 的 。
每一个 Facebook 服务都运行在容器内,以简化服务在机器之间的迁移 。Facebook 有很多的机器,它希望所有机器都能尽可能的保持一致,能在任何时间向任何机器迁移任何服务 。所有这些容器化服务都使用 Btrfs 作为它们的 root 文件系统 。
Open|Facebook是如何使用Btrfs的?
文章图片

Facebook 的工作流规定任何人不能直接向代码库递交代码,而是必须先进行测试 。构建系统首先克隆库,应用补丁,构建系统,执行测试 。完成之后,彻底清理准备测试下一个补丁 。
【Open|Facebook是如何使用Btrfs的?】然而清理阶段是相对缓慢的,删除库平均需要 2 或 3 分钟,有时候需要 10 分钟,在此期间机器无法执行下一个测试 。因此基础设施团队尝试使用 Btrfs,与其克隆一个库不如创建一个快照,测试完成之后就删除快照 。删除快照比删除一个大的代码库要快得多 。 


    推荐阅读