基于Linux 的两种分层存储实现方案.doc
《基于Linux 的两种分层存储实现方案.doc》由会员分享,可在线阅读,更多相关《基于Linux 的两种分层存储实现方案.doc(6页珍藏版)》请在三一文库上搜索。
1、基于Linux 的两种分层存储实现方案在存储设备中,使用分层技术,将冷热数据自动分层存放在具有不用读写性能的存储介质上,已经是很普遍的做法,比如 IBM 的 DS8K 中使用的 Easy TIer。这些功能都需要存储设备固件的支持,如何在 Linux 主机上,使用 Linux 现有的机制,实现数据的分层存储?本文主要介绍了 Linux 平台上两种不同的实现分层存储的方案。背景介绍随着固态存储技术 (SSD),SAS 技术的不断进步和普及,存储介质的种类更加多样,采用不同存储介质和接口的存储设备的性能出现了很大差异。SSD 相较于传统的机械硬盘,由于没有磁盘的机械转动,寻址速度大大提高,尤其在随
2、机读写较多的应用环境下,性能会大大提升,但这些高性能存储设备的单位存储价格相对于传统的磁带和 SATA 硬盘也高出很多,如图 1 所示。图 1 不同存储设备的性能价格对比所以,如何高效平衡地利用这些存储设备,是所有存储厂商都在关注的问题。采用 Storage TIering分层存储,将数据按照冷热进行自动分层,越热的数据存放在访问性能越高的设备上,而越冷的数据存放在访问性能越低的设备上,既可以获取高的性能,又可以有效节约成本。Storage TIering 分层存储技术在企业级的存储设备中已经被广泛使用,如 IBM 的 Easy TIer, EMC 的 FAST 等,但这些功能都集成在存储设备
3、内部,需要存储设备固件的支持。本文主要 Host 主机的角度,分析在 Linux 上实现 Storage Tiering 分层存储的两种方案以及其开源实现。为便于表述,本文中仅以两级 Tiering 为例,慢速设备为传统的 SATA 硬盘(DEV1),快速设备为固态存储硬盘 SSD(DEV2)。分层存储的技术要点要实现分层存储,首先需要将具有不同访问性能的存储设备(DEV1, DEV2)虚拟化成一个新的存储设备(VDEV)。与缓存(Cache)不同,VDEV 的存储容量是 DEV1 与 DEV2 的容量之和(需除去一些用于存放元数据的空间)。所有用户的 IO 请求将会发给新的存储设备 VDEV
4、,然后再按照一定的地址映射关系被转发到相应的物理设备 DEV1 或 DEV2。同时还需要统计 IO 的热度,并根据这些热度数据,动态地在不同的 Tiering 间迁移数据,以达到性能容量的优化。因此,实现分层存储主要包括三方面的工作,如图 2 所示。存储设备的虚拟化负责虚拟设备的创建,删除; 维护虚拟设备到物理设备的地址映射关系。IO 性能的监测统计统计 IO 的热度,以及 IO 的大小,随机性能属性,为数据迁移提供依据。数据的迁移根据 IO 数据的热度等统计属性,将访问频度高的数据迁移至读写性能高的 Tier 存放,而将访问频度低的数据迁移到性能低的 Tier 存放。图 2 分层存储的数据迁
5、移基于 Block Device 的分层存储方案该方案完整地实现了以上提到的分层存储中所有的工作,包括虚拟化,IO 性能统计以及数据的迁移。方案结构该方案的结构包括一个 Linux 设备驱动程序和若干用户态的控制程序,如图 3 所示。驱动程序实现存储设备的虚拟化,IO 性能监测统计以及数据的迁移;用户态控制程序负责创建、删除虚拟设备,手动触发数据迁移,以及设置获取设备状态。该方案由于 Storage Tiering 所有的功能都在 Linux 内核实现,且需要维护虚拟设备到物理设备的地址映射表,以及保证数据一致性,所以实现难度和工作量比较大,但可扩展性和灵活性也相对较大。方案实现该方案的实现主
6、要包括以下内容:1、管理设备的注册管理设备主要用于与用户态程序的 IOCTL 交互,可以是一个字符设备或者 Misc 设备。Linux 下可以通过 register_chrdev 或 misc_register 注册,并实现所需要的 IOCTL 接口。2、虚拟块设备的创建用户态控制程序通过 IOCTL 向控制设备发起创建虚拟设备的请求,并传入所有的物理磁盘(DEV1,DEV2)的参数,如设备名,磁盘大小,虚拟磁盘的块大小等;驱动程序收到该请求后,进行必要的参数检查,然后调用 register_blkdev 创建一个新的块设备(VDEV)。并设置新设备的相关参数,如 IO 处理函数,队列大小,设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Linux 的两种分层存储实现方案 基于 Linux 分层 存储 实现 方案
链接地址:https://www.31doc.com/p-3410933.html