Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

开源混合存储方案(Flashcache)

34,109 views

Published on

开源混合存储方案: 用Flashcache绑定固态盘和磁盘,利用二者的优点,实现高性能IO存储。

Published in: Technology

开源混合存储方案(Flashcache)

  1. 1. 开源混合存储方案 Flashcache 余锋 褚霸 淘宝核心系统 mryufeng@gmail.com http://yufeng.info
  2. 2. 互联网业务特点• 人多• 请求是人发起的,天然读多写少(懒人多)• 熟人之间的关系,天然有热点
  3. 3. 数据存储的需求业务特点反应在存储上:• 数据量大• 读多写少• 有热点
  4. 4. 机械硬盘特点• 机械结构,寻道时间长,随机访问慢,高延迟时间• 顺序访问速度快• 每GB成本低,容量大• 机械故障,磨损少
  5. 5. 固态盘特点• 电子器件,无活动部件,可靠性高• 随机访问,无需寻道时间,低延迟时间• 每GB成本相对高,容量相当小• Nand芯片有擦写寿命
  6. 6. 如何利用二者的优点• 硬盘的高容量,高顺序访问,低成本• 固态盘的高随机访问,低延迟时间
  7. 7. 如何不多花钱呢?欢迎Flashcache闪亮登场!
  8. 8. Flashcache介绍作者 Mohan Srinivasan源于Facebook,初始用于加速MySQL InnoDB引擎IO现在是通用的软件方案块设备加速器内核模块,支持主流64位Linux更多访问:http://github.com/facebook/flashcache
  9. 9. Flashcache在内核的层次
  10. 10. Flashcache特性• 免费,高性能• Device Mapper层,对外服务体现方式是块设备,无需修改应 用• 支持write back和write through二种模式• 运行期状态可调整和查看
  11. 11. 我有兴趣!!!快告诉我如何用!
  12. 12. 硬件设备• PCI-E 高速Flash卡:/dev/vgca0• 硬盘: /dev/sda12
  13. 13. 安装• 准备好你的源码树• make install
  14. 14. 加载if (初次)flashcache_create cachedev /dev/vgca0 /dev/sda12elseflashcache_load cachedev /dev/vgca0 /dev/sda12请稍候...在/dev/mapper目录下看到我们的虚拟设备 cachedev我们的混合盘就绪了: /dev/mapper/cachedev
  15. 15. 使用• 裸盘使用• 安装文件系统: mkfs.ext3 /dev/mapper/cachedev
  16. 16. 微调参数# sysctl dev.flashcachedev.flashcache.cache_all = 0dev.flashcache.reclaim_policy = 0dev.flashcache.dirty_thresh_pct = 90
  17. 17. Cache管理• 预加载文件:flashcache_cacheit filename• 删除Cache中的文件:flashcache_trim filename• 添加进程名单:flashcache_addpids <device_name> w|b pid1• 删除进程名单:flashcache_delpids <device_name> w|b pid1
  18. 18. 查看状态• # dmsetup status cachedev• # dmsetup table cachedev• # dmsetup info cachedev
  19. 19. 移除设备• # dmsetup remove cachedev• 耐心等候
  20. 20. 效果呢?固态盘IO能力 * 热点百分比 还便宜!
  21. 21. 谢谢大家! Q&A

×