CN103823639A - 迁移对象的方法和*** - Google Patents
迁移对象的方法和*** Download PDFInfo
- Publication number
- CN103823639A CN103823639A CN201410056841.4A CN201410056841A CN103823639A CN 103823639 A CN103823639 A CN 103823639A CN 201410056841 A CN201410056841 A CN 201410056841A CN 103823639 A CN103823639 A CN 103823639A
- Authority
- CN
- China
- Prior art keywords
- osd
- load
- mds
- osds
- migration
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种迁移对象的方法和***,该方法包括以下步骤:统计多个对象存储设备OSD的负载,元数据服务器MDS定期查询多个OSD的负载信息;通过MDS分析多个OSD的负载并进行排序,选出负载较大的第一多个OSD和负载较小的第二多个OSD;以及将第一多个OSD上的部分对象迁移至第二多个OSD上。本发明能够实现对象的动态迁移,从而使得服务器的负载均衡,提高了服务器***的整体服务能力,即使在访问集中的情况下,也能够使***的服务能力保持较好的状态,有效降低了客户端的平均等待时间,提高了用户体验。
Description
技术领域
本发明涉及计算机领域,并且特别地,涉及一种迁移对象的方法和***。
背景技术
在大规模的存储***中,操作的文件往往具有局部性,当访问集中在某些对象存储设备OSD上时,会造成***的服务能力快速下降,因此,在分布式***中,需要动态平衡各个OSD的负载,提高***的整体服务能力。
针对相关技术中分布式***中负载分布不均,当访问集中时,***的服务能力大大降低的问题,目前尚未提出有效的解决方案。
发明内容
为解决负载分配不均的问题,本发明提供了一种迁移对象的方法,包括以下步骤:统计多个对象存储设备OSD的负载,元数据服务器MDS定期查询多个OSD的负载信息;通过MDS分析多个OSD的负载并进行排序,选出负载较大的第一多个OSD和负载较小的第二多个OSD;以及将第一多个OSD上的部分对象迁移至第二多个OSD上。
其中,对象为固定大小。
其中,对象的元数据存放在MDS上,对象存储在多个OSD上。
其中,定期更新MDS上对象的操作时间。
其中,当对象位于第一多个OSD内,且当操作时间位于预定范围内时,将对象加入到迁移列表中。
其中,元数据包括对象的位置信息,客户端通过在MDS中查询对象的位置信息而对相应OSD中的对象进行操作,并定期更新MDS上对象的操作时间。
其中,多个OSD对各自的网络负载、磁盘负载、和内存负载进行加权平均后计算出多个对象存储设备OSD的负载,供MDS定期查询。
此外,还提供了一种迁移对象的***,包括:统计模块,用于统计多个对象存储设备OSD的负载,以使元数据服务器MDS定期查询多个OSD的负载信息;排序模块,用于通过MDS分析多个OSD的负载并进行排序,选出负载较大的第一多个OSD和负载较小的第二多个OSD;以及迁移模块,用于将第一多个OSD上的部分对象迁移至第二多个OSD上。
其中,对象为固定大小。
其中,对象的元数据存放在MDS上,对象存储在多个OSD上。
本发明通过元数据服务器MDS分析多个OSD的负载并进行排序,并将负载较大的多个OSD上的部分对象迁移至负载较小的多个OSD上,能够使服务器负载均衡,提高***的整体服务能力。
附图说明
当结合附图进行阅读时,根据下面详细的描述可以更好地理解本发明。应该强调的是,根据工业中的标准实践,各种部件没有被按比例绘制。实际上,为了清楚的讨论,各种部件的尺寸可以被任意增加或减少
图1示出了根据本发明的示例性实施例的迁移对象的方法流程图;以及
图2示出了根据本发明的示例性实施例的迁移对象的***框图;
图3示出了根据本发明的一个示例性实施例的迁移对象的方法流程图;
图4示出了根据本发明的一个示例性实施例的迁移对象的方法实现过程中对象的访问过程流程图;
图5示出了根据本发明的一个示例性实施例的迁移对象的方法实现过程中获取迁移对象的过程流程图;
图6示出了根据本发明的一个示例性实施例的迁移对象的方法实现过程中OSD上对象的迁移过程流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种迁移对象的方法。
如图1所示,该方法包括以下步骤:
步骤S101,统计多个对象存储设备OSD的负载,元数据服务器MDS定期查询多个OSD的负载信息;
步骤S103,通过MDS分析多个OSD的负载并进行排序,选出负载较大的第一多个OSD和负载较小的第二多个OSD;以及
步骤S105,将第一多个OSD上的部分对象迁移至第二多个OSD上。
其中,对象为固定大小。
并且,对象的元数据存放在MDS上,对象存储在多个OSD上。
此外,定期更新MDS上对象的操作时间。
并且,当对象位于第一多个OSD内,且当操作时间位于预定范围内时,将对象加入到迁移列表中。
其中,元数据包括对象的位置信息,客户端通过在MDS中查询对象的位置信息而对相应OSD中的对象进行操作,并定期更新MDS上对象的操作时间。
并且,多个OSD对各自的网络负载、磁盘负载、和内存负载进行加权平均后计算出多个对象存储设备OSD的负载,供MDS定期查询。
根据本发明的实施例,还提供了一种迁移对象的***。
如图2所示,该***包括:
统计模块21,用于统计多个对象存储设备OSD的负载,以使元数据服务器MDS定期查询多个OSD的负载信息;
排序模块22,用于通过MDS分析多个OSD的负载并进行排序,选出负载较大的第一多个OSD和负载较小的第二多个OSD;以及
迁移模块23,用于将第一多个OSD上的部分对象迁移至第二多个OSD上。
其中,对象为固定大小。
并且,对象的元数据存放在MDS上,对象存储在多个OSD上。
例如,如图3所示,在一个实施例中,本发明的技术方案是这样实现的:
步骤S301,采用固定大小的对象存储文件;
步骤S303,文件的原数据存放在MDS上,对象存储在OSD上;
步骤S305,客户端操作对象时,定期更新MDS上文件的操作时间optime;
步骤S307,OSD统计自身的负载,MDS定期查询各个OSD的负载信息;
步骤S309,MDS分析OSD的负载,在一定周期内,选出负载较大的N个OSD,和负载较小的M个OSD,通过指定的策略,将负载较大的OSD上的一部分对象迁移到负载较小的OSD上。
整个方案的实现包括以下几个过程:
外部数据交互过程:用户通过客户端与***进行数据读写,客户端提供通用文件***接口,用户使用时与本地文件***没有区别。
内部数据交互过程:
1.客户端向MDS获取对象的存储信息,向OSD发起操作请求;
2.OSD响应客户端的请求,客户端定期更新MDS上对象的操作时间optime。
OSD根据自身的网络负载、磁盘负载和内存负载,加权平均后计算出总体的负载,供MDS定期查询。MDS定期查询OSD上的负载,并进行记录,达到预设的周期时,根据记录,得出周期内各OSD的平均负载,并进行排序,得出前N个负载较大的OSD和后M个负载较轻的OSD,触发数据的迁移,使得各个OSD的负载均衡。
对象操作过程:
1.客户端访问文件时,向MDS获取文件的对象信息,得到需要访问的对象和对象所在的OSD;
2.向OSD发起操作;
3.OSD处理客户端的操作,并应答客户端;
4.客户端检查更新周期,如果超过阈值,则主动更新MDS上文件的optime。
MDS周期统计OSD负载和触发对象迁移:
MDS周期向OSD查询负载信息,并将负载值记录到文件中,当周期次数达到一定阈值时,进行负载的汇总,选择出负载较大的N个OSD和负载较轻的M个OSD,触发数据迁移处理,待迁移处理完成后,进行下一轮的统计。
对象的迁移过程:
从负载较重的OSD上,查询每个对象的optime,选择最近访问的一批对象,在负载较轻的OSD上未对象选择目标磁盘,通知OSD,进行数据迁移,OSD设置对象的迁移标志,进行数据的拷贝操作,在迁移的过程中,有对象修改操作时,暂停对象的拷贝,根据修改的位置进行处理:仅修改未拷贝到的位置,则指修改本地,否则需要修改本地和远端。
如图4所示,对象的访问过程如下:
1.客户端首先从MDS上获取对象所在的OSD;
2.向OSD发起对象的操作;
3.客户端定期更新MDS上对象的optime。
如图5所示,获取待迁移对象的过程如下:
1.MDS定期查询OSD的负载信息,在指定的时机触发迁移过程;
2.选择负载较重的OSD;
3.将OSD上的部分最近访问的对象选出来;
4.通知OSD,将对象从负载较重的OSD迁移到负载较轻的OSD上。
如图6所示,OSD上对象的迁移过程如下:
1.先将对象设置成迁移中标志,并等待当前的修改操作完成;
2.在目标设备上创建新对象;
3.向新对象拷贝数据,直到完成;
4.通知MDS,迁移完成;
5.在原对象上设置迁移完成标志,并将长度截断成0。
综上所述,借助于本发明的上述技术方案,通过元数据服务器MDS分析多个OSD的负载并进行排序,并将负载较大的多个OSD上的部分对象迁移至负载较小的多个OSD上,能够实现对象的动态迁移,从而使得服务器的负载均衡,提高了服务器***的整体服务能力,即使在访问集中的情况下,也能够使***的服务能力保持较好的状态,有效降低了客户端的平均等待时间,提高了用户体验。
上面论述了若干实施例的部件,使得本领域普通技术人员可以更好地理解本发明的各个方面。本领域普通技术人员应该理解,可以很容易地使用本发明作为基础来设计或更改其他用于达到与这里所介绍实施例相同的目的和/或实现相同优点的处理和结构。本领域普通技术人员也应该意识到,这种等效构造并不背离本发明的精神和范围,并且在不背离本发明的精神和范围的情况下,可以进行多种变化、替换以及改变。
Claims (10)
1.一种迁移对象的方法,其特征在于,包括以下步骤:
统计多个对象存储设备OSD的负载,元数据服务器MDS定期查询所述多个OSD的负载信息;
通过所述MDS分析所述多个OSD的负载并进行排序,选出负载较大的第一多个OSD和负载较小的第二多个OSD;以及
将所述第一多个OSD上的部分对象迁移至所述第二多个OSD上。
2.根据权利要求1所述的方法,其特征在于,所述对象为固定大小。
3.根据权利要求1所述的方法,其特征在于,所述对象的元数据存放在所述MDS上,所述对象存储在所述多个OSD上。
4.根据权利要求1所述的方法,其特征在于,定期更新所述MDS上所述对象的操作时间。
5.根据权利要求4所述的方法,其特征在于,当所述对象位于所述第一多个OSD内,且当所述操作时间位于预定范围内时,将所述对象加入到迁移列表中。
6.根据权利要求3所述的方法,其特征在于,所述元数据包括所述对象的位置信息,所述客户端通过在所述MDS中查询所述对象的位置信息而对相应OSD中的所述对象进行操作,并定期更新所述MDS上所述对象的操作时间。
7.根据权利要求1所述的方法,其特征在于,所述多个OSD对各自的网络负载、磁盘负载、和内存负载进行加权平均后计算出所述多个对象存储设备OSD的负载,供所述MDS定期查询。
8.一种迁移对象的***,其特征在于,包括:
统计模块,用于统计多个对象存储设备OSD的负载,以使元数据服务器MDS定期查询所述多个OSD的负载信息;
排序模块,用于通过所述MDS分析所述多个OSD的负载并进行排序,选出负载较大的第一多个OSD和负载较小的第二多个OSD;以及
迁移模块,用于将所述第一多个OSD上的部分对象迁移至所述第二多个OSD上。
9.根据权利要求8所述的***,其特征在于,所述对象为固定大小。
10.根据权利要求8所述的***,其特征在于,所述对象的元数据存放在所述MDS上,所述对象存储在所述多个OSD上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410056841.4A CN103823639A (zh) | 2014-02-19 | 2014-02-19 | 迁移对象的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410056841.4A CN103823639A (zh) | 2014-02-19 | 2014-02-19 | 迁移对象的方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103823639A true CN103823639A (zh) | 2014-05-28 |
Family
ID=50758729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410056841.4A Pending CN103823639A (zh) | 2014-02-19 | 2014-02-19 | 迁移对象的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103823639A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331253A (zh) * | 2014-10-30 | 2015-02-04 | 浪潮电子信息产业股份有限公司 | 一种对象存储***中对象迁移的计算方法 |
CN105320460A (zh) * | 2014-06-27 | 2016-02-10 | 中兴通讯股份有限公司 | 一种写性能优化方法、装置及存储*** |
CN107193488A (zh) * | 2017-05-15 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种分布式***数据重分配方法及其装置 |
CN108509153A (zh) * | 2018-03-23 | 2018-09-07 | 新华三技术有限公司 | Osd选择方法、数据写入和读取方法、监控器和服务器集群 |
CN109358816A (zh) * | 2018-10-19 | 2019-02-19 | 网宿科技股份有限公司 | 一种分布式存储***的流控方法及装置 |
CN113296706A (zh) * | 2021-05-27 | 2021-08-24 | 上海仪电(集团)有限公司中央研究院 | 一种Ceph***数据清洗方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013387A (zh) * | 2007-02-09 | 2007-08-08 | 华中科技大学 | 基于对象存储设备的负载平衡方法 |
CN103036994A (zh) * | 2012-12-18 | 2013-04-10 | 曙光信息产业(北京)有限公司 | 实现负载均衡的云存储*** |
CN103095805A (zh) * | 2012-12-20 | 2013-05-08 | 江苏辰云信息科技有限公司 | 一种对数据进行智能分层管理的云存储*** |
CN103488578A (zh) * | 2012-12-28 | 2014-01-01 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
-
2014
- 2014-02-19 CN CN201410056841.4A patent/CN103823639A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013387A (zh) * | 2007-02-09 | 2007-08-08 | 华中科技大学 | 基于对象存储设备的负载平衡方法 |
CN103036994A (zh) * | 2012-12-18 | 2013-04-10 | 曙光信息产业(北京)有限公司 | 实现负载均衡的云存储*** |
CN103095805A (zh) * | 2012-12-20 | 2013-05-08 | 江苏辰云信息科技有限公司 | 一种对数据进行智能分层管理的云存储*** |
CN103488578A (zh) * | 2012-12-28 | 2014-01-01 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105320460A (zh) * | 2014-06-27 | 2016-02-10 | 中兴通讯股份有限公司 | 一种写性能优化方法、装置及存储*** |
CN104331253A (zh) * | 2014-10-30 | 2015-02-04 | 浪潮电子信息产业股份有限公司 | 一种对象存储***中对象迁移的计算方法 |
CN104331253B (zh) * | 2014-10-30 | 2017-12-15 | 浪潮电子信息产业股份有限公司 | 一种对象存储***中对象迁移的计算方法 |
CN107193488A (zh) * | 2017-05-15 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种分布式***数据重分配方法及其装置 |
CN108509153A (zh) * | 2018-03-23 | 2018-09-07 | 新华三技术有限公司 | Osd选择方法、数据写入和读取方法、监控器和服务器集群 |
CN108509153B (zh) * | 2018-03-23 | 2021-07-06 | 新华三技术有限公司 | Osd选择方法、数据写入和读取方法、监控器和服务器集群 |
CN109358816A (zh) * | 2018-10-19 | 2019-02-19 | 网宿科技股份有限公司 | 一种分布式存储***的流控方法及装置 |
CN109358816B (zh) * | 2018-10-19 | 2022-05-20 | 网宿科技股份有限公司 | 一种分布式存储***的流控方法及装置 |
CN113296706A (zh) * | 2021-05-27 | 2021-08-24 | 上海仪电(集团)有限公司中央研究院 | 一种Ceph***数据清洗方法、装置、设备及介质 |
CN113296706B (zh) * | 2021-05-27 | 2024-04-09 | 上海仪电(集团)有限公司中央研究院 | 一种Ceph***数据清洗方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103823639A (zh) | 迁移对象的方法和*** | |
US10289603B2 (en) | Dynamic search partitioning | |
US10715460B2 (en) | Opportunistic resource migration to optimize resource placement | |
US10055252B2 (en) | Apparatus, system and method for estimating data transfer periods for job scheduling in parallel computing | |
US9183271B2 (en) | Big-fast data connector between in-memory database system and data warehouse system | |
KR101373461B1 (ko) | 클라우드 서비스를 이용하기 위한 단말기 및 방법 | |
US20150163320A1 (en) | Social-driven precaching of accessible objects | |
KR101589801B1 (ko) | 피어 투 피어 데이터 마이그레이션 | |
US10523743B2 (en) | Dynamic load-based merging | |
CN105045607A (zh) | 一种实现多种大数据计算框架统一接口的方法 | |
CN102307234A (zh) | 基于移动终端的资源检索方法 | |
US9454331B1 (en) | Cluster file system with a burst buffer appliance for coordinated control of data movement among storage tiers across a plurality of object storage servers | |
US9659019B1 (en) | Burst buffer appliance with storage tiering control functionality based on user specification | |
US20140365429A1 (en) | Method for issuing multipart receipts in connection to extensive database operations | |
CN106155566A (zh) | 用于存储数据的方法、装置及*** | |
WO2016183918A1 (zh) | 存储空间处理方法及装置 | |
WO2015085736A1 (en) | Method and system for accessing a distributed file system | |
US10599472B2 (en) | Information processing apparatus, stage-out processing method and recording medium recording job management program | |
CN110168513B (zh) | 在不同存储***中对大文件的部分存储 | |
CN101483668A (zh) | 热点数据的网络存储和访问方法、设备及*** | |
JP5692355B2 (ja) | コンピュータシステム、制御システム、制御方法および制御プログラム | |
CN101394405A (zh) | 一种数据请求处理的方法和装置 | |
CN102170476B (zh) | 一种基于云节点自主学习的云计算方法和装置 | |
WO2018201993A1 (zh) | 图像绘制方法、终端及存储介质 | |
CN103268333A (zh) | 一种存储方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140528 |
|
RJ01 | Rejection of invention patent application after publication |