CN102566940A - I/o平衡处理方法和设备 - Google Patents
I/o平衡处理方法和设备 Download PDFInfo
- Publication number
- CN102566940A CN102566940A CN2011104323003A CN201110432300A CN102566940A CN 102566940 A CN102566940 A CN 102566940A CN 2011104323003 A CN2011104323003 A CN 2011104323003A CN 201110432300 A CN201110432300 A CN 201110432300A CN 102566940 A CN102566940 A CN 102566940A
- Authority
- CN
- China
- Prior art keywords
- data
- disk
- information
- tables
- sign
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
-
- 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/0608—Saving storage space on 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0689—Disk arrays, e.g. RAID, JBOD
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)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种I/O平衡处理方法和设备,该方法包括对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘,将N-m个LUN设置为预留磁盘;接收携带有数据表、数据表的预计容量、数据表对应的数据块的大小以及存储数据表的磁盘标识的存储请求消息;其中所述数据表包括至少一个数据文件;根据数据表的预计容量、数据表对应的数据块的大小以及磁盘标识对应的磁盘的总数量,获取数据库信息,根据存储请求消息和数据库信息生成第一shell脚本,并根据第一shell脚本创建数据库,其中N和m均为整数,且均大于等于1。
Description
技术领域
本发明涉及计算机技术,尤其涉及一种I/O平衡处理方法和设备。
背景技术
事务处理性能委员会(Transaction Processing Performance Council;简称:TPC)-C测试是测试建立在关系型数据库的在线事务处理性能的基本程序。由于存储单元的输入输出(Input/output;简称:I/O)性能能够提高存储利用率,降低总所有成本((Total cost of ownership;简称:TCO),并且有效地避免数据库的性能问题,因此,该存储单元的I/O性能是TPC-C测试中主要考虑的因素。
目前,I/O平衡部署能够充分发挥存储单元的I/O性能,因此数据库厂家和存储厂家均有针对数据库和存储的I/O平衡部署方案,例如:某些厂家采用甲骨文(oracle)数据库(database)的自动存储管理(Automatic StorageManagement;简称:ASM)实现I/O平衡部署,具体的,在一组独立的磁盘上创建一个单独的磁盘组,实现单个磁盘组的I/O平衡。但是,由于现有的I/O平衡部署方案是对数据进行完全平衡部署,即绝对平衡部署,因此,占用了磁盘的存储空间较大,并难以分析具体的热点表和热点数据。
发明内容
本发明的第一个方面是提供一种I/O平衡处理方法,包括:
对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘,将N-m个LUN设置为预留磁盘;
接收存储请求消息,所述存储请求消息包括:数据表、所述数据表的预计容量、所述数据表对应的数据块的大小以及存储所述数据表的磁盘标识;其中,所述数据表包括至少一个数据文件;
根据所述数据表的预计容量、数据表对应的数据块的大小以及所述磁盘标识对应的磁盘的总数量,获取数据库信息,所述数据库信息包括:所述数据表在每个所述磁盘标识对应的磁盘中的预计容量、每个所述磁盘标识对应的磁盘中数据文件的个数以及所述数据文件的大小;
根据所述存储请求消息和所述数据库信息,生成第一shell脚本,并根据所述第一shell脚本,创建数据库;
其中,N和m均为整数,且均大于等于1。
本发明的另一个方面是提供一种I/O平衡处理设备,包括:
划分模块,用于对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘,将N-m个LUN设置为预留磁盘;
接收模块,用于接收存储请求消息,所述存储请求消息包括:数据表、所述数据表的预计容量、所述数据表对应的数据块的大小以及存储所述数据表的磁盘标识;其中,所述数据表包括至少一个所述数据文件;
I/O平衡处理模块,用于根据所述数据表的预计容量、数据表对应的数据块的大小以及所述磁盘标识对应的磁盘的总数量,获取数据库信息,所述数据库信息包括:所述数据表在每个所述磁盘标识对应的磁盘中的预计容量、每个所述磁盘标识对应的磁盘中数据文件的个数以及所述数据文件的大小;
数据库创建模块,用于根据所述存储请求消息和所述数据库信息,生成第一shell脚本,并根据所述第一shell脚本,创建数据库;
其中,N和m均为整数,且均大于等于1。
本发明的技术效果是:通过对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘,将N-m个LUN设置为预留磁盘;接收存储请求消息,并根据存储请求消息中的数据表的预计容量、数据表对应的数据块的大小以及磁盘标识对应的磁盘的总数量,获取数据库信息,再根据该存储请求消息和数据库信息,生成第一shell脚本,并根据该第一shell脚本,创建数据库,由于对磁盘进行了划分,将容量从而实现了相对平衡部署,占用了磁盘的存储空间较少,进而提高了存储利用率。
附图说明
图1为本发明I/O平衡处理方法的一个实施例的流程图;
图2为关系型数据库中存储划分的示意图;
图3为本发明I/O平衡处理方法的另一个实施例的流程图;
图4为本发明I/O平衡处理设备的一个实施例结构示意图;
图5为本发明I/O平衡处理设备的另一个实施例的结构示意图。
具体实施方式
图1为本发明I/O平衡处理方法的一个实施例的流程图,如图1所示,本实施例的方法主要应用在关系型数据库中,则该方法包括:
步骤101、对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘,将N-m个LUN设置为预留磁盘。
其中,N和m均为整数,且均大于等于1。
在本实施例中,对关系型数据库中的存储对应的硬盘进行分组,每组均有一个冗余磁盘阵列(Redundant Array of Independent Disk;简称:RAID)控制器控制,并将分组后的硬盘映射到主机服务器上,再将映射到主机服务器上的每组硬盘分别划分成至少一个逻辑单元号码(Logical Unit Number;简称:LUN)。
举例来说,图2为关系型数据库中存储划分的示意图,如图2所示,将关系型数据库中的存储对应的硬盘分成四组,每组均有RAID控制器控制,并将四组硬盘映射到主机服务器上,再将映射到主机服务器上的每组硬盘分别划分成四个LUN,则主机服务器上可以共显示16个LUN。另外,可以将16个LUN进行划分处理,例如:将15个LUN设置为数据磁盘,将剩余的1个LUN设置为预留磁盘。
在本实施例中,优选地,数据磁盘可以存储容量较大,且性能较高的数据表(table);预留磁盘可以存储容量较小,且性能要求较低的数据表。
步骤102、接收存储请求消息,该存储请求消息包括:数据表、该数据表的预计容量、该数据表对应的数据块的大小以及存储该数据表的磁盘标识;其中,该数据表包括至少一个数据文件。
在本实施例中,数据表包括至少一个数据文件。数据表的预计容量是指数据表中所记录的所有数据文件要占用的存储空间。数据表对应的数据块的大小是指存储该数据表中的数据文件的数据块。
步骤103、根据该数据表的预计容量、数据表对应的数据块的大小以及该磁盘标识对应的磁盘的总数量,获取数据库信息,该数据库信息包括:该数据表在每个该磁盘标识对应的磁盘中的预计容量、每个该磁盘标识对应的磁盘中数据文件的个数以及该数据文件的大小。
步骤104、根据该存储请求消息和该数据库信息,生成第一shell脚本,并根据该第一shell脚本,创建数据库。
在本实施例中,通过对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘,将N-m个LUN设置为预留磁盘;接收存储请求消息,并根据存储请求消息中的数据表的预计容量、数据表对应的数据块的大小以及磁盘标识对应的磁盘的总数量,获取数据库信息,再根据该存储请求消息和数据库信息,生成第一shell脚本,并根据该第一shell脚本,创建数据库,由于对磁盘进行了划分,将容量从而实现了相对平衡部署,占用了磁盘的存储空间较少,进而提高了存储利用率。
图3为本发明I/O平衡处理方法的另一个实施例的流程图,如图3所示,本实施例的方法主要应用在关系型数据库中,则该方法包括:
步骤201、对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘,将N-m个LUN设置为预留磁盘。
其中,N和m均为整数,且均大于等于1。
步骤202、接收存储请求消息,该存储请求消息包括:数据表、该数据表的预计容量、该数据表对应的数据块(block)的大小以及存储该数据表的磁盘标识;其中,该数据表包括至少一个数据文件。
步骤203、根据数据表的预计容量和磁盘标识对应的磁盘的总数量,获取数据表在每个磁盘标识对应的磁盘中的预计容量。
步骤204、根据该数据表对应的数据块的大小,查询数据块大小与单个数据文件最大容量的映射关系,获取该数据块的大小对应的单个数据文件最大容量;并根据该数据表的预计容量、该磁盘标识对应的磁盘的总数量和该单个数据文件最大容量,获取每个该磁盘标识对应的磁盘中数据文件的个数。
步骤205、根据该数据表的预计容量、该磁盘标识对应的磁盘的总数量和每个该磁盘标识对应的磁盘中数据文件的个数,获取该数据文件的大小。
步骤206、根据该存储请求消息和该数据库信息,生成第一壳(shell)脚本,并根据该第一shell脚本,创建数据库;其中,该数据库信息包括:该数据表在每个该磁盘标识对应的磁盘中的预计容量、每个该磁盘标识对应的磁盘中数据文件的个数以及该数据文件的大小。
在本实施例中,举例来说,以N为20,m为19为例,详细介绍本实施例的技术方案。具体的,接收存储请求消息,该存储请求消息包括四个数据表,分别为数据表1、数据表2、数据表3和数据表4,其中,数据表1的预计容量为524288M,该数据表1对应的数据块的大小为2K,存储该数据表1的磁盘标识为数据磁盘标识;数据表2的预计容量为1048576M,该数据表2对应的数据块的大小为16K,存储该数据表2的磁盘标识为数据磁盘标识;数据表3的预计容量为50M,该数据表3对应的数据块的大小为2K,存储该数据表3的磁盘标识为预留磁盘标识;数据表4的预计容量为20480M,该数据表4对应的数据块的大小为2K,存储该数据表4的磁盘标识为预留磁盘标识。
对于数据表1,根据数据表1的预计容量和数据磁盘的总数量,数据表1在每个数据磁盘中的预计容量=524288M/19=27594.10526M;根据该数据表1对应的数据块的大小,查询数据块大小与单个数据文件最大容量的映射关系,获取该数据块的大小对应的单个数据文件最大容量。优选的,在本实施例中,数据块大小与单个数据文件最大容量的映射关系可以如下表一所示:
表一
数据块 | 单个数据文件最大容量 |
2K | 8G |
16K | 64G |
数据表1对应的数据块的大小为2K,则查询该表一,获取单个数据文件最大容量为8G,再根据该数据表1的预计容量,数据磁盘的总数量和该单个数据文件最大容量,获取每个数据磁盘中数据文件的个数,其具体实现方式可以如下所示:每个数据磁盘中数据文件的个数=[524288M/19/8G]=[3.368]=4,其中,符号[]表示向上取整。再根据数据表1的预计容量、数据磁盘的总数量和每个数据磁盘中数据文件的个数,获取数据文件的大小=524288M/19/4=6898.526316M。
对于数据表3,根据数据表3的预计容量和预留磁盘的总数量,数据表1在每个预留磁盘中的预计容量=50M/1=50M;该数据表3对应的数据块的大小为2K,则查询表一,获取该数据块的大小对应的单个数据文件最大容量为8G,再根据该数据表3的预计容量,预留磁盘的总数量和该单个数据文件最大容量,获取每个预留磁盘中数据文件的个数,其具体实现方式可以如下所示:每个预留磁盘中数据文件的个数=[50M/1/8G]=[0.006]=1,其中,符号[]表示向上取整。再根据数据表3的预计容量、预留磁盘的总数量和每个预留磁盘中数据文件的个数,获取数据文件的大小=50M/1/1=50M。
另外,数据表2由于存储在数据磁盘中,因此实现原理与数据表1的实现原理相类似,数据表4由于存储在预留磁盘中,因此实现原理与数据表3的实现原理相类似,此处不再赘述。具体的,数据表1至数据表4的存储请求信息和数据库信息可以如下表二所示:
表二
在本实施例中,通过对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘,将N-m个LUN设置为预留磁盘;接收存储请求消息,并根据存储请求消息中的数据表的预计容量、数据表对应的数据块的大小以及磁盘标识对应的磁盘的总数量,获取数据库信息,再根据该存储请求消息和数据库信息,生成第一shell脚本,并根据该第一shell脚本,创建数据库,由于对磁盘进行了划分,将容量从而实现了相对平衡部署,占用了磁盘的存储空间较少,进而提高了存储利用率。
进一步的,在本发明的又一个实施例中,在上述图1或图2所示方法实施例的基础上,该方法还可以包括:
接收I/O性能检测请求消息,该I/O性能检测请求消息包括检测磁盘标识;
当磁盘标识为预留磁盘标识时,采用输入输出状态(Input Output Statues;简称:IOSTAT),在设置的抽样时刻点,分别采集数据磁盘中的第一I/O信息,并分别采集预留磁盘中的第二I/O信息;
将各个抽样时刻的第一I/O信息与第二I/O信息进行识别处理和分析处理,获取第一检测结果。
在本实施例中,该第一I/O信息包括:读I/O信息和写I/O信息,其中,读I/O信息包括:读每秒进行读写操作的次数(Input/Output Operations PerSecond;简称:IOPS)信息和读带宽信息等;写I/O信息包括写IOPS信息和写带宽信息等。
进一步的,当磁盘标识为数据磁盘标识时,该方法还可以包括:
采用公式Rni’=(Rni-Rna)/Rna,获取每个数据磁盘的第一I/O信息中的读I/O信息Rni’;
采用公式Wni’=(Wni-Wna)/Wna,获取每个数据磁盘中的第一I/O信息中的写I/O信息Wni’;
采用公式Pn=Krni*|Rni’|+Kwni*|Wni’|,获取加权平均数Pn。
其中,Krni=|Rni’|/(|Rni’|+|Wni’|),Kwni=|Wni’|/(|Rni’|+|Wni’|),n表示抽样时刻,i表示数据磁盘标识,Rni表示在抽样时刻n时第i个数据磁盘的第一I/O信息中的读I/O信息,Rna表示在抽样时刻n所有数据磁盘的第一I/O信息中的读I/O信息的平均值;Wni表示在抽样时刻n时第i个数据磁盘的第一I/O信息中的写I/O信息,Wna表示在抽样时刻n时所有数据磁盘的第一I/O信息中的写I/O信息的平均值。
需要说明的是,当Pn越趋近于0,则表示该关系型数据库中的I/O越平衡。
更进一步的,该方法还可以包括:
根据上述第一检测结果和/或上述加权平均数,调整该存储请求消息和数据库信息;
根据调整后的存储请求消息和数据库信息,生成第二shell脚本,并根据该第二shell脚本,重新创建数据库。
在本实施例中,举例来说,以上述表二为例,通过对预留磁盘进行检测,获取第一检测结果为:预留磁盘中的数据表四性能要求较高,适合存储在数据磁盘中,则调整存储请求消息和数据库信息,具体的,将磁盘标识进行修改,将“预留磁盘”修改为“数据磁盘”,另外,根据数据表2的预计容量和数据磁盘的总数量,数据表1在每个数据磁盘中的预计容量=20480M/19=1077.89M;该数据表2对应的数据块的大小为2K,则查询表一,获取该数据块的大小对应的单个数据文件最大容量为8G,再根据该数据表2的预计容量,数据磁盘的总数量和该单个数据文件最大容量,获取每个数据磁盘中数据文件的个数,其具体实现方式可以如下所示:每个数据磁盘中数据文件的个数=[20480M/19/8G]=[0.132]=1,其中,符号[]表示向上取整。再根据数据表2的预计容量、数据磁盘的总数量和每个数据磁盘中数据文件的个数,获取数据文件的大小=2048M/19/1=1077.89M。则数据表四的存储请求消息和数据库信息可以如下表三所示:
表三
根据调整后的存储请求消息和数据库信息,生成第二shell脚本,并根据该第二shell脚本,重新创建数据库。
在本实施例中,通过对I/O性能检测,从而可以对数据表中的I/O性能进行准确和直观的评估,并根据检测结果,调整存储请求消息和数据库信息,再根据调整后的存储请求消息和数据库信息,生成第二shell脚本,并根据该第二shell脚本,重新创建数据库,进而有效地避免数据库性能问题,降低了TCO成本。
图4为本发明I/O平衡处理设备的一个实施例结构示意图,如图4所示,本实施例的设备包括:划分模块11、接收模块12、I/O平衡处理模块13和数据库创建模块14,其中,划分模块11用于对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘,将N-m个LUN设置为预留磁盘;接收模块12用于接收存储请求消息,该存储请求消息包括:数据表、该数据表的预计容量、该数据表对应的数据块的大小以及存储该数据表的磁盘标识;其中,该数据表包括至少一个数据文件;I/O平衡处理模块13用于根据该数据表的预计容量、数据表对应的数据块的大小以及该磁盘标识对应的磁盘的总数量,获取数据库信息,该数据库信息包括:该数据表在每个该磁盘标识对应的磁盘中的预计容量、每个该磁盘标识对应的磁盘中数据文件的个数以及该数据文件的大小;数据库创建模块14用于根据该存储请求消息和该数据库信息,生成第一shell脚本,并根据该第一shell脚本,创建数据库。
其中,N和m均为整数,且均大于等于1。
本实施例的I/O平衡处理设备可以执行图1所示方法实施例的技术方案,其实现原理相类似,此处不再赘述。
在本实施例中,通过对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘,将N-m个LUN设置为预留磁盘;接收存储请求消息,并根据存储请求消息中的数据表的预计容量、数据表对应的数据块的大小以及磁盘标识对应的磁盘的总数量,获取数据库信息,再根据该存储请求消息和数据库信息,生成第一shell脚本,并根据该第一shell脚本,创建数据库,由于对磁盘进行了划分,将容量从而实现了相对平衡部署,占用了磁盘的存储空间较少,进而提高了存储利用率。
图5为本发明I/O平衡处理设备的另一个实施例的结构示意图,如图5所示,在上述图4所示实施例的基础上,该I/O平衡处理模块13包括:预计容量获取单元131、数据文件的个数获取单元132和数据文件的大小获取单元133,其中,预计容量获取单元131用于根据该数据表的预计容量和该磁盘标识对应的磁盘的总数量,获取该数据表在每个该磁盘标识对应的磁盘中的预计容量;数据文件的个数获取单元132用于根据该数据表对应的数据块的大小,查询数据块大小与单个数据文件最大容量的映射关系,获取该数据块的大小对应的单个数据文件最大容量;并根据该数据表的预计容量、该磁盘标识对应的磁盘的总数量和该单个数据文件最大容量,获取每个该磁盘标识对应的磁盘中数据文件的个数;数据文件的大小获取单元133用于根据该数据表的预计容量、该磁盘标识对应的磁盘的总数量和每个该磁盘标识对应的磁盘中数据文件的个数,获取该数据文件的大小。
进一步的,当接收模块12还用于接收I/O性能检测请求消息,该I/O性能检测请求消息包括检测磁盘标识,且该磁盘标识为预留磁盘标识时,该设备还包括:预留磁盘检测模块15,其包括:采集单元151和检测单元152,其中,采集单元151用于采用IOSTAT,在设置的抽样时刻点,分别采集数据磁盘中的第一I/O信息,并分别采集预留磁盘中的第二I/O信息;检测单元152用于将各个该抽样时刻的该第一I/O信息与该第二I/O信息进行识别处理和分析处理,获取第一检测结果。
另外,当该磁盘标识为预留磁盘标识时,该设备还包括:数据磁盘检测模块16,包括:读I/O信息获取单元161、写I/O信息获取单元162和加权平均数Pn获取单元163,其中,读I/O信息获取单元161用于采用公式Rni’=(Rni-Rna)/Rna,获取每个数据磁盘的第一I/O信息中的读I/O信息Rni’;写I/O信息获取单元162用于采用公式Wni’=(Wni-Wna)/Wna,获取每个所述数据磁盘中的第一I/O信息中的写I/O信息Wni’;加权平均数Pn获取单元163,用于采用公式Pn=Krni*|Rni’|+Kwni*|Wni’|,获取加权平均数Pn。
其中,Krni=|Rni’|/(|Rni’|+|Wni’|),Kwni=|Wni’|/(|Rni’|+|Wni’|),n表示抽样时刻,i表示数据磁盘标识,Rni表示在抽样时刻n时第i个数据磁盘的第一I/O信息中的读I/O信息,Rna表示在抽样时刻n所有数据磁盘的第一I/O信息中的读I/O信息的平均值;Wni表示在抽样时刻n时第i个数据磁盘的第一I/O信息中的写I/O信息,Wna表示在抽样时刻n时所有数据磁盘的第一I/O信息中的写I/O信息的平均值。
本实施例的I/O平衡处理设备可以执行图3所示方法实施例的基础方案,其实现原理相类似,此处不再赘述。
更进一步的,该设备还可以包括:调整模块17,用于根据第一检测结果和/或加权平均数Pn,调整所述数据库信息;则数据库创建模块14还用于根据调整后的存储请求消息和数据库信息,生成第二shell脚本,并根据第二shell脚本,重新创建数据库。
在本实施例中,通过对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘,将N-m个LUN设置为预留磁盘;接收存储请求消息,并根据存储请求消息中的数据表的预计容量、数据表对应的数据块的大小以及磁盘标识对应的磁盘的总数量,获取数据库信息,再根据该存储请求消息和数据库信息,生成第一shell脚本,并根据该第一shell脚本,创建数据库,由于对磁盘进行了划分,将容量从而实现了相对平衡部署,占用了磁盘的存储空间较少,进而提高了存储利用率。另外,通过对I/O性能检测,从而可以对数据表中的I/O性能进行准确和直观的评估,并根据检测结果,调整存储请求消息和数据库信息,再根据调整后的存储请求消息和数据库信息,生成第二shell脚本,并根据该第二shell脚本,重新创建数据库,进而有效地避免数据库性能问题,降低了TCO成本。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (11)
1.一种I/O平衡处理方法,其特征在于,包括:
对磁盘上的N个逻辑单元LUN进行划分处理,将m个LUN设置为数据磁盘,将N-m个LUN设置为预留磁盘,其中,N和m均为整数,且均大于等于1;
接收存储请求消息,所述存储请求消息包括:数据表、所述数据表的预计容量、所述数据表对应的数据块的大小以及存储所述数据表的磁盘标识;其中,所述数据表包括至少一个数据文件;
根据所述数据表的预计容量、所述数据表对应的数据块的大小以及所述磁盘标识对应的磁盘的总数量,获取数据库信息,所述数据库信息包括:所述数据表在每个所述磁盘标识对应的磁盘中的预计容量、每个所述磁盘标识对应的磁盘中数据文件的个数以及所述数据文件的大小
根据所述存储请求消息和所述数据库信息,生成第一shell脚本,并根据所述第一shell脚本,创建数据库。
2.根据权利要求1所述的I/O平衡处理方法,其特征在于,所述根据所述数据表的预计容量、数据表对应的数据块的大小以及所述磁盘标识对应的磁盘的总数量,获取数据库信息,所述数据库信息包括:所述数据表在每个所述磁盘标识对应的磁盘中的预计容量、每个所述磁盘标识对应的磁盘中数据文件的个数以及所述数据文件的大小,包括:
根据所述数据表的预计容量和所述磁盘标识对应的磁盘的总数量,获取所述数据表在每个所述磁盘标识对应的磁盘中的预计容量;
根据所述数据表对应的数据块的大小,查询数据块大小与单个数据文件最大容量的映射关系,获取所述数据块的大小对应的单个数据文件最大容量;并根据所述数据表的预计容量、所述磁盘标识对应的磁盘的总数量和所述单个数据文件最大容量,获取每个所述磁盘标识对应的磁盘中数据文件的个数;
根据所述数据表的预计容量、所述磁盘标识对应的磁盘的总数量和每个所述磁盘标识对应的磁盘中数据文件的个数,获取所述数据文件的大小。
3.根据权利要求1所述的I/O平衡处理方法,其特征在于,还包括:
接收I/O性能检测请求消息,所述I/O性能检测请求消息包括检测磁盘标识;
当所述磁盘标识为预留磁盘标识时,采用输入输出状态,在设置的抽样时刻点,分别采集数据磁盘中的第一I/O信息,并分别采集预留磁盘中的第二I/O信息;
将各个所述抽样时刻的所述第一I/O信息与所述第二I/O信息进行识别处理和分析处理,获取第一检测结果。
4.根据权利要求3所述的I/O平衡处理方法,其特征在于,所述第一I/O信息和所述第二I/O信息均包括读I/O信息和写I/O信息,所述读I/O信息包括读IOPS信息和读带宽信息;所述写I/O信息包括写IOPS信息和写带宽信息。
5.根据权利要求4所述的I/O平衡处理方法,其特征在于,还包括:
当所磁盘标识为数据磁盘标识时,采用公式Rni’=(Rni-Rna)/Rna,获取每个所述数据磁盘的第一I/O信息中的读I/O信息Rni’;
采用公式Wni’=(Wni-Wna)/Wna,获取每个所述数据磁盘中的第一I/O信息中的写I/O信息Wni’;
采用公式Pn=Krni*|Rni’|+Kwni*|Wni’|,获取加权平均数Pn;
其中,Krni=|Rni’|/(|Rni’|+|Wni’|),Kwni=|Wni’|/(|Rni’|+|Wni’|),n表示抽样时刻,i表示数据磁盘标识,Rni表示在抽样时刻n时第i个数据磁盘的第一I/O信息中的读I/O信息,Rna表示在抽样时刻n所有数据磁盘的第一I/O信息中的读I/O信息的平均值;Wni表示在抽样时刻n时第i个数据磁盘的第一I/O信息中的写I/O信息,Wna表示在抽样时刻n时所有数据磁盘的第一I/O信息中的写I/O信息的平均值。
6.根据权利要求3或5所述的I/O平衡处理方法,其特征在于,还包括:
根据所述第一检测结果和/或所述加权平均数Pn,调整所述存储请求消息和数据库信息;
根据调整后的存储请求消息和数据库信息,生成第二shell脚本,并根据所述第二shell脚本,重新创建数据库。
7.一种I/O平衡处理设备,其特征在于,包括:
划分模块,用于对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘,将N-m个LUN设置为预留磁盘;
接收模块,用于接收存储请求消息,所述存储请求消息包括:数据表、所述数据表的预计容量、所述数据表对应的数据块的大小以及存储所述数据表的磁盘标识;其中,所述数据表包括至少一个数据文件;
I/O平衡处理模块,用于根据所述数据表的预计容量、数据表对应的数据块的大小以及所述磁盘标识对应的磁盘的总数量,获取数据库信息,所述数据库信息包括:所述数据表在每个所述磁盘标识对应的磁盘中的预计容量、每个所述磁盘标识对应的磁盘中数据文件的个数以及所述数据文件的大小;
数据库创建模块,用于根据所述存储请求消息和所述数据库信息,生成第一shell脚本,并根据所述第一shell脚本,创建数据库;
其中,N和m均为整数,且均大于等于1。
8.根据权利要求7所述的I/O平衡处理设备,其特征在于,I/O平衡处理模块包括:
预计容量获取单元,用于根据所述数据表的预计容量和所述磁盘标识对应的磁盘的总数量,获取所述数据表在每个所述磁盘标识对应的磁盘中的预计容量;
数据文件的个数获取单元,用于根据所述数据表对应的数据块的大小,查询数据块大小与单个数据文件最大容量的映射关系,获取所述数据块的大小对应的单个数据文件最大容量;并根据所述数据表的预计容量、所述磁盘标识对应的磁盘的总数量和所述单个数据文件最大容量,获取每个所述磁盘标识对应的磁盘中数据文件的个数;
数据文件的大小获取单元,用于根据所述数据表的预计容量、所述磁盘标识对应的磁盘的总数量和每个所述磁盘标识对应的磁盘中数据文件的个数,获取所述数据文件的大小。
9.根据权利要求7所述的I/O平衡处理设备,其特征在于,所述接收模块还用于接收I/O性能检测请求消息,所述I/O性能检测请求消息包括检测磁盘标识;
则当所述磁盘标识为预留磁盘标识时,所述设备还包括:预留磁盘检测模块,包括:
采集单元,用于采用输入输出状态,在设置的抽样时刻点,分别采集数据磁盘中的第一I/O信息,并分别采集预留磁盘中的第二I/O信息;
检测单元,用于将各个所述抽样时刻的所述第一I/O信息与所述第二I/O信息进行识别处理和分析处理,获取第一检测结果;
其中,所述第一I/O信息和所述第二I/O信息均包括读I/O信息和写I/O信息,所述读I/O信息包括读IOPS信息和读带宽信息;所述写I/O信息包括写IOPS信息和写带宽信息。
10.根据权利要求8所述的I/O平衡处理设备,其特征在于,则当所述磁盘标识为预留磁盘标识时,所述设备还包括:数据磁盘检测模块,包括:
读I/O信息获取单元,用于采用公式Rni’=(Rni-Rna)/Rna,获取每个所述数据磁盘的第一读I/O信息中的读I/O信息Rni’;
写I/O信息获取单元,用于采用公式Wni’=(Wni-Wna)/Wna,获取每个所述数据磁盘中的第一写I/O信息中的写I/O信息Wni’;
加权平均数Pn获取单元,用于采用公式Pn=Krni*|Rni’|+Kwni*|Wni’|,获取加权平均数Ph;
其中,Krni=|Rni’|/(|Rni’|+|Wni’|),Kwni=|Wni’|/(|Rni’|+|Wni’|),n表示抽样时刻,i表示数据磁盘标识,Rni表示在抽样时刻n时第i个数据磁盘的第一I/O信息中的读I/O信息,Rna表示在抽样时刻n所有数据磁盘的第一I/O信息中的读I/O信息的平均值;Wni表示在抽样时刻n时第i个数据磁盘的第一I/O信息中的写I/O信息,Wna表示在抽样时刻n时所有数据磁盘的第一I/O信息中的写I/O信息的平均值。
11.根据权利要求9或10所述的I/O平衡处理设备,其特征在于,还包括:
调整模块,用于根据所述第一检测结果和/或所述加权平均数Pn,调整所述存储请求消息和数据库信息;
则所述数据库创建模块还用于根据调整后的存储请求消息和数据库信息,生成第二shell脚本,并根据所述第二shell脚本,重新创建数据库。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110432300.3A CN102566940B (zh) | 2011-12-21 | 2011-12-21 | I/o平衡处理方法和设备 |
PCT/CN2012/087153 WO2013091570A1 (zh) | 2011-12-21 | 2012-12-21 | I/o平衡处理方法和设备 |
EP12859046.0A EP2674852B1 (en) | 2011-12-21 | 2012-12-21 | I/o balanced processing method and device |
US14/143,729 US9460749B2 (en) | 2011-12-21 | 2013-12-30 | I/O balance processing method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110432300.3A CN102566940B (zh) | 2011-12-21 | 2011-12-21 | I/o平衡处理方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102566940A true CN102566940A (zh) | 2012-07-11 |
CN102566940B CN102566940B (zh) | 2014-11-05 |
Family
ID=46412465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110432300.3A Active CN102566940B (zh) | 2011-12-21 | 2011-12-21 | I/o平衡处理方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9460749B2 (zh) |
EP (1) | EP2674852B1 (zh) |
CN (1) | CN102566940B (zh) |
WO (1) | WO2013091570A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013091570A1 (zh) * | 2011-12-21 | 2013-06-27 | 华为技术有限公司 | I/o平衡处理方法和设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484313B (zh) * | 2015-09-01 | 2019-06-07 | 北京金山云网络技术有限公司 | 数据信息备份方法、数据备份方法及装置 |
US11238107B2 (en) * | 2020-01-06 | 2022-02-01 | International Business Machines Corporation | Migrating data files to magnetic tape according to a query having one or more predefined criterion and one or more query expansion profiles |
CN114610245B (zh) * | 2022-05-09 | 2022-07-26 | 深圳佰维存储科技股份有限公司 | 基于ssd的raid实现方法、装置、可读存储介质及电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007164240A (ja) * | 2005-12-09 | 2007-06-28 | Funai Electric Co Ltd | ファイル管理システムおよびストレージの自動管理方法、並びに自動管理プログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030061362A1 (en) * | 2000-03-03 | 2003-03-27 | Qiu Chaoxin C. | Systems and methods for resource management in information storage environments |
US20020091722A1 (en) | 2000-03-03 | 2002-07-11 | Surgient Networks, Inc. | Systems and methods for resource management in information storage environments |
US8612330B1 (en) * | 2010-09-14 | 2013-12-17 | Amazon Technologies, Inc. | Managing bandwidth for shared resources |
US8595267B2 (en) * | 2011-06-27 | 2013-11-26 | Amazon Technologies, Inc. | System and method for implementing a scalable data storage service |
CN102566940B (zh) * | 2011-12-21 | 2014-11-05 | 华为技术有限公司 | I/o平衡处理方法和设备 |
-
2011
- 2011-12-21 CN CN201110432300.3A patent/CN102566940B/zh active Active
-
2012
- 2012-12-21 EP EP12859046.0A patent/EP2674852B1/en active Active
- 2012-12-21 WO PCT/CN2012/087153 patent/WO2013091570A1/zh active Application Filing
-
2013
- 2013-12-30 US US14/143,729 patent/US9460749B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007164240A (ja) * | 2005-12-09 | 2007-06-28 | Funai Electric Co Ltd | ファイル管理システムおよびストレージの自動管理方法、並びに自動管理プログラム |
Non-Patent Citations (7)
Title |
---|
《医疗卫生装备》 20070930 梁昌明,秦占伟,郑盘根 Asm应用于"军卫一号"数据存储管理的探讨 第43页第1栏第14行-第44页第1栏第27行,第44页第1栏第32行-第44页第2栏第44行,第45页第2栏第2-12行 1-4,6-9,11 第28卷, 第9期 * |
AGRAWAL S ET AL.: "Automating layout of relational databases", 《PROCEEDINGS 19TH.INTERNATIONAL CONFERENCE ON DATA ENGINEERING(ICDE/2003)》 * |
刘让国,蒲宝明,杜圣东,王守能: "基于海量空间数据库的高可用性研究与应用", 《计算机工程》 * |
季宇,曾银龙,张荣: "Oracle数据库中地形数据存储的优化实践", 《地理空间信息》 * |
梁昌明,秦占伟,郑盘根: "Asm应用于"军卫一号"数据存储管理的探讨", 《医疗卫生装备》 * |
马妮,李维功: "ArcSDE for Oracle优化实践", 《测绘通报》 * |
马娜,朱立谷,陈志杰,胡怀湘,易奇,鄢楚平,杨帆: "磁盘阵列性能测试工具研究", 《计算机工程与应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013091570A1 (zh) * | 2011-12-21 | 2013-06-27 | 华为技术有限公司 | I/o平衡处理方法和设备 |
US9460749B2 (en) | 2011-12-21 | 2016-10-04 | Huawei Technologies Co., Ltd. | I/O balance processing method and device |
Also Published As
Publication number | Publication date |
---|---|
US9460749B2 (en) | 2016-10-04 |
WO2013091570A1 (zh) | 2013-06-27 |
US20140111881A1 (en) | 2014-04-24 |
CN102566940B (zh) | 2014-11-05 |
EP2674852A4 (en) | 2014-03-12 |
EP2674852B1 (en) | 2016-11-09 |
EP2674852A1 (en) | 2013-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9665293B2 (en) | Method for a storage device processing data and storage device | |
CN104731896B (zh) | 一种数据处理方法及系统 | |
CN101510145B (zh) | 一种存储系统管理方法和装置 | |
CN102096557B (zh) | 一种独立磁盘冗余阵列的扩容方法、装置及系统 | |
CN105487823A (zh) | 一种数据迁移的方法及装置 | |
CN101840364A (zh) | 一种恢复数据的方法及存储装置 | |
CN103577115B (zh) | 数据的排布处理方法、装置和服务器 | |
CN103076993A (zh) | 一种密集型系统中的存储系统及方法 | |
CN102566940B (zh) | I/o平衡处理方法和设备 | |
CN106873903B (zh) | 数据存储方法及装置 | |
CN110362277B (zh) | 基于混合存储系统的数据分类存储方法 | |
CN101630332B (zh) | 数据存储管理方法、数据存储管理装置和系统 | |
CN109669621A (zh) | 一种文件管理方法、文件管理系统、电子设备及存储介质 | |
US8996805B2 (en) | Shared cache module and method thereof | |
US20130019122A1 (en) | Storage device and alternative storage medium selection method | |
CN103399783A (zh) | 虚拟机的镜像文件的存储方法和装置 | |
CN104461394B (zh) | 一种raid及从其读取数据的方法 | |
CN113778341A (zh) | 遥感数据分布式存储方法和装置及遥感数据读取方法 | |
TW201133231A (en) | Data storage system and synchronizing method for consistency thereof | |
US11989441B2 (en) | Read-disturb-based read temperature identification system | |
US11995340B2 (en) | Read-disturb-based read temperature information access system | |
US11922035B2 (en) | Read-disturb-based read temperature adjustment system | |
US11928354B2 (en) | Read-disturb-based read temperature determination system | |
US11907532B1 (en) | Overlay methods for fast and deterministic RAID relocation supporting disk array growth | |
CN116069266B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |