在lvmcache初步分析 - 1 中,我们主要从DM层框架的角度,简单看了下dmcache是怎样被放进这个通用框架的。这一篇,将尝试分析dmcache的设计。
谈设计前,我们需要清楚dmcache要作什么。即使我们还不清楚dmcache的设计和实现,也防碍我们提出一些基本问题,然后设想下答案。
- dmcache要做什么?
利用快而小的SSD,来加速慢而大的HDD,提高IO吞吐量。 在Marc Skin的PPT后面几页,有一些测试数据。
- 如何评价dmcache的使用效果?
一个指标:读写速度! 但是,复杂的地方在于这个速度不是一个常数,不会像真实磁盘那样有个确切的速度。我们期望:在短时间内,cacheLV的速度就能提高到一个接近SSD磁盘的速度, 并且能够一直保持住。
有两个方法检测dmcache的效果,一个是在不同的IO模型负载下,利用io测试工具收集和可视化数据,直观反映效果; 二是dmcache本身提供一些统计数据,比如读写的总数,命中和失效数。