开源混合存储方案(Flashcache)

33,582 views
33,322 views

Published on

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

Published in: Technology
3 Comments
37 Likes
Statistics
Notes
No Downloads
Views
Total views
33,582
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
607
Comments
3
Likes
37
Embeds 0
No embeds

No notes for slide

开源混合存储方案(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

×