GFS 论文笔记

GFS 是一个分布式文件系统,它有如下四个特点:

  1. 对机器失效建模 - GFS 运行在一个由大量便宜硬件组成的集群上,因此该集群会因为各种各样的原因发生部分失效
  2. 其中存储的文件较大 - (以 2003 年的标准来看)几个 GB 的大文件是常态,因此 I/O 操作和块大小要专门考虑
  3. 文件操作以追加为主 - 这就是其主要优化目标
  4. 文件系统的设计考虑应用使用场景 - 灵活性大大提高,这就是一个封闭系统的好处吧

设计概要

假设

  • 部分失效是常态 - 需要监控,检查,容忍错误并有自愈性
  • 大文件是常态 - 主要对大文件管理进行优化
  • Read workloads 主要以下两种
    • 大量流式读取 - 每次 1MB 左右,一直读
    • 少量随机读取 - 每次几 KB,然而应用也不会真的容忍随机读
  • Write workloads 主要是大量顺序写,类似读取操作,很少更改,因此不做优化
  • 对数个客户端并行写统一文件优化 - 通过良好的原子操作实现

/技术/ /分布式系统/ /论文笔记/ /GFS/ /文件系统/