CN109388341A - 一种基于Device Mapper的***存储优化方法 - Google Patents
一种基于Device Mapper的***存储优化方法 Download PDFInfo
- Publication number
- CN109388341A CN109388341A CN201810990814.2A CN201810990814A CN109388341A CN 109388341 A CN109388341 A CN 109388341A CN 201810990814 A CN201810990814 A CN 201810990814A CN 109388341 A CN109388341 A CN 109388341A
- Authority
- CN
- China
- Prior art keywords
- hard disk
- data
- solid state
- mechanical hard
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于Device Mapper的***存储优化方法,在客户端发起数据请求时,使用Device Mapper技术将固态存储作为机械硬盘的缓存,当用户空间发起读操作的时候,先去缓存中查找是否有数据,如果有则返回给用户空间,如果没有则再去机械硬盘读取。当用户空间发起写操作的时候,先写到缓存,当***空闲时再写入到机械硬盘中。本发明充分利用固态硬盘低功耗的特点,一方面能够通过减少机械硬盘的使用频率而降低其功耗,另一方面通过提升工作效率而降低完成相同工作量所需要消耗的能量,优化了数据存储效率,节约了数据存储设备的硬件成本。
Description
技术领域
本发明涉及数据存储技术领域,具体涉及一种基于Device Mapper的***存储优化方法。
背景技术
随着大数据技术的发展,传统的基于机械硬盘的存储方式越来越不能满足现在数据中心发展的需求,尤其是在分布式数据库等对***I/O高度敏感的场景,I/O往往是整个***的瓶颈。如果能够提高***I/O的效率,就能够提高整个***效率。新一代存储介质固态硬盘虽然在读写速率上有了非常大的提高,但是大规模部署价格昂贵。
发明内容
本发明的目的在于提供一种基于Device Mapper的***存储优化方法,降低完成相同工作量所需要消耗的能量,优化了数据存储效率,节约了数据存储设备的硬件成本。
为实现上述目的,本发明采用了以下技术方案:
一种基于Device Mapper的***存储优化方法,包括以下步骤:
(1)建立固态硬盘与机械硬盘组成的逻辑设备的映射,将固态硬盘和机械硬盘混合成一块逻辑设备;
(2)向服务器端发起数据请求访问,将数据请求分割为固定大小的子请求,分别计算数据请求块的机械硬盘起始扇区和分组编号;
(3)根据机械硬盘分组编号,得到映射后的固态硬盘缓存分组编号,并对数据请求操作进行判断,若是读操作,则执行(4),若是写操作,则执行(5);
(4)遍历固态硬盘缓存组所有缓存块的元数据信息,判断缓存是否命中,若缓存命中,执行(6),若不命中,执行(7);
(5)若缓存在固态硬盘缓冲区域,在***不忙的时候将数据写入到机械硬盘对应的块上;
(6)在***空闲时,将缓存块的元数据信息返回给用户空间;
(7)读取机械硬盘元数据信息返回给用户空间,在***不忙时将数据写到固态硬盘空闲的块中。
进一步的,步骤(4)中,所述判断缓存是否命中,采用以下方法:将元数据信息与请求数据的起始扇区信息进行对比,如果元数据信息中记录的扇区和请求数据块的起始扇区相同,则判断缓存命中。
由上述技术方案可知,本发明所述的一种基于Device Mapper的***存储优化方法,在保留传统机械硬盘高存储容量的同时,充分利用固态硬盘低功耗的特点,一方面能够通过减少机械硬盘的使用频率而降低其功耗,另一方面通过提升工作效率而降低完成相同工作量所需要消耗的能量,优化了数据存储效率,节约了数据存储设备的硬件成本。
附图说明
图1是本发明的方法流程图。
具体实施方式
下面结合附图对本发明做进一步说明:
如图1所示一种基于Device Mapper的***存储优化方法,在客户端发起数据请求时,使用Device Mapper技术将固态存储作为机械硬盘的缓存,当用户空间发起读操作的时候,先去缓存中查找是否有数据,如果有则返回给用户空间,如果没有则再去机械硬盘读取。当用户空间发起写操作的时候,先写到缓存,当***空闲时再写入到机械硬盘中,具体包括以下步骤:
S1:建立固态硬盘与机械硬盘组成的逻辑设备的映射,利用Device Mapper技术将固态硬盘和机械硬盘混合成一块逻辑设备,默认(可配置)每8个扇区(512 Bytes)为一个块,每512个块为一个集合,固态硬盘和机械硬盘都按照此划分。固态硬盘的集合里的块是用lru链表组织起来的,每个块都记录了自己存放的是机械硬盘的哪个扇区起始的位置(扇区编号)对应的内容。根据要访问的机械硬盘的位置,即硬盘的哪个集合,将其模上固态硬盘里的集合数,就可以得到固态硬盘里对应的集合号,然后根据集合号,查找并比对lru里块的扇区号,如果找到则表示固态硬盘里有缓存数据,没找到则说明没有缓存过。
S2:向服务器端发起数据请求访问,利用Device Mapper技术对数据请求分割为固定大小的子请求,分别计算数据请求块的机械硬盘起始扇区和分组编号;
对于服务器的磁盘写请求,将其缓存在固态硬盘缓冲区域,然后定期写回机械硬盘,并在写回前针对磁盘位置对写操作进行排序,降低磁头无效移动;对于服务器的磁盘数据读请求,首先检查数据是否在固态硬盘中,若命中则直接返回数据,若不命中再访问磁盘,避免机械硬盘读取操作。
S3:根据机械硬盘分组编号,得到映射后的固态硬盘缓存分组编号,并对数据请求操作进行判断,若是读操作,则执行S4,若是写操作,则执行S5;
S4:遍历固态硬盘缓存组所有缓存块的元数据信息,判断缓存是否命中,如果元数据信息中记录的扇区和请求数据块的起始扇区相同,则缓存命中,执行S6,若不命中,执行S7;
S5:将其缓存在固态硬盘缓冲区域,在***不忙的时候将数据写入到机械硬盘对应的块上;
S6:在***空闲时,将缓存块的元数据信息返回给用户空间;
S7:读取机械硬盘元数据信息返回给用户空间,在***不忙时将数据写到固态硬盘空闲的块中。
对于读操作,如果查找成功(有缓存过),则将固态硬盘保存的数据返回给用户空间,如果查找失败,则在固态硬盘找一个空闲集合中的块,然后从机械硬盘读取数据返回给用户空间,并使用等待队列,在***不忙时将数据写到固态硬盘中空闲的块中。对于写操作,将数据写入固态硬盘,然后用户空间write***调用就可以返回了,然后对该块做一个标记(用来表示该块应该被写入机械硬盘),使用等待队列,在***不忙的时候将数据写入到机械硬盘对应的块上,然后清除标记。
以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
Claims (2)
1.一种基于Device Mapper的***存储优化方法,其特征在于,包括以下步骤:
(1)建立固态硬盘与机械硬盘组成的逻辑设备的映射,将固态硬盘和机械硬盘混合成一块逻辑设备;
(2)向服务器端发起数据请求访问,将数据请求分割为固定大小的子请求,分别计算数据请求块的机械硬盘起始扇区和分组编号;
(3)根据机械硬盘分组编号,得到映射后的固态硬盘缓存分组编号,并对数据请求操作进行判断,若是读操作,则执行(4),若是写操作,则执行(5);
(4)遍历固态硬盘缓存组所有缓存块的元数据信息,判断缓存是否命中,若缓存命中,执行(6),若不命中,执行(7);
(5)若缓存在固态硬盘缓冲区域,在***不忙的时候将数据写入到机械硬盘对应的块上;
(6)在***空闲时,将缓存块的元数据信息返回给用户空间;
(7)读取机械硬盘元数据信息返回给用户空间,在***不忙时将数据写到固态硬盘空闲的块中。
2.根据权利要求1所述的基于Device Mapper的***存储优化方法,其特征在于:步骤(4)中,所述判断缓存是否命中,采用以下方法:将元数据信息与请求数据的起始扇区信息进行对比,如果元数据信息中记录的扇区和请求数据块的起始扇区相同,则判断缓存命中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810990814.2A CN109388341A (zh) | 2018-08-28 | 2018-08-28 | 一种基于Device Mapper的***存储优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810990814.2A CN109388341A (zh) | 2018-08-28 | 2018-08-28 | 一种基于Device Mapper的***存储优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109388341A true CN109388341A (zh) | 2019-02-26 |
Family
ID=65418442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810990814.2A Pending CN109388341A (zh) | 2018-08-28 | 2018-08-28 | 一种基于Device Mapper的***存储优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109388341A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992708A (zh) * | 2019-04-12 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种元数据查询的方法、装置、设备以及存储介质 |
CN110347497A (zh) * | 2019-06-03 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 一种将多个存储设备划分设备组的方法及装置 |
CN111158609A (zh) * | 2019-12-31 | 2020-05-15 | 广州鼎甲计算机科技有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
US11099759B2 (en) | 2019-06-03 | 2021-08-24 | Advanced New Technologies Co., Ltd. | Method and device for dividing storage devices into device groups |
CN114327280A (zh) * | 2021-12-29 | 2022-04-12 | 以萨技术股份有限公司 | 一种基于冷热分离存储的消息存储方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662459A (zh) * | 2012-04-22 | 2012-09-12 | 复旦大学 | 利用固态硬盘与机械硬盘混合存储减少服务器能源消耗的方法 |
CN103678166A (zh) * | 2013-08-16 | 2014-03-26 | 记忆科技(深圳)有限公司 | 一种采用固态硬盘作为计算机高速缓存的实现方法及*** |
CN106201911A (zh) * | 2015-05-05 | 2016-12-07 | 苏州携云信息科技有限公司 | 一种基于固态硬盘的缓存加速方法 |
CN107229573A (zh) * | 2017-05-22 | 2017-10-03 | 上海天玑数据技术有限公司 | 一种基于固态硬盘的弹性高可用缓存方法 |
-
2018
- 2018-08-28 CN CN201810990814.2A patent/CN109388341A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662459A (zh) * | 2012-04-22 | 2012-09-12 | 复旦大学 | 利用固态硬盘与机械硬盘混合存储减少服务器能源消耗的方法 |
CN103678166A (zh) * | 2013-08-16 | 2014-03-26 | 记忆科技(深圳)有限公司 | 一种采用固态硬盘作为计算机高速缓存的实现方法及*** |
CN106201911A (zh) * | 2015-05-05 | 2016-12-07 | 苏州携云信息科技有限公司 | 一种基于固态硬盘的缓存加速方法 |
CN107229573A (zh) * | 2017-05-22 | 2017-10-03 | 上海天玑数据技术有限公司 | 一种基于固态硬盘的弹性高可用缓存方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992708A (zh) * | 2019-04-12 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种元数据查询的方法、装置、设备以及存储介质 |
CN109992708B (zh) * | 2019-04-12 | 2020-09-04 | 苏州浪潮智能科技有限公司 | 一种元数据查询的方法、装置、设备以及存储介质 |
CN110347497A (zh) * | 2019-06-03 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 一种将多个存储设备划分设备组的方法及装置 |
CN110347497B (zh) * | 2019-06-03 | 2020-07-21 | 阿里巴巴集团控股有限公司 | 一种将多个存储设备划分设备组的方法及装置 |
US11099759B2 (en) | 2019-06-03 | 2021-08-24 | Advanced New Technologies Co., Ltd. | Method and device for dividing storage devices into device groups |
US11354055B2 (en) | 2019-06-03 | 2022-06-07 | Advanced New Technologies Co., Ltd. | Method and device for dividing storage devices into device groups |
CN111158609A (zh) * | 2019-12-31 | 2020-05-15 | 广州鼎甲计算机科技有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN111158609B (zh) * | 2019-12-31 | 2020-11-20 | 广州鼎甲计算机科技有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN114327280A (zh) * | 2021-12-29 | 2022-04-12 | 以萨技术股份有限公司 | 一种基于冷热分离存储的消息存储方法及*** |
CN114327280B (zh) * | 2021-12-29 | 2024-02-09 | 以萨技术股份有限公司 | 一种基于冷热分离存储的消息存储方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109388341A (zh) | 一种基于Device Mapper的***存储优化方法 | |
CN107193646B (zh) | 一种基于混合主存架构的高效动态页面调度方法 | |
CN108829341B (zh) | 一种基于混合存储***的数据管理方法 | |
WO2020103506A1 (zh) | 基于混合存储的数据管理***、方法、终端及介质 | |
CN103777905B (zh) | 一种软件定义的固态盘融合存储方法 | |
CN103136121B (zh) | 一种固态盘的缓存管理方法 | |
CN108268219B (zh) | 一种处理io请求的方法及装置 | |
CN102349055B (zh) | 对存储在存储器上的文件的访问时间最优化 | |
CN102663086B (zh) | 一种数据块索引的检索方法 | |
WO2013071882A1 (zh) | 用于机群文件***的元数据存储***和管理方法 | |
CN113821171B (zh) | 一种基于哈希表与lsm树的键值存储方法 | |
WO2015085747A1 (zh) | 一种数据访问存储方法及装置 | |
CN110795363B (zh) | 一种存储介质的热页预测方法和页面调度方法 | |
CN110532200B (zh) | 一种基于混合内存架构的内存*** | |
CN108089825B (zh) | 一种基于分布式集群的存储*** | |
CN103198021B (zh) | 一种提高固态硬盘数据传输效率的方法 | |
CN115794669A (zh) | 一种扩展内存的方法、装置及相关设备 | |
KR101226600B1 (ko) | 메모리 시스템 및 그의 메모리 맵핑 방법 | |
CN106909323B (zh) | 适用于dram/pram混合主存架构的页缓存方法及混合主存架构*** | |
CN108459972B (zh) | 一种多通道固态硬盘的高效缓存管理设计方法 | |
CN108427648B (zh) | 存储***页内脏数据索引方法和装置 | |
CN116755625A (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN103019963B (zh) | 一种高速缓存的映射方法及存储设备 | |
CN108491166B (zh) | 面向光盘库的读数据缓存管理方法 | |
CN103176753B (zh) | 存储设备及其数据管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190226 |