深入浅出Flashcache(二)

前文简单的介绍了block device,别急,虽然这个系列的主要目的是介绍Flashcache,这一篇还是不会切入正题,因为我们还需要先了解下什么是device mapper。

假如一台主机插入了多块硬盘,单块硬盘的容量和性能都是有限的,如果能将多块硬盘组合一个逻辑的整体,对于这台主机来讲,就实现了最简单意义上的“云存储”。有很多方法可以实现这个目的,比如Raid卡硬件,比如现在很流行的分布式文件系统的replica机制,等等。Linux内核也看到了这个需求,于是2.6有了device mapper,当然device mapper不只是满足这一个需求,对于多路径IO也做了支持。

3. Device Mapper

简单来讲,Device Mapper是一种组合多个块设备变成一个逻辑块设备的机制。

Device Mapper的设计实现主要分为三层:

  • Mapped Device: 映射出的逻辑设备
  • Mapping Table: 映射规则表
  • Taget Device: 底层的实际设备(可以是物理的块设备,也可以是Device Mapper映射出的逻辑设备),根据组合规则的不同,实际设备的使用方式不一样,区分为不同的类型。


(图片出处:参考[1])

Target device的类型,内核自带的几种包括(linux/include/linux/device-mapper.h):

Read more of this post

无觅相关文章插件,快速提升流量