[Paper Note] Ceph Reliable, Scalable, and High-Performance Distributed Storage
背景
Ceph 是一个高性能、可靠的、可拓展的分布式文件系统。Ceph 最主要的目标是可拓展性,即如何使得文件系统支持任意多的数据量。
Ceph 面临以下难题:
- 如何高效地管理元数据?
- 如何确保一致性?
- 如何服务热点?
- 如何服务动态的工作负载?
- 如何高效地管理数据?
- 数据容错
- 复制
设计
元数据管理是实现高性能分布式文件系统的一大难点,元数据操作甚至占典型工作负载的 50。由于元数据存在较多的依赖,导致无法像文件 IO 一样水平拓展。此外,POSIX 的 per-file metadata 在小文件场景下海限制了存储利用率。Finding a needle in haystack Facebook’s photo storage使用小文件聚合的方式减少元数据带来的磁盘 IO。The Google file system虽然提供了命名空间的抽象,但实现上改为了 key,这极大地减少了锁争用,而且简化了垃圾回收。
![Featured image for [Paper Note] Ceph reliable, scalable, and high-performance distributed storage](/posts/ceph-reliable-scalable-and-high-performance-distributed-storage/images/ceph-architecture.png)
![Featured image for [Paper Note] Skip lists a probabilistic alternative to balanced trees](/posts/skip-lists-a-probabilistic-alternative-to-balanced-trees/images/skiplist-1.png)





![Featured image for [Paper Note] The Slab Allocator An Object-Caching Kernel Memory Allocator](/posts/the-slab-allocator-an-object-caching-kernel-memory-allocator/images/client-server-architecture-of-slab-allocator.png)
