flashcache

flashcache 1) 是 facebook 开源的 ssd 存储产品,它基于内核的 devicemapper 机制,允许将 ssd 设备映射为机械存储设备的缓存,堆叠成为一个虚拟设备供用户读写,从而在一定程度上兼顾 ssd 的高速与机械存储设备的高容量,更加经济高效地支撑线上业务。

  • 一组ssd set可以对应多个后端disk,使用上更加灵活。
  • 支持writethrough, writeback和writearound,并且可以在运行时动态改变。
  • 脱离devicemapper框架,采用Btree和journal设计,性能高。
  • 虚拟设备名字不能自定义,设备由系统按bcache+minor组成
  • 可设置顺序IO阈值和检测顺序IO的个数。
  • 可是设置SSD延迟阈值,当超过阈值的时候,就会跳过ssd直接写磁盘。
  • 可以提供预读机制,默认关闭
  • 支持LRU, FIFO, RANDOM替换策略,并且可以实时替换。
  • btree动态增长,node数目只增不减,当内存不足,会触发shrinker回收(通过操作/proc/sys/vm/drop_caches触发)。

具体使用可参见这个文,写的也很不错


1)
github上写This project is not actively maintained. Proceed at your own risk!,好几年也不更新了,所以我是不推荐用了,但是可以了解。
  • storage/缓存技术/flashcache/start.txt
  • 最后更改: 2019/04/16 18:31
  • (外部编辑)