CN107153513A - 一种分布式系统服务器的存储控制方法、及服务器 - Google Patents
一种分布式系统服务器的存储控制方法、及服务器 Download PDFInfo
- Publication number
- CN107153513A CN107153513A CN201710220244.4A CN201710220244A CN107153513A CN 107153513 A CN107153513 A CN 107153513A CN 201710220244 A CN201710220244 A CN 201710220244A CN 107153513 A CN107153513 A CN 107153513A
- Authority
- CN
- China
- Prior art keywords
- physical disk
- virtual machine
- disk
- small
- small physical
- 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
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000013500 data storage Methods 0.000 claims abstract description 31
- 238000013507 mapping Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 11
- 239000011800 void material Substances 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000036461 convulsion Effects 0.000 claims 1
- 230000008859 change Effects 0.000 description 8
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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/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/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种分布式系统服务器的存储控制方法、及服务器;虚拟机控制器获取小物理磁盘的分配状态,以及J个物理磁盘的活跃程度;在接收到虚拟机创建请求后,确定存储空间需求;选择K个小物理磁盘作为目标物理磁盘;所述K个小物理磁盘各自位于不同的物理磁盘;在所述目标物理磁盘中安装虚拟操作系统构建虚拟机;向所述虚拟机返回物理磁盘的活跃程度;将需要存储的数据拆分为目标数据,将各目标数据分别存储到各小物理磁盘。物理磁盘的标识组成方式,方便后续物理磁盘的查找;可以减少拥塞;另外,还可以减少了数据拥塞的可能性,提高数据存储的并行度,可以提高数据存储的安全性。
Description
技术领域
本发明涉及信息技术领域,特别涉及一种分布式系统服务器的存储控制方法、及服务器。
背景技术
分布式存储系统,是将数据分散存储在多台独立的设备上。
传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。虚拟系统和传统的虚拟机(Parallels Desktop,Vmware,VirtualBox,Virtual pc)不同在于:虚拟系统不会降低电脑的性能,启动虚拟系统不需要像启动windows系统那样耗费时间,运行程序更加方便快捷;虚拟系统只能模拟和现有操作系统相同的环境,而虚拟机则可以模拟出其他种类的操作系统;而且虚拟机需要模拟底层的硬件指令,所以在应用程序运行速度上比虚拟系统慢得多。
在分布式系统存储系统中,需要将数据存储到多个独立的设备上,在这个过程中,经常出现拥塞导致存储速度慢,因此整个数据存储效率较低。
发明内容
本发明实施例提供了一种分布式系统服务器的存储控制方法、及服务器,用于减少数据拥塞的几率,并且提高数据存储的安全性。
一方面本发明实施例提供了一种分布式系统服务器的存储控制方法,应用于包含J个物理磁盘的分布式系统中的服务器,该服务器包含虚拟机控制器,所述J个物理磁盘中每个物理磁盘的存储空间被分为大小相等的小物理磁盘,每个物理磁盘内的小物理磁盘的序号按照地址从低到高排序;所述J个物理磁盘各自具有大物理磁盘标识,各小物理磁盘具有小物理磁盘标识,所述小物理磁盘标识由所述大物理磁盘标识与所述小物理磁盘的序号组合得到,所述方法包括:
所述虚拟机控制器获取小物理磁盘的分配状态,以及所述J个物理磁盘的活跃程度;
所述虚拟机控制器在接收到虚拟机创建请求后,确定将要创建的虚拟机的存储空间需求;依据所述小物理磁盘的分配状态确定处于未分配状态的小物理磁盘;从处于未分配状态的小物理磁盘中选择K个小物理磁盘作为目标物理磁盘,所述K个小物理磁盘的存储空间之和满足所述存储空间需求;所述K为2的L次方,所述L大于或等于3;所述K个小物理磁盘各自位于不同的物理磁盘;
所述虚拟机控制器响应所述虚拟机创建请求在所述目标物理磁盘中安装虚拟操作系统构建虚拟机;
所述虚拟机控制器接收来自所述虚拟机的活跃度查询请求,所述活跃度查询请求由所述虚拟机在启动并运行后,在运行过程中有数据存储需求时发送;
所述虚拟机控制器解析所述活跃度查询请求,获得在所述活跃度查询请求中携带的所述目标物理磁盘中各小物理磁盘的小物理磁盘标识;
所述虚拟机控制器在接收到所述活跃度查询请求后,向所述虚拟机返回所述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度;所述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度用于所述虚拟机将需要存储的数据拆分为大于2且小于或等于K/2个目标数据,按照所述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度从低到高,将各目标数据分别存储到所述目标物理磁盘中的各小物理磁盘。
在一个可选的实现方式中,所述大物理磁盘标识为P位的二进制字符串,所述小物理磁盘标识为Q位的二进制字符串;所述小物理磁盘的序号为位于小磁盘标识的低位部分,每个小物理磁盘的存储空间为R位;所述方法还包括:
所述虚拟机控制器接收所述虚拟机发送的查询请求,在所述查询请求中包含访存操作指定的虚拟地址;所述目标物理磁盘由其包含的各小物理磁盘按照所述各小物理磁盘所在的大物理磁盘标识从低到高依次排序组成,所述虚拟地址以所述目标物理磁盘的起始地址为起始虚拟地址顺序编号获得;在所述虚拟机控制器中存储有地址映射表,所述地址映射表的表项包含:虚拟盘序号、小物理磁盘标识;
所述虚拟机控制器计算所述虚拟地址与所述R的商取整得到所述虚拟地址的虚拟盘序号,计算所述虚拟地址与所述R的商取余得到偏移量;
所述虚拟机控制器查找所述地址映射表获得包含所述虚拟地址的虚拟盘序号的表项,并确定该表项中包含的小物理磁盘标识作为目标小物理磁盘标识:
所述虚拟机控制器截取所述小物理磁盘标识的前P位作为目标大物理磁盘标识,向所述目标大物理磁盘标识对应的物理磁盘发送读请求,在所述读请求中包含所述小物理磁盘标识以及所述偏移量,使所述小物理磁盘标识对应的小物理磁盘返回在所述小物理磁盘的起始位置偏移所述偏移量对应物理地址的数据;
所述虚拟机控制器向所述虚拟机发送所述小物理磁盘标识对应的小物理磁盘返回的数据。
在一个可选的实现方式中,所述虚拟机控制器计算所述虚拟地址与所述R的商取整得到所述虚拟地址的虚拟盘序号,计算所述虚拟地址与所述R的商取余得到偏移量包括:
所述虚拟机控制器截取所述虚拟地址的前R位得到所述虚拟盘序号,截取所述虚拟地址的剩余位得到所述偏移量。
在一个可选的实现方式中,在所述虚拟机被创建之后,所述方法还包括:
所述虚拟机控制器接收虚拟机删除请求,所述虚拟机删除请求用于请求删除所述虚拟机;
所述虚拟机控制器将所述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态,不删除所述目标物理磁盘中包含的各小物理磁盘已经被写入的数据。
在一个可选的实现方式中,在所述虚拟机控制器将所述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态之后,所述方法还包括:
所述虚拟机控制器记录所述目标物理磁盘中包含的各小物理磁盘,在下一次创建新虚拟机时,以随机方式获取所述新虚拟机所需的小物理磁盘,并确定获取到的小物理磁盘中少于或等于两个小物理磁盘属于所述目标物理磁盘中包含的小物理磁盘。
二方面本发明实施例提供了一种服务器,该服务器包含虚拟机控制器,应用于包含所述虚拟机控制器、虚拟机和J个物理磁盘的分布式存储系统;所述J个物理磁盘中每个物理磁盘的存储空间被分为大小相等的小物理磁盘,每个物理磁盘内的小物理磁盘的序号按照地址从低到高排序;所述J个物理磁盘各自具有大物理磁盘标识,各小物理磁盘具有小物理磁盘标识,所述小物理磁盘标识由所述大物理磁盘标识与所述小物理磁盘的序号组合得到,所述虚拟机控制器包括:
监测单元,用于获取小物理磁盘的分配状态,以及所述J个物理磁盘的活跃程度;
接收单元,用于接收虚拟机创建请求;接收来自所述虚拟机的活跃度查询请求;所述活跃度查询请求由所述虚拟机在启动并运行后,在运行过程中有数据存储需求时发送;
处理器单元,用于在接收到虚拟机创建请求后,确定将要创建的虚拟机的存储空间需求;依据所述小物理磁盘的分配状态确定处于未分配状态的小物理磁盘;从处于未分配状态的小物理磁盘中选择K个小物理磁盘作为目标物理磁盘,所述K个小物理磁盘的存储空间之和满足所述存储空间需求;所述K为2的L次方,所述L大于或等于3;所述K个小物理磁盘各自位于不同的物理磁盘;响应所述虚拟机创建请求在所述目标物理磁盘中安装虚拟操作系统构建虚拟机;解析所述活跃度查询请求,获得在所述活跃度查询请求中携带的所述目标物理磁盘中各小物理磁盘的小物理磁盘标识;
发送单元,用于向所述虚拟机返回所述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度;所述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度用于所述虚拟机将需要存储的数据拆分为大于2且小于或等于K/2个目标数据,按照所述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度从低到高,将各目标数据分别存储到所述目标物理磁盘中的各小物理磁盘。
在一个可选的实现方式中,所述大物理磁盘标识为P位的二进制字符串,所述小物理磁盘标识为Q位的二进制字符串;所述小物理磁盘的序号为位于小磁盘标识的低位部分,每个小物理磁盘的存储空间为R位;
所述接收单元,还用于接收所述虚拟机发送的查询请求,在所述查询请求中包含访存操作指定的虚拟地址;所述目标物理磁盘由其包含的各小物理磁盘按照所述各小物理磁盘所在的大物理磁盘标识从低到高依次排序组成,所述虚拟地址以所述目标物理磁盘的起始地址为起始虚拟地址顺序编号获得;在所述虚拟机控制器中存储有地址映射表,所述地址映射表的表项包含:虚拟盘序号、小物理磁盘标识;
所述处理器单元,还用于计算所述虚拟地址与所述R的商取整得到所述虚拟地址的虚拟盘序号,计算所述虚拟地址与所述R的商取余得到偏移量;查找所述地址映射表获得包含所述虚拟地址的虚拟盘序号的表项,并确定该表项中包含的小物理磁盘标识作为目标小物理磁盘标识;截取所述小物理磁盘标识的前P位作为目标大物理磁盘标识;
所述发送单元,还用于向所述目标大物理磁盘标识对应的物理磁盘发送读请求,在所述读请求中包含所述小物理磁盘标识以及所述偏移量,使所述小物理磁盘标识对应的小物理磁盘返回在所述小物理磁盘的起始位置偏移所述偏移量对应物理地址的数据;向所述虚拟机发送所述小物理磁盘标识对应的小物理磁盘返回的数据。
在一个可选的实现方式中,所述处理器单元,用于计算所述虚拟地址与所述R的商取整得到所述虚拟地址的虚拟盘序号,计算所述虚拟地址与所述R的商取余得到偏移量包括:
截取所述虚拟地址的前R位得到所述虚拟盘序号,截取所述虚拟地址的剩余位得到所述偏移量。
在一个可选的实现方式中,所述接收单元,还用于在所述虚拟机被创建之后,接收虚拟机删除请求,所述虚拟机删除请求用于请求删除所述虚拟机;
所述处理器单元,还用于将所述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态,不删除所述目标物理磁盘中包含的各小物理磁盘已经被写入的数据。
在一个可选的实现方式中,所述处理器单元,还用于在所述虚拟机控制器将所述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态之后,记录所述目标物理磁盘中包含的各小物理磁盘,在下一次创建新虚拟机时,以随机方式获取所述新虚拟机所需的小物理磁盘,并确定获取到的小物理磁盘中少于或等于两个小物理磁盘属于所述目标物理磁盘中包含的小物理磁盘。
从以上技术方案可以看出,本发明实施例具有以下优点:特别设定了物理磁盘的标识组成方式,方便后续物理磁盘的查找;另外,虚拟机的物理磁盘分配过程中充分考虑了各物理磁盘的活跃度,使得虚拟机能够分配到较为合适的物理磁盘,相对较为不活跃的磁盘可以减少拥塞;另外,将需要存储的数据进行了拆分,按照物理磁盘的活跃度再次进行数据分配,一方面进一步减少了数据拥塞的可能性,提高数据存储的并行度,另外还能够降低数据被整体存储到同一小物理磁盘导致可能被窃取的可能性,因此可以提高数据存储的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例方法流程示意图;
图2为本发明实施例小物理磁盘标识组成结构示意图;
图3为本发明实施例系统结构示意图;
图4为本发明实施例服务器结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供了一种分布式系统服务器的存储控制方法,应用于包含J个物理磁盘的分布式系统中的服务器,该服务器包含虚拟机控制器,上述J个物理磁盘中每个物理磁盘的存储空间被分为大小相等的小物理磁盘,每个物理磁盘内的小物理磁盘的序号按照地址从低到高排序;上述J个物理磁盘各自具有大物理磁盘标识,各小物理磁盘具有小物理磁盘标识,上述小物理磁盘标识由上述大物理磁盘标识与上述小物理磁盘的序号组合得到,如图1所示,包括:
小物理磁盘标识的结构请参阅图2所示;
101:上述虚拟机控制器获取小物理磁盘的分配状态,以及上述J个物理磁盘的活跃程度;
活跃程度可以用物理磁盘当前或者综合历史数据统计得到的平均数据吞吐量,或者平均数据吞吐量占对应物理磁盘的数据存储能力的比例。越活跃的物理磁盘其数据存储压力越大,形成拥塞的可能性也将会越大。
102:上述虚拟机控制器在接收到虚拟机创建请求后,确定将要创建的虚拟机的存储空间需求;依据上述小物理磁盘的分配状态确定处于未分配状态的小物理磁盘;从处于未分配状态的小物理磁盘中选择K个小物理磁盘作为目标物理磁盘,上述K个小物理磁盘的存储空间之和满足上述存储空间需求;上述K为2的L次方,上述L大于或等于3;上述K个小物理磁盘各自位于不同的物理磁盘;
虚拟机创建请求可以是任意设备发出的,假定我们的系统应用于大型公司员工的虚拟机创建,那么可以是管理者发出的。对于不同的虚拟机可能会有不同的存储空间需求,例如:做业务的员工和做软件开发的员工,对存储空间的需求是不一样的。在本实施例中,可以假定每个小物理磁盘是500K,假定需要5000K的存储空间,那么可以分成10个小物理磁盘。这10个小物理磁盘从那些相对较为空闲的物理磁盘中选取。由于不同的虚拟机被使用的可能性是不同的,因此通过对小物理磁盘的选择性分配可以达到第一次均衡。
103:上述虚拟机控制器响应上述虚拟机创建请求在上述目标物理磁盘中安装虚拟操作系统构建虚拟机;
在虚拟机被创建以后,虚拟机的操作系统被安装,那么将会成为一个真正的虚拟机。虚拟机会获知自己被分配的目标物理磁盘,以及这些目标物理磁盘所处的位置。
104:上述虚拟机控制器接收来自上述虚拟机的活跃度查询请求,上述活跃度查询请求由上述虚拟机在启动并运行后,在运行过程中有数据存储需求时发送;
105:上述虚拟机控制器解析上述活跃度查询请求,获得在上述活跃度查询请求中携带的上述目标物理磁盘中各小物理磁盘的小物理磁盘标识;上述虚拟机控制器在接收到上述活跃度查询请求后,向上述虚拟机返回上述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度;
106:上述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度用于上述虚拟机将需要存储的数据拆分为大于2且小于或等于K/2个目标数据,按照上述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度从低到高,将各目标数据分别存储到上述目标物理磁盘中的各小物理磁盘。
本步骤中,设定目标数据的数量,一方面可以保持数据被分的目标数据较多,提高安全性和存储并行度;另一方面考虑到需要存储到那些比较空闲的物理磁盘中,减少出现拥塞的可能性。
在本发明实施例中,特别设定了物理磁盘的标识组成方式,方便后续物理磁盘的查找;另外,虚拟机的物理磁盘分配过程中充分考虑了各物理磁盘的活跃度,使得虚拟机能够分配到较为合适的物理磁盘,相对较为不活跃的磁盘可以减少拥塞;另外,将需要存储的数据进行了拆分,按照物理磁盘的活跃度再次进行数据分配,一方面进一步减少了数据拥塞的可能性,提高数据存储的并行度,另外还能够降低数据被整体存储到同一小物理磁盘导致可能被窃取的可能性,因此可以提高数据存储的安全性。
优选地,如图2所示,上述虚拟机控制器接收上述虚拟机发送的查询请求,在上述查询请求中包含访存操作指定的虚拟地址;上述目标物理磁盘由其包含的各小物理磁盘按照上述各小物理磁盘所在的大物理磁盘标识从低到高依次排序组成,上述虚拟地址以上述目标物理磁盘的起始地址为起始虚拟地址顺序编号获得;在上述虚拟机控制器中存储有地址映射表,上述地址映射表的表项包含:虚拟盘序号、小物理磁盘标识;
上述虚拟机控制器计算上述虚拟地址与上述R的商取整得到上述虚拟地址的虚拟盘序号,计算上述虚拟地址与上述R的商取余得到偏移量;
上述虚拟机控制器查找上述地址映射表获得包含上述虚拟地址的虚拟盘序号的表项,并确定该表项中包含的小物理磁盘标识作为目标小物理磁盘标识;
上述虚拟机控制器截取上述小物理磁盘标识的前P位作为目标大物理磁盘标识,向上述目标大物理磁盘标识对应的物理磁盘发送读请求,在上述读请求中包含上述小物理磁盘标识以及上述偏移量,使上述小物理磁盘标识对应的小物理磁盘返回在上述小物理磁盘的起始位置偏移上述偏移量对应物理地址的数据;
上述虚拟机控制器向上述虚拟机发送上述小物理磁盘标识对应的小物理磁盘返回的数据。
在本实施例中,设定了一个特别的大物理磁盘标识、小物理磁盘标识,这样可以设定一个地址映射表,方便后续迅速查到到对应的物理磁盘。由于在目标物理磁盘中,虚拟机会认为改目标物理磁盘是一个真实的物理磁盘,这样地址应该是目标物理磁盘中是连续的,然而实际上目标物理磁盘中的存储空间位于不同的物理磁盘,因此物理地址实际上是不同的;因此需要对虚拟地址进行转换;虚拟地址的使用是为了在虚拟机中方便应用,例如:软件编程等。虚拟地址是把上述目标物理磁盘看作是一个整体的物理磁盘后获得的地址,因为该虚拟地址并不与实际的物理磁盘地址对应,因此称为虚拟地址。通过本发明实施例方案,可以迅速查到的对应的物理磁盘和对应的物理地址,因此可以快速存储数据,相应地,也可以快速读取数据。
进一步地,鉴于本发明实施例所设定的特殊映射表,本发明实施例可以使用如下方式进行计算:上述虚拟机控制器计算上述虚拟地址与上述R的商取整得到上述虚拟地址的虚拟盘序号,计算上述虚拟地址与上述R的商取余得到偏移量包括:
上述虚拟机控制器截取上述虚拟地址的前R位得到上述虚拟盘序号,截取上述虚拟地址的剩余位得到上述偏移量。
本发明实施例使用截取的方式得到结果,可以减少大量的逻辑运算,因此可以减少运算量,提高数据存储的效率。
进一步地,本发明实施例还提供了虚拟机删除的方案,如下:在上述虚拟机被创建之后,上述方法还包括:
上述虚拟机控制器接收虚拟机删除请求,上述虚拟机删除请求用于请求删除上述虚拟机;
上述虚拟机控制器将上述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态,不删除上述目标物理磁盘中包含的各小物理磁盘已经被写入的数据。
在本发明实施例中,由于数据存储的方式是将数据拆分了存储,这样安全性较高,在删除虚拟机的时候,可以仅标记小物理磁盘的分配状态,不进行数据删除操作;一方面可以保证数据安全性,另一方面还可以减少物理磁盘的擦写次数,提高物理磁盘的寿命。
本发明实施例还提供了后续再次分配物理磁盘的可选实现方案,如下:在上述虚拟机控制器将上述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态之后,上述方法还包括:
上述虚拟机控制器记录上述目标物理磁盘中包含的各小物理磁盘,在下一次创建新虚拟机时,以随机方式获取上述新虚拟机所需的小物理磁盘,并确定获取到的小物理磁盘中少于或等于两个小物理磁盘属于上述目标物理磁盘中包含的小物理磁盘。
采用本实施例方案,可以进一步提高数据安全性。这是基于数据被存储到多个物理磁盘,虽然这些小物理磁盘中的数据并不具有连续性,但是如果这些物理磁盘又被分配到同一虚拟机,鉴于本发明实施例所使用的特殊小物理磁盘组成目标物理磁盘的方案,则有可能被恢复出来;为了避免这种情况的发生,提出了本实施例实现方案。
本发明实施例还提供了一种分布式存储系统,如图3所示,可以一并参阅图1所示,包括:虚拟机控制器、虚拟机和J个物理磁盘;上述J个物理磁盘中每个物理磁盘的存储空间被分为大小相等的小物理磁盘,每个物理磁盘内的小物理磁盘的序号按照地址从低到高排序;上述J个物理磁盘各自具有大物理磁盘标识,各小物理磁盘具有小物理磁盘标识,上述小物理磁盘标识由上述大物理磁盘标识与上述小物理磁盘的序号组合得到,其特征在于,
上述虚拟机控制器,用于获取小物理磁盘的分配状态,以及上述J个物理磁盘的活跃程度;在接收到虚拟机创建请求后,确定将要创建的虚拟机的存储空间需求;依据上述小物理磁盘的分配状态确定处于未分配状态的小物理磁盘;从处于未分配状态的小物理磁盘中选择K个小物理磁盘作为目标物理磁盘,上述K个小物理磁盘的存储空间之和满足上述存储空间需求;上述K大于或等于8;上述K个小物理磁盘各自位于不同的物理磁盘;响应上述虚拟机创建请求在上述目标物理磁盘中安装虚拟操作系统构建虚拟机;
上述虚拟机,用于启动并运行,在上述虚拟机运行过程中若有数据存储需求,则向上述虚拟机控制器发送活跃度查询请求,在上述活跃度查询请求中携带上述目标物理磁盘中各小物理磁盘的小物理磁盘标识;
上述虚拟机控制器,还用于在接收到上述活跃度查询请求后,向上述虚拟机返回上述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度;将需要存储的数据拆分为大于2且小于或等于K/2个目标数据,按照上述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度从低到高,将各目标数据分别存储到上述目标物理磁盘中的各小物理磁盘。
小物理磁盘标识的结构请参阅图2所示;
活跃程度可以用物理磁盘当前或者综合历史数据统计得到的平均数据吞吐量,或者平均数据吞吐量占对应物理磁盘的数据存储能力的比例。越活跃的物理磁盘其数据存储压力越大,形成拥塞的可能性也将会越大。
虚拟机创建请求可以是任意设备发出的,假定我们的系统应用于大型公司员工的虚拟机创建,那么可以是管理者发出的。对于不同的虚拟机可能会有不同的存储空间需求,例如:做业务的员工和做软件开发的员工,对存储空间的需求是不一样的。在本实施例中,可以假定每个小物理磁盘是500K,假定需要5000K的存储空间,那么可以分成10个小物理磁盘。这10个小物理磁盘从那些相对较为空闲的物理磁盘中选取。由于不同的虚拟机被使用的可能性是不同的,因此通过对小物理磁盘的选择性分配可以达到第一次均衡。
在虚拟机被创建以后,虚拟机的操作系统被安装,那么将会成为一个真正的虚拟机。虚拟机会获知自己被分配的目标物理磁盘,以及这些目标物理磁盘所处的位置。
本实施例中,设定目标数据的数量,一方面可以保持数据被分的目标数据较多,提高安全性和存储并行度;另一方面考虑到需要存储到那些比较空闲的物理磁盘中,减少出现拥塞的可能性。
在本发明实施例中,特别设定了物理磁盘的标识组成方式,方便后续物理磁盘的查找;另外,虚拟机的物理磁盘分配过程中充分考虑了各物理磁盘的活跃度,使得虚拟机能够分配到较为合适的物理磁盘,相对较为不活跃的磁盘可以减少拥塞;另外,将需要存储的数据进行了拆分,按照物理磁盘的活跃度再次进行数据分配,一方面进一步减少了数据拥塞的可能性,提高数据存储的并行度,另外还能够降低数据被整体存储到同一小物理磁盘导致可能被窃取的可能性,因此可以提高数据存储的安全性。
优选地,如图2所示,上述大物理磁盘标识为P位的二进制字符串,上述小物理磁盘标识为Q位的二进制字符串;上述小物理磁盘的序号为位于小磁盘标识的低位部分,每个小物理磁盘的存储空间为R位;
上述虚拟机,还用于在确定需要进行访存操作后,确定上述访存操作指定的虚拟地址;上述目标物理磁盘由其包含的各小物理磁盘按照上述各小物理磁盘所在的大物理磁盘标识从低到高依次排序组成,上述虚拟地址以上述目标物理磁盘的起始地址为起始虚拟地址顺序编号获得;在上述虚拟机中存储有地址映射表,上述地址映射表的表项包含;虚拟盘序号、小物理磁盘标识;计算上述虚拟地址与上述R的商取整得到上述虚拟地址的虚拟盘序号,计算上述虚拟地址与上述R的商取余得到偏移量;查找上述地址映射表获得包含上述虚拟地址的虚拟盘序号的表项,并确定该表项中包含的小物理磁盘标识作为目标小物理磁盘标识;截取上述小物理磁盘标识的前P位作为目标大物理磁盘标识,向上述目标大物理磁盘标识对应的物理磁盘发送读请求,在上述读请求中包含上述小物理磁盘标识以及上述偏移量,使上述小物理磁盘标识对应的小物理磁盘返回在上述小物理磁盘的起始位置偏移上述偏移量对应物理地址的数据。
在本实施例中,设定了一个特别的大物理磁盘标识、小物理磁盘标识,这样可以设定一个地址映射表,方便后续迅速查到到对应的物理磁盘。由于在目标物理磁盘中,虚拟机会认为改目标物理磁盘是一个真实的物理磁盘,这样地址应该是目标物理磁盘中是连续的,然而实际上目标物理磁盘中的存储空间位于不同的物理磁盘,因此物理地址实际上是不同的;因此需要对虚拟地址进行转换;虚拟地址的使用是为了在虚拟机中方便应用,例如:软件编程等。虚拟地址是把上述目标物理磁盘看作是一个整体的物理磁盘后获得的地址,因为该虚拟地址并不与实际的物理磁盘地址对应,因此称为虚拟地址。通过本发明实施例方案,可以迅速查到的对应的物理磁盘和对应的物理地址,因此可以快速存储数据,相应地,也可以快速读取数据。
进一步地,鉴于本发明实施例所设定的特殊映射表,本发明实施例可以使用如下方式进行计算:上述虚拟机,用于计算上述虚拟地址与上述R的商取整得到上述虚拟地址的虚拟盘序号,计算上述虚拟地址与上述R的商取余得到偏移量包括:
截取上述虚拟地址的前R位得到上述虚拟盘序号,截取上述虚拟地址的剩余位得到上述偏移量。
本发明实施例使用截取的方式得到结果,可以减少大量的逻辑运算,因此可以减少运算量,提高数据存储的效率。
进一步地,本发明实施例还提供了虚拟机删除的方案,如下:上述虚拟机控制器,还用于在上述虚拟机被创建之后,接收虚拟机删除请求,上述虚拟机删除请求用于请求删除上述虚拟机;将上述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态,不删除上述目标物理磁盘中包含的各小物理磁盘已经被写入的数据。
在本发明实施例中,由于数据存储的方式是将数据拆分了存储,这样安全性较高,在删除虚拟机的时候,可以仅标记小物理磁盘的分配状态,不进行数据删除操作;一方面可以保证数据安全性,另一方面还可以减少物理磁盘的擦写次数,提高物理磁盘的寿命。
本发明实施例还提供了后续再次分配物理磁盘的可选实现方案,如下:上述虚拟机控制器,还用于在将上述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态之后,记录上述目标物理磁盘中包含的各小物理磁盘,在下一次创建新虚拟机时,以随机方式获取上述新虚拟机所需的小物理磁盘,并确定获取到的小物理磁盘中少于或等于两个小物理磁盘属于上述目标物理磁盘中包含的小物理磁盘。
采用本实施例方案,可以进一步提高数据安全性。这是基于数据被存储到多个物理磁盘,虽然这些小物理磁盘中的数据并不具有连续性,但是如果这些物理磁盘又被分配到同一虚拟机,鉴于本发明实施例所使用的特殊小物理磁盘组成目标物理磁盘的方案,则有可能被恢复出来;为了避免这种情况的发生,提出了本实施例实现方案。
本发明实施例还提供了一种服务器,该服务器包含虚拟机控制器,应用于包含上述虚拟机控制器、虚拟机和J个物理磁盘的分布式存储系统;上述J个物理磁盘中每个物理磁盘的存储空间被分为大小相等的小物理磁盘,每个物理磁盘内的小物理磁盘的序号按照地址从低到高排序;上述J个物理磁盘各自具有大物理磁盘标识,各小物理磁盘具有小物理磁盘标识,上述小物理磁盘标识由上述大物理磁盘标识与上述小物理磁盘的序号组合得到,如图4所示,上述虚拟机控制器包括:
监测单元401,用于获取小物理磁盘的分配状态,以及上述J个物理磁盘的活跃程度;
接收单元402,用于接收虚拟机创建请求;接收来自上述虚拟机的活跃度查询请求;上述活跃度查询请求由上述虚拟机在启动并运行后,在运行过程中有数据存储需求时发送;
处理器单元403,用于在接收到虚拟机创建请求后,确定将要创建的虚拟机的存储空间需求;依据上述小物理磁盘的分配状态确定处于未分配状态的小物理磁盘;从处于未分配状态的小物理磁盘中选择K个小物理磁盘作为目标物理磁盘,上述K个小物理磁盘的存储空间之和满足上述存储空间需求;上述K为2的L次方,上述L大于或等于3;上述K个小物理磁盘各自位于不同的物理磁盘;响应上述虚拟机创建请求在上述目标物理磁盘中安装虚拟操作系统构建虚拟机;解析上述活跃度查询请求,获得在上述活跃度查询请求中携带的上述目标物理磁盘中各小物理磁盘的小物理磁盘标识;
发送单元404,用于向上述虚拟机返回上述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度;上述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度用于上述虚拟机将需要存储的数据拆分为大于2且小于或等于K/2个目标数据,按照上述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度从低到高,将各目标数据分别存储到上述目标物理磁盘中的各小物理磁盘。
小物理磁盘标识的结构请参阅图2所示;
活跃程度可以用物理磁盘当前或者综合历史数据统计得到的平均数据吞吐量,或者平均数据吞吐量占对应物理磁盘的数据存储能力的比例。越活跃的物理磁盘其数据存储压力越大,形成拥塞的可能性也将会越大。
虚拟机创建请求可以是任意设备发出的,假定我们的系统应用于大型公司员工的虚拟机创建,那么可以是管理者发出的。对于不同的虚拟机可能会有不同的存储空间需求,例如:做业务的员工和做软件开发的员工,对存储空间的需求是不一样的。在本实施例中,可以假定每个小物理磁盘是500K,假定需要5000K的存储空间,那么可以分成10个小物理磁盘。这10个小物理磁盘从那些相对较为空闲的物理磁盘中选取。由于不同的虚拟机被使用的可能性是不同的,因此通过对小物理磁盘的选择性分配可以达到第一次均衡。
在虚拟机被创建以后,虚拟机的操作系统被安装,那么将会成为一个真正的虚拟机。虚拟机会获知自己被分配的目标物理磁盘,以及这些目标物理磁盘所处的位置。
本实施例中,设定目标数据的数量,一方面可以保持数据被分的目标数据较多,提高安全性和存储并行度;另一方面考虑到需要存储到那些比较空闲的物理磁盘中,减少出现拥塞的可能性。
在本发明实施例中,特别设定了物理磁盘的标识组成方式,方便后续物理磁盘的查找;另外,虚拟机的物理磁盘分配过程中充分考虑了各物理磁盘的活跃度,使得虚拟机能够分配到较为合适的物理磁盘,相对较为不活跃的磁盘可以减少拥塞;另外,将需要存储的数据进行了拆分,按照物理磁盘的活跃度再次进行数据分配,一方面进一步减少了数据拥塞的可能性,提高数据存储的并行度,另外还能够降低数据被整体存储到同一小物理磁盘导致可能被窃取的可能性,因此可以提高数据存储的安全性。
优选地,如图2所示,上述大物理磁盘标识为P位的二进制字符串,上述小物理磁盘标识为Q位的二进制字符串;上述小物理磁盘的序号为位于小磁盘标识的低位部分,每个小物理磁盘的存储空间为R位;
上述接收单元402,还用于接收上述虚拟机发送的查询请求,在上述查询请求中包含访存操作指定的虚拟地址;上述目标物理磁盘由其包含的各小物理磁盘按照上述各小物理磁盘所在的大物理磁盘标识从低到高依次排序组成,上述虚拟地址以上述目标物理磁盘的起始地址为起始虚拟地址顺序编号获得;在上述虚拟机控制器中存储有地址映射表,上述地址映射表的表项包含:虚拟盘序号、小物理磁盘标识;
上述处理器单元403,还用于计算上述虚拟地址与上述R的商取整得到上述虚拟地址的虚拟盘序号,计算上述虚拟地址与上述R的商取余得到偏移量;查找上述地址映射表获得包含上述虚拟地址的虚拟盘序号的表项,并确定该表项中包含的小物理磁盘标识作为目标小物理磁盘标识;截取上述小物理磁盘标识的前P位作为目标大物理磁盘标识;
所述发送单元404,还用于向上述目标大物理磁盘标识对应的物理磁盘发送读请求,在上述读请求中包含上述小物理磁盘标识以及上述偏移量,使上述小物理磁盘标识对应的小物理磁盘返回在上述小物理磁盘的起始位置偏移上述偏移量对应物理地址的数据;向上述虚拟机发送上述小物理磁盘标识对应的小物理磁盘返回的数据。
在本实施例中,设定了一个特别的大物理磁盘标识、小物理磁盘标识,这样可以设定一个地址映射表,方便后续迅速查到到对应的物理磁盘。由于在目标物理磁盘中,虚拟机会认为改目标物理磁盘是一个真实的物理磁盘,这样地址应该是目标物理磁盘中是连续的,然而实际上目标物理磁盘中的存储空间位于不同的物理磁盘,因此物理地址实际上是不同的;因此需要对虚拟地址进行转换;虚拟地址的使用是为了在虚拟机中方便应用,例如:软件编程等。虚拟地址是把上述目标物理磁盘看作是一个整体的物理磁盘后获得的地址,因为该虚拟地址并不与实际的物理磁盘地址对应,因此称为虚拟地址。通过本发明实施例方案,可以迅速查到的对应的物理磁盘和对应的物理地址,因此可以快速存储数据,相应地,也可以快速读取数据。
进一步地,鉴于本发明实施例所设定的特殊映射表,本发明实施例可以使用如下方式进行计算:上述处理器单元403,用于计算上述虚拟地址与上述R的商取整得到上述虚拟地址的虚拟盘序号,计算上述虚拟地址与上述R的商取余得到偏移量包括:
截取上述虚拟地址的前R位得到上述虚拟盘序号,截取上述虚拟地址的剩余位得到上述偏移量。
本发明实施例使用截取的方式得到结果,可以减少大量的逻辑运算,因此可以减少运算量,提高数据存储的效率。
进一步地,本发明实施例还提供了虚拟机删除的方案,如下:上述接收单元402,还用于在上述虚拟机被创建之后,接收虚拟机删除请求,上述虚拟机删除请求用于请求删除上述虚拟机;
上述处理器单元403,还用于将上述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态,不删除上述目标物理磁盘中包含的各小物理磁盘已经被写入的数据。
在本发明实施例中,由于数据存储的方式是将数据拆分了存储,这样安全性较高,在删除虚拟机的时候,可以仅标记小物理磁盘的分配状态,不进行数据删除操作;一方面可以保证数据安全性,另一方面还可以减少物理磁盘的擦写次数,提高物理磁盘的寿命。
本发明实施例还提供了后续再次分配物理磁盘的可选实现方案,如下:上述处理器单元403,还用于在上述虚拟机控制器将上述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态之后,记录上述目标物理磁盘中包含的各小物理磁盘,在下一次创建新虚拟机时,以随机方式获取上述新虚拟机所需的小物理磁盘,并确定获取到的小物理磁盘中少于或等于两个小物理磁盘属于上述目标物理磁盘中包含的小物理磁盘。
采用本实施例方案,可以进一步提高数据安全性。这是基于数据被存储到多个物理磁盘,虽然这些小物理磁盘中的数据并不具有连续性,但是如果这些物理磁盘又被分配到同一虚拟机,鉴于本发明实施例所使用的特殊小物理磁盘组成目标物理磁盘的方案,则有可能被恢复出来;为了避免这种情况的发生,提出了本实施例实现方案。
本领域普通技术人员可以理解实现上述各方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种分布式系统虚拟机控制器的存储控制方法,其特征在于,应用于包含J个物理磁盘的分布式系统中的虚拟机控制器,所述虚拟机控制器包含虚拟机控制器,所述J个物理磁盘中每个物理磁盘的存储空间被分为大小相等的小物理磁盘,每个物理磁盘内的小物理磁盘的序号按照地址从低到高排序;所述J个物理磁盘各自具有大物理磁盘标识,各小物理磁盘具有小物理磁盘标识,所述小物理磁盘标识由所述大物理磁盘标识与所述小物理磁盘的序号组合得到,所述方法包括:所述方法包括:
所述虚拟机控制器获取小物理磁盘的分配状态,以及所述J个物理磁盘的活跃程度;
所述虚拟机控制器在接收到虚拟机创建请求后,确定将要创建的虚拟机的存储空间需求;依据所述小物理磁盘的分配状态确定处于未分配状态的小物理磁盘;从处于未分配状态的小物理磁盘中选择K个小物理磁盘作为目标物理磁盘,所述K个小物理磁盘的存储空间之和满足所述存储空间需求;所述K为2的L次方,所述L大于或等于3;所述K个小物理磁盘各自位于不同的物理磁盘;
所述虚拟机控制器响应所述虚拟机创建请求在所述目标物理磁盘中安装虚拟操作系统构建虚拟机;
所述虚拟机控制器接收来自所述虚拟机的活跃度查询请求,所述活跃度查询请求由所述虚拟机在启动并运行后,在运行过程中有数据存储需求时发送;
所述虚拟机控制器解析所述活跃度查询请求,获得在所述活跃度查询请求中携带的所述目标物理磁盘中各小物理磁盘的小物理磁盘标识;
所述虚拟机控制器在接收到所述活跃度查询请求后,向所述虚拟机返回所述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度;所述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度用于所述虚拟机将需要存储的数据拆分为大于2且小于或等于K/2个目标数据,按照所述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度从低到高,将各目标数据分别存储到所述目标物理磁盘中的各小物理磁盘。
2.根据权利要求1所述方法,其特征在于,所述大物理磁盘标识为P位的二进制字符串,所述小物理磁盘标识为Q位的二进制字符串;所述小物理磁盘的序号为位于小磁盘标识的低位部分,每个小物理磁盘的存储空间为R位;所述方法还包括:
所述虚拟机控制器接收所述虚拟机发送的查询请求,在所述查询请求中包含访存操作指定的虚拟地址;所述目标物理磁盘由其包含的各小物理磁盘按照所述各小物理磁盘所在的大物理磁盘标识从低到高依次排序组成,所述虚拟地址以所述目标物理磁盘的起始地址为起始虚拟地址顺序编号获得;在所述虚拟机控制器中存储有地址映射表,所述地址映射表的表项包含:虚拟盘序号、小物理磁盘标识;
所述虚拟机控制器计算所述虚拟地址与所述R的商取整得到所述虚拟地址的虚拟盘序号,计算所述虚拟地址与所述R的商取余得到偏移量;
所述虚拟机控制器查找所述地址映射表获得包含所述虚拟地址的虚拟盘序号的表项,并确定该表项中包含的小物理磁盘标识作为目标小物理磁盘标识;
所述虚拟机控制器截取所述小物理磁盘标识的前P位作为目标大物理磁盘标识,向所述目标大物理磁盘标识对应的物理磁盘发送读请求,在所述读请求中包含所述小物理磁盘标识以及所述偏移量,使所述小物理磁盘标识对应的小物理磁盘返回在所述小物理磁盘的起始位置偏移所述偏移量对应物理地址的数据;
所述虚拟机控制器向所述虚拟机发送所述小物理磁盘标识对应的小物理磁盘返回的数据。
3.根据权利要求2所述方法,其特征在于,所述虚拟机控制器计算所述虚拟地址与所述R的商取整得到所述虚拟地址的虚拟盘序号,计算所述虚拟地址与所述R的商取余得到偏移量包括:
所述虚拟机控制器截取所述虚拟地址的前R位得到所述虚拟盘序号,截取所述虚拟地址的剩余位得到所述偏移量。
4.根据权利要求1至3任意一项所述方法,其特征在于,在所述虚拟机被创建之后,所述方法还包括:
所述虚拟机控制器接收虚拟机删除请求,所述虚拟机删除请求用于请求删除所述虚拟机;
所述虚拟机控制器将所述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态,不删除所述目标物理磁盘中包含的各小物理磁盘已经被写入的数据。
5.根据权利要求4所述方法,其特征在于,在所述虚拟机控制器将所述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态之后,所述方法还包括:
所述虚拟机控制器记录所述目标物理磁盘中包含的各小物理磁盘,在下一次创建新虚拟机时,以随机方式获取所述新虚拟机所需的小物理磁盘,并确定获取到的小物理磁盘中少于或等于两个小物理磁盘属于所述目标物理磁盘中包含的小物理磁盘。
6.一种服务器,所述服务器包含虚拟机控制器,应用于包含所述虚拟机控制器、虚拟机和J个物理磁盘的分布式存储系统;所述J个物理磁盘中每个物理磁盘的存储空间被分为大小相等的小物理磁盘,每个物理磁盘内的小物理磁盘的序号按照地址从低到高排序;所述J个物理磁盘各自具有大物理磁盘标识,各小物理磁盘具有小物理磁盘标识,所述小物理磁盘标识由所述大物理磁盘标识与所述小物理磁盘的序号组合得到,其特征在于,所述虚拟机控制器包括:
监测单元,用于获取小物理磁盘的分配状态,以及所述J个物理磁盘的活跃程度;
接收单元,用于接收虚拟机创建请求;接收来自所述虚拟机的活跃度查询请求;所述活跃度查询请求由所述虚拟机在启动并运行后,在运行过程中有数据存储需求时发送;
处理器单元,用于在接收到虚拟机创建请求后,确定将要创建的虚拟机的存储空间需求;依据所述小物理磁盘的分配状态确定处于未分配状态的小物理磁盘;从处于未分配状态的小物理磁盘中选择K个小物理磁盘作为目标物理磁盘,所述K个小物理磁盘的存储空间之和满足所述存储空间需求;所述K为2的L次方,所述L大于或等于3;所述K个小物理磁盘各自位于不同的物理磁盘;响应所述虚拟机创建请求在所述目标物理磁盘中安装虚拟操作系统构建虚拟机;解析所述活跃度查询请求,获得在所述活跃度查询请求中携带的所述目标物理磁盘中各小物理磁盘的小物理磁盘标识;
发送单元,用于向所述虚拟机返回所述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度;所述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度用于所述虚拟机将需要存储的数据拆分为大于2且小于或等于K/2个目标数据,按照所述目标物理磁盘中各小物理磁盘所在的物理磁盘的活跃程度从低到高,将各目标数据分别存储到所述目标物理磁盘中的各小物理磁盘。
7.根据权利要求6所述服务器,其特征在于,所述大物理磁盘标识为P位的二进制字符串,所述小物理磁盘标识为Q位的二进制字符串;所述小物理磁盘的序号为位于小磁盘标识的低位部分,每个小物理磁盘的存储空间为R位;
所述接收单元,还用于接收所述虚拟机发送的查询请求,在所述查询请求中包含访存操作指定的虚拟地址;所述目标物理磁盘由其包含的各小物理磁盘按照所述各小物理磁盘所在的大物理磁盘标识从低到高依次排序组成,所述虚拟地址以所述目标物理磁盘的起始地址为起始虚拟地址顺序编号获得;在所述虚拟机控制器中存储有地址映射表,所述地址映射表的表项包含:虚拟盘序号、小物理磁盘标识;
所述处理器单元,还用于计算所述虚拟地址与所述R的商取整得到所述虚拟地址的虚拟盘序号,计算所述虚拟地址与所述R的商取余得到偏移量;查找所述地址映射表获得包含所述虚拟地址的虚拟盘序号的表项,并确定该表项中包含的小物理磁盘标识作为目标小物理磁盘标识;截取所述小物理磁盘标识的前P位作为目标大物理磁盘标识;
所述发送单元,还用于向所述目标大物理磁盘标识对应的物理磁盘发送读请求,在所述读请求中包含所述小物理磁盘标识以及所述偏移量,使所述小物理磁盘标识对应的小物理磁盘返回在所述小物理磁盘的起始位置偏移所述偏移量对应物理地址的数据;向所述虚拟机发送所述小物理磁盘标识对应的小物理磁盘返回的数据。
8.根据权利要求7所述服务器,其特征在于,
所述处理器单元,用于计算所述虚拟地址与所述R的商取整得到所述虚拟地址的虚拟盘序号,计算所述虚拟地址与所述R的商取余得到偏移量包括:
截取所述虚拟地址的前R位得到所述虚拟盘序号,截取所述虚拟地址的剩余位得到所述偏移量。
9.根据权利要求6至8任意一项所述服务器,其特征在于,
所述接收单元,还用于在所述虚拟机被创建之后,接收虚拟机删除请求,所述虚拟机删除请求用于请求删除所述虚拟机;
所述处理器单元,还用于将所述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态,不删除所述目标物理磁盘中包含的各小物理磁盘已经被写入的数据。
10.根据权利要求9所述服务器,其特征在于,
所述处理器单元,还用于在所述虚拟机控制器将所述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态之后,记录所述目标物理磁盘中包含的各小物理磁盘,在下一次创建新虚拟机时,以随机方式获取所述新虚拟机所需的小物理磁盘,并确定获取到的小物理磁盘中少于或等于两个小物理磁盘属于所述目标物理磁盘中包含的小物理磁盘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710220244.4A CN107153513B (zh) | 2017-03-22 | 2017-03-22 | 一种分布式系统服务器的存储控制方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710220244.4A CN107153513B (zh) | 2017-03-22 | 2017-03-22 | 一种分布式系统服务器的存储控制方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107153513A true CN107153513A (zh) | 2017-09-12 |
CN107153513B CN107153513B (zh) | 2020-07-24 |
Family
ID=59793891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710220244.4A Active CN107153513B (zh) | 2017-03-22 | 2017-03-22 | 一种分布式系统服务器的存储控制方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107153513B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327663A (zh) * | 2022-01-04 | 2022-04-12 | 中国建设银行股份有限公司 | 操作系统安装方法、系统及相关装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070101082A1 (en) * | 2005-10-31 | 2007-05-03 | Hitachi, Ltd. | Load balancing system and method |
CN101645039A (zh) * | 2009-06-02 | 2010-02-10 | 中国科学院声学研究所 | 一种基于彼得森图的数据存储和读取方法 |
CN102426545A (zh) * | 2010-10-27 | 2012-04-25 | 微软公司 | 分布式系统的反应式负载平衡 |
CN103116552A (zh) * | 2013-03-18 | 2013-05-22 | 华为技术有限公司 | 用于在分布式存储系统中分配存储空间的方法和装置 |
CN103124299A (zh) * | 2013-03-21 | 2013-05-29 | 杭州电子科技大学 | 一种异构环境下的分布式块级别存储系统 |
CN103150263A (zh) * | 2012-12-13 | 2013-06-12 | 深圳先进技术研究院 | 分级存储方法 |
CN104050015A (zh) * | 2014-06-27 | 2014-09-17 | 国家计算机网络与信息安全管理中心 | 一种虚拟机镜像存储分发系统 |
CN105530294A (zh) * | 2015-12-04 | 2016-04-27 | 中科院成都信息技术股份有限公司 | 一种海量数据分布式存储的方法 |
CN106454959A (zh) * | 2016-11-01 | 2017-02-22 | 佛山科学技术学院 | 一种分布式网络的服务质量控制方法、及服务器 |
-
2017
- 2017-03-22 CN CN201710220244.4A patent/CN107153513B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070101082A1 (en) * | 2005-10-31 | 2007-05-03 | Hitachi, Ltd. | Load balancing system and method |
CN101645039A (zh) * | 2009-06-02 | 2010-02-10 | 中国科学院声学研究所 | 一种基于彼得森图的数据存储和读取方法 |
CN102426545A (zh) * | 2010-10-27 | 2012-04-25 | 微软公司 | 分布式系统的反应式负载平衡 |
CN103150263A (zh) * | 2012-12-13 | 2013-06-12 | 深圳先进技术研究院 | 分级存储方法 |
CN103116552A (zh) * | 2013-03-18 | 2013-05-22 | 华为技术有限公司 | 用于在分布式存储系统中分配存储空间的方法和装置 |
CN103124299A (zh) * | 2013-03-21 | 2013-05-29 | 杭州电子科技大学 | 一种异构环境下的分布式块级别存储系统 |
CN104050015A (zh) * | 2014-06-27 | 2014-09-17 | 国家计算机网络与信息安全管理中心 | 一种虚拟机镜像存储分发系统 |
CN105530294A (zh) * | 2015-12-04 | 2016-04-27 | 中科院成都信息技术股份有限公司 | 一种海量数据分布式存储的方法 |
CN106454959A (zh) * | 2016-11-01 | 2017-02-22 | 佛山科学技术学院 | 一种分布式网络的服务质量控制方法、及服务器 |
Non-Patent Citations (1)
Title |
---|
马宁: ""基于虚拟化的分布式数据容灾保护"", 《舰船电子工程》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327663A (zh) * | 2022-01-04 | 2022-04-12 | 中国建设银行股份有限公司 | 操作系统安装方法、系统及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107153513B (zh) | 2020-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9740706B2 (en) | Management of intermediate data spills during the shuffle phase of a map-reduce job | |
US10795905B2 (en) | Data stream ingestion and persistence techniques | |
US9720989B2 (en) | Dynamic partitioning techniques for data streams | |
US8069191B2 (en) | Method, an apparatus and a system for managing a snapshot storage pool | |
US20030220985A1 (en) | System and method for virtualizing network storages into a single file system view | |
CN105723679A (zh) | 用于数据流的客户端可配置安全选项 | |
CN105765575A (zh) | 数据流摄取和持久性技术 | |
US9612766B2 (en) | Systems and methods for shadow migration progress estimation | |
KR20040071187A (ko) | 데이터 네트워크에 배속된 스토리지 자원의 관리 | |
CN104317742A (zh) | 一种优化空间管理的自动精简配置方法 | |
CN109947363A (zh) | 一种分布式存储系统的数据缓存方法 | |
JP2005512232A (ja) | データ・ネットワークに付属されたストレージ資源の管理 | |
CN108073352A (zh) | 虚拟磁盘处理方法及装置 | |
CN106960011A (zh) | 分布式文件系统元数据管理系统及方法 | |
CN113806300A (zh) | 数据存储方法、系统、装置、设备及存储介质 | |
US11176057B2 (en) | Integration of application indicated minimum time to cache for a two-tiered cache management mechanism | |
CN106970830A (zh) | 一种分布式虚拟机的存储控制方法、及虚拟机 | |
CN109460345A (zh) | 实时数据的计算方法及系统 | |
US11169933B2 (en) | Integration of application indicated maximum time to cache for a two-tiered cache management mechanism | |
KR20170081977A (ko) | 효율적으로 파일을 생성하기 위한 분산 파일 시스템 및 방법 | |
CN107153513A (zh) | 一种分布式系统服务器的存储控制方法、及服务器 | |
CN109558082B (zh) | 分布式文件系统 | |
CN107168646A (zh) | 一种分布式数据存储控制方法、及服务器 | |
CN105095105B (zh) | 一种Cache分区的方法及装置 | |
CN107145305A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 528000 No. 18, No. 1, Jiangwan, Guangdong, Foshan Patentee after: Foshan University Country or region after: China Address before: 528000 No. 18, No. 1, Jiangwan, Guangdong, Foshan Patentee before: FOSHAN University Country or region before: China |