GFS 论文笔记
GFS 是一个分布式文件系统,它有如下四个特点:
- 对机器失效建模 - GFS 运行在一个由大量便宜硬件组成的集群上,因此该集群会因为各种各样的原因发生部分失效
- 其中存储的文件较大 - (以 2003 年的标准来看)几个 GB 的大文件是常态,因此 I/O 操作和块大小要专门考虑
- 文件操作以追加为主 - 这就是其主要优化目标
- 文件系统的设计考虑应用使用场景 - 灵活性大大提高,这就是一个封闭系统的好处吧
设计概要
假设
- 部分失效是常态 - 需要监控,检查,容忍错误并有自愈性
- 大文件是常态 - 主要对大文件管理进行优化
- Read workloads 主要以下两种
- 大量流式读取 - 每次 1MB 左右,一直读
- 少量随机读取 - 每次几 KB,然而应用也不会真的容忍随机读
- Write workloads 主要是大量顺序写,类似读取操作,很少更改,因此不做优化
- 对数个客户端并行写统一文件优化 - 通过良好的原子操作实现