CN109478151A - 网络可访问数据卷修改 - Google Patents

网络可访问数据卷修改 Download PDF

Info

Publication number
CN109478151A
CN109478151A CN201780045103.1A CN201780045103A CN109478151A CN 109478151 A CN109478151 A CN 109478151A CN 201780045103 A CN201780045103 A CN 201780045103A CN 109478151 A CN109478151 A CN 109478151A
Authority
CN
China
Prior art keywords
book
volume
data
data block
stored
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
Application number
CN201780045103.1A
Other languages
English (en)
Other versions
CN109478151B (zh
Inventor
皮埃特·克里斯蒂安·布劳沃
马克·斯蒂芬·奥尔森
纳奇阿潘·阿鲁穆加姆
迈克尔·撒克
维贾伊·普拉桑斯·拉亚文卡特斯瓦伦
阿尔皮特·特里帕蒂
丹尼·魏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US15/197,557 external-priority patent/US10469405B2/en
Priority claimed from US15/197,573 external-priority patent/US10037298B2/en
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN109478151A publication Critical patent/CN109478151A/zh
Application granted granted Critical
Publication of CN109478151B publication Critical patent/CN109478151B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2058Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2084Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring on the same storage unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2087Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring with a common controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

用户能够设置或修改存储在数据中心中的网络可访问存储设备上的数据卷的操作参数。例如,可向所述用户提供对数据卷的访问,并且所述用户可请求修改所述数据卷的所述操作参数。代替修改现有数据卷,所述数据中心能够提供新数据卷并将存储在所述现有数据卷上的数据迁移到所述新数据卷。在进行所述数据迁移时,所述现有数据卷可能会阻止输入/输出(I/O)请求,并且替代地,所述新数据卷可能会处置此类请求。在所述数据迁移完成时,所述数据中心可解除分配所述现有数据卷的数据区块,以使得所述数据区块能够重新被其他数据卷使用。如果接收到对尚未迁移到所述新数据卷的数据的请求,则所述新数据卷优先迁移所述请求的数据。

Description

网络可访问数据卷修改
背景技术
一般来说,组织运营计算机网络,所述计算机网络将众多计算系统互连以支持组织的操作。例如,数据中心可容纳显著数量的互连计算系统,诸如由单个组织运营的私有数据中心,以及由第三方运营来向客户提供计算资源的公共数据中心。公共和私有数据中心可为组织或其客户拥有的硬件提供网络访问、电力、硬件资源(例如,计算和存储)以及安全安装设施。
为了促进对数据中心资源的更多利用,虚拟化技术允许单个物理计算机器托管一个或多个虚拟机实例,对于连接的计算机用户来说,所述虚拟机实例作为独立的计算机机器出现并操作。利用虚拟化,单个物理计算设备可以动态方式创建、维护或删除虚拟机。反过来,用户可从数据中心请求计算机资源,并在“按需”或“按请求”基础上为用户提供不同数量的虚拟机资源。除了虚拟机之外,数据中心还可提供其他计算资源,包括硬件计算容量、数据存储空间、网络带宽等。
在一些环境中,多个用户可共享对资源的访问。例如,第一用户和第二用户可访问由网络服务提供商提供的基于网络的数据储存库。在此类应用中,网络服务提供商可体验并发命令以在共享资源上执行。
附图说明
在全部附图中,附图标记可被重复使用来指示所参考元件之间的对应关系。附图被提供来展示本文所描述的示例性实施方案,并且并不意图限制本公开的范围。
图1是根据一个实施方案的包括数据中心和用户设备的数据卷修改环境的框图。
图2是图1的数据卷修改环境的框图,其示出了根据一个实施方案的由数据卷修改环境的组件执行以修改数据卷的操作。
图3是图1的数据卷修改环境的框图,其示出了根据一个实施方案的由数据卷修改环境的组件执行以修改数据卷的操作。
图4A是描绘根据一个实施方案的图1的数据卷修改环境中的各种区块数据存储(BDS)服务器系统的框图。
图4B是描绘根据一个实施方案的旧卷分区和新卷分区的各个分区之间的通信的框图。
图4C是描绘根据一个实施方案的存储在旧卷分区和新卷分区中的数据块的相关性的框图。
图5是描绘根据一个实施方案的说明性地由BDS服务器系统实现的数据传送例程的流程图。
图6是描绘根据一个实施方案的说明性地由管理系统实现的卷修改例程的流程图。
图7是描绘根据一个实施方案的说明性地由管理系统实现的卷修改例程的流程图。
具体实施方式
如上所述,在一些环境中,多个用户可访问由网络服务提供商提供的共享网络托管资源。然而,当用户希望修改与用户对共享网络托管资源的分配相关联的操作参数(诸如容量、吞吐量、大小、存储类型、带宽等)时,可能出现问题。作为说明性实例,特定用户存储需求超过了用户在共享网络托管存储设备上分配的存储容量。为了满足对附加网络托管存储的需求,网络服务提供商可为用户提供请求附加存储(例如,用于满足用户需要的新卷)的能力或自行管理数据从现有数据卷到不同数据卷的迁移的能力。
在一些情境下,附加网络托管存储的分配可能导致用户应用程序逻辑的附加复杂性。例如,用户应用程序可能创建超出用户分配的存储容量的大型数据文件。因为无法存储数据文件,所以用户会添加附加数据卷以增加用户分配的存储容量。可将数据文件划分为较小的数据段,然后将较小的数据段分布在当前和附加数据卷上。然而,这增加了应用程序逻辑的复杂性,因为需要附加的数据开销来跟踪分布式数据段。在其他情境下,附加网络托管存储的分配可能导致等待时间增加。例如,在添加附加数据卷的情况下,用户数据存储在多个数据卷上。当接收到读取或写入请求时,网络服务提供商访问一个或多个数据卷以处理所述请求。然而,访问多个数据卷可能会增加请求处理时间。
一般来说,本文公开的各种实施方案使得用户能够设置或修改存储在网络托管存储设备上并提供给用户的一个或多个数据卷的操作参数。例如,操作参数可包括存储容量、数据存储类型(例如,硬盘驱动器(HDD)、固态设备(SSD)、闪速存储器、混合存储设备等)、预期性能水平(例如,每秒输入/输出操作的速率(IOPS)、吞吐量、带宽等)、地理位置等。用户可通过用户设备生成修改一个或多个操作参数的请求。所述请求可由用户设备通过网络传输到数据中心,其中数据中心包括数据储存库和管理数据储存库的系统。
数据中心可处理所述请求以标识所请求的操作参数修改。在一种方法中,数据中心指出要在另一个数据储存库中提供的附加数据卷,以补充提供给用户的现有数据卷。提供附加数据卷以使得两个数据卷的组合的特性满足所请求的操作参数修改。然而,如上所述,提供补充数据卷可增加读取或写入请求的等待时间。
因此,如本文所述,替代地,数据中心在与原始数据卷相同的数据储存库或不同的数据储存库上提供新数据卷。仅新数据卷的特性就满足了所请求的操作参数修改。一旦提供了新数据卷,就将阻止对旧数据卷的任何读取或写入请求,并指导新数据卷来处置此类请求。当新数据卷开始处置读取或写入请求时,旧数据卷将存储在旧数据卷中的数据迁移到新数据卷。如果新数据卷接收到对尚未从旧数据卷传送到新数据卷的数据的读取请求,则新数据卷优先从旧数据卷传送此类数据,以使得可对读取请求进行处理。一旦数据迁移完成,就将解除分配与旧数据卷相关联的数据区块,以供将来由其他数据卷使用。以下关于图1至图6来描述由数据中心的不同组件执行的用于处理修改用户数据卷的操作参数的请求的操作的附加细节。
示例性数据卷修改环境
图1是根据一个实施方案的包括数据中心140和用户设备102的数据卷修改环境的框图。如图1所示,数据中心140包括主机系统104、区块数据存储(BDS)服务器系统池106和管理系统108。在一个实施方案中,数据中心140包括一个或多个主机系统104。
主机系统104被配置来管理虚拟机135的执行。例如,每个虚拟机135可充当独立计算节点,用于执行如用户通过用户设备102指导的一个或多个程序136(例如,文档应用程序、帐户管理应用程序等)。主机系统104可包括一个或多个节点管理器132,所述一个或多个节点管理器132在主机系统104的存储器中执行,以使得节点管理器132管理虚拟机135。执行节点管理器132和虚拟机135可作为在主机系统104上执行的操作系统上的不同进程来执行。
说明性地,节点管理器132可存储关于卷数据存储库134中附接到主机系统104或由在主机系统104上执行的虚拟机135(例如,程序136)使用的当前卷116的信息。例如,所述信息可包括卷116的存储容量、卷116中可用的存储量、卷116的数据存储类型(例如,HDD、SSD、闪速存储器、混合存储设备等)、卷116的性能水平(例如,IOPS的速率、吞吐量、带宽等)、卷116的地理位置等。使卷数据存储库134位于主机系统104上是说明性的。卷数据存储库134可驻留在数据中心140内的多种系统或组件上,包括例如BDS服务器系统106或管理系统108。
BDS服务器系统池106可各自包括提供本地区块存储的一个或多个存储设备(例如,HDD、SSD、混合存储设备等)。BDS服务器系统池106被配置来控制执行程序136并向执行程序136提供可靠的非本地区块数据存储。例如,BDS服务器系统106可包括用于存储一个或多个卷116的本地区块存储。由虚拟机135执行的程序136可通过内部网络115访问卷116,所述内部网络115是数据中心140内部的网络。内部网络115可包括未示出的各种网络设备(例如,路由器、交换机、网关等)。内部网络115可进一步耦合到外部网络,诸如网络110。数据中心140外部的多个远程档案存储系统(未示出)也可用于存储由虚拟机135执行的程序136可通过内部网络115或网络110访问的附加卷。
在一个实施方案中,用户能够通过虚拟机135访问存储在BDS服务器系统106的本地区块存储上的卷116,例如通过用户设备102,就像那些卷116存储在虚拟机135本地的区块存储设备上一样。由于卷116作用来好像每个卷116是虚拟机135本地的硬盘驱动器或类似区块设备,因此可利用偏移量、长度和其他此类常规区块设备方面来寻址卷116。这允许用户设备102与虚拟机135进行交互,就像卷116是本地硬盘驱动器或区块设备一样。此外,BDS服务器系统106可提供“写入后读取”一致性,其中一旦数据被写入到卷116,就保证能够从卷116读取数据。因此,BDS服务器系统106可提供相对低的等待时间,诸如小于约十毫秒的等待时间。
管理系统108可以是被配置来管理数据中心140中的组件和系统的一个或多个服务器计算机。例如,管理系统108可提供与提供非本地区块数据存储功能相关的多种服务,包括用户帐户的管理(例如,创建、删除、计费等);卷116的创建、使用和删除或这些卷116的快照副本;收集或处理与卷116的使用或这些卷116的快照副本相关的性能或审计数据;从用户获得用于使用卷116或这些卷116的快照副本的付款;等等。管理系统108可与节点管理器132协调以管理由虚拟机135执行的程序136对卷116的使用。可替代地,管理系统108或节点管理器132可独立地管理由虚拟机135执行的程序136对卷116的使用。管理系统108可维护包括关于卷116的信息的数据库。虽然图1中将管理系统108示出为数据中心140内单独的集中式系统,但这并不意味着限制。管理系统108的功能可部分或全部由主机系统104或BDS服务器系统106中的一个或多个执行。
在一个实施方案中,管理系统108包括卷修改管理器118,其被配置来控制卷116的创建、使用和删除。例如,用户通过用户设备102可生成并向卷修改管理器118发送请求(例如,应用程序编程接口(API)调用、web服务调用等)以提供新数据卷(所述新数据卷随后可附加到与用户相关联的程序136)、删除现有数据卷或修改现有数据卷。
管理系统108可被认为驻留在控制平面或控制环境中,其中BDS服务器系统106的数据卷116和区块存储设备驻留在单独的数据平面或数据环境中。在一个实例中,可将初始卷116提供给用户。用户可通过用户设备102向卷修改管理器118发送“修改卷”API调用。“修改卷”API调用可包括要修改的卷116的标识(例如,初始卷116)、要修改的卷116的一个或多个操作参数的标识、以及标识应如何修改一个或多个操作参数的信息(例如,要分配的新存储量、新的性能水平等)。可替代地,代替标识应修改操作参数的量,API调用可包括标识一个或多个操作参数的期望值的信息。可在初始卷116仍在使用(例如,使用初始卷116的程序136正在运行)时发送API调用。
响应于接收到API调用,卷修改管理器118可指导BDS服务器系统106基于初始卷116的操作参数或API调用中标识的操作参数修改来提供新卷116。因此,可不指导BDS服务器系统106修改初始卷116。例如,初始卷116的存储容量可以是1TB,并且性能水平可以是100IOPS或1MB/s。API调用中标识的操作参数修改可以是将存储容量修改1TB并将性能水平修改1,900IOPS或99MB/s(以使得存储容量变为2TB,并且性能水平变为2,000IOPS或100MB/s)。可替代地,卷修改管理器118可指导BDS服务器系统106基于API调用中标识的操作参数来提供新卷116(例如,其中API调用指示新存储容量应为2TB并且新性能水平应为2,000IOPS或100MB/s)。可在BDS服务器系统106中的单个存储设备上或在BDS服务器系统106中的多个存储设备上提供新卷116。
响应于接收到API调用或响应于从BDS服务器系统106接收到新卷116准备好开始接收输入/输出(I/O)请求(例如,读取请求、写入请求、备份请求等)的指示,卷修改管理器118还可防止任何未来的I/O请求被传送到初始卷116或者指导初始卷116阻止任何未来的I/O请求。在替代实施方案中,主机系统104(例如,节点管理器132或虚拟机135)可接收新卷116准备好的指示并指导初始卷116阻止任何未来的I/O请求或者新卷116可直接指导初始卷116阻止任何未来的I/O请求。例如,EBS客户端(例如,虚拟机135)通过区块设备驱动器从BDS服务器系统106读取或写入到BDS服务器系统106。当虚拟机135获知新卷116正在替换初始卷116并且新卷116被提供或准备好时,这个信息被传递给区块设备驱动器,所述区块设备驱动器指导初始卷116停止处置任何未来的I/O请求。
卷修改管理器118(直接地或通过EBS客户端)还可指导初始卷116执行I/O队列中剩余的任何剩余I/O请求。例如,从程序136接收的读取或写入请求可存储在与卷116相关联的I/O队列中,以便由BDS服务器系统106在适当的卷116上执行。在从用户设备102接收API调用之前,程序136可能已经传输了存储在I/O队列中且尚未执行的写入请求。因此,卷修改管理器118(直接地或通过EBS客户端)可指导BDS服务器系统106执行I/O队列中的任何请求,以使得在API调用传输之前提交的所有请求都完成。这可有助于确保在从初始卷116到新卷116的转换期间没有数据丢失。
在一个实施方案中,每个卷116与卷清单文件相关联。卷清单文件可标识相关联卷116中已经存储了数据块的位置(例如,相关联卷116中的偏移量)。卷清单文件可不包括针对相关联卷116中没有写入数据的位置(例如,位置包括逻辑0)的条目。在接收到初始卷116的I/O队列为空的指示之后,卷修改管理器118可指导初始卷116将其卷清单文件传送到新卷116。因此,可在传送卷清单文件之前执行所有写入请求,从而确保传送的卷清单文件具有完整的数据块位置列表(并且确保写入到新卷116的数据不会覆盖已写入到初始卷116的数据,如以下更详细描述的)。
新卷116可使用初始卷116的卷清单文件来标识存储有数据块的初始卷116中的偏移量,并请求将所有此类数据块传送到新卷116。可对数据块的检索进行排队,以使得一次请求一个或多个数据块。数据块迁移可在后台(例如,在后台进程中)发生,同时新卷116可操作并且正在接收读取或写入请求。卷修改管理器118可周期性地轮询新卷116以确定数据块迁移的状态。在替代实施方案中,如果初始卷116正忙,则新卷116可从作为初始卷116的从属或镜像的卷(例如,备份卷)中提取数据块。在一些情况下,初始卷116中的分区数量不同于新卷116中的分区数量(例如,因为两个卷116具有不同的存储容量,因为API调用中请求了不同数量的分区,等等)。新卷116可实现数据传送技术以标识数据块存储在初始卷116中的哪个分区以及数据块应存储在新卷116中的哪个分区,如以下更详细地描述的。
在指导初始卷116将其卷清单文件传送到新卷116之前或之后,但是在接收到初始卷116的I/O队列为空的指示之后,卷修改管理器118(或主机系统104,诸如EBS客户端)可指导新卷116接收和处理从程序136接收的任何未来I/O请求。可替代地,卷修改管理器118可指导主机系统104(诸如EBS客户端)将未来的I/O请求发送到新卷116。如果接收到写入请求,新卷116可使用初始卷116的卷清单文件来确定偏移量是否已经包括写入的数据块,或者确定用于存储新数据块的适当偏移量。如果接收到读取请求,则新卷116可确定新卷116中是否存在与读取请求中标识的偏移量相对应的数据块。例如,新卷116可检查数据块迁移的状态,以确定是否已经传送了与所接收的偏移量相对应的数据块。如果数据块存储在新卷116中,则新卷116可通过从新卷116检索数据块来处理读取请求。如果数据块未存储在新卷116中,则新卷116可指导初始卷116优先传送与所接收的偏移量相对应的数据块(例如,将数据块放在数据块检索队列的顶部)。因此,如果初始卷116正在传送第一数据块并且所接收的偏移量对应于第二数据块,则初始卷116可暂停第一数据块的传送并且替代地开始第二数据块的传送。第二数据块的传送可以比第一数据块的传送更快的速率发生(例如,第一数据块可通过后台操作传送,其中有限量的资源用于传送,而第二数据块可以优先方式传送,其中更大量的资源用于传送以加速传送过程)。一旦传送了第二数据块,则初始卷116可恢复第一数据块的传送。可替代地,当正向新卷116传送第一数据块时,初始卷116可与新卷116建立另一连接,并且在传送第一数据块的同时通过新建立的连接传送第二数据块。如果带宽有限,则初始卷116或新卷116可向新建立的连接分配比现有连接更多的资源,以加速第二数据块的传送。在一些情况下,初始卷116可在新卷116接收到写入请求时传送第二数据块。因为新卷116可能无法确定传送将何时完成,所以新卷116仍可通过新建立的连接或通过暂停后台传送来请求以优先方式传送第二数据块。
如上所述,卷修改管理器118可周期性地轮询新卷116以确定数据块迁移的状态。具体地,卷修改管理器118单独轮询新卷116中的每个分区以确定所述状态。一旦新卷116指示数据块迁移完成(例如,新卷116中的每个单独分区指示其部分数据块迁移完成),卷修改管理器118就可指导BDS服务器系统106解除分配BDS服务器系统106的提供给初始卷116的一部分,从而从初始卷116中删除数据。例如,BDS服务器系统106可删除初始卷116几何结构(例如,分区的数量、分区的特性、分区的唯一ID、性能特性、跨分区如何分割数据等)并从初始卷116中的数据区块删除数据,以便可释放数据区块以供其他卷116使用。
一些常规系统使用所提供的从属卷或镜像卷来实现卷修改过程,所述从属卷或镜像卷包括与初始卷相同的数据。例如,常规系统可提供新卷,然后将数据从从属卷或镜像卷迁移到新卷。在数据迁移正在进行时,初始卷仍然是活动卷并处置I/O请求。当接收到写入请求时,可在初始卷和从属卷或镜像卷上执行写入请求,以使得没有数据丢失。一旦数据迁移完成,新卷就将成为活动卷。然而,从属卷或镜像卷必须与主卷处于一致状态,以使得在主卷出现故障的情况下,从属卷或镜像卷可取代主卷。然而,本文描述的新卷116与初始卷116不处于一致状态(例如,在提供新卷116之后并且在数据块迁移完成之前,新卷116接收初始卷116未接收的I/O请求)。因此,本文描述的新卷116与常规系统中使用的从属卷或镜像卷不同。
主机系统104和管理系统108可各自包括一个或多个处理器、存储由所述一个或多个处理器执行的指令的存储器、网络接口、应用程序专用硬件或允许系统执行本文描述的功能的其他硬件组件。BDS服务器系统106可包括一个或多个处理器、存储由所述一个或多个处理器执行的指令的存储器、网络接口、数据存储设备(例如,可存储卷116的HDD、SSD、闪速存储器、混合存储设备等)、应用程序专用硬件或允许BDS服务器系统106执行本文描述的功能的其他硬件组件。
虽然图1中示出单个数据中心140,但这并不意味着限制。数据卷修改环境可包括任何数量的数据中心,其中多个数据中心可通过网络110耦合。网络110可以是链接网络的可公开访问的网络,可能由各个不同方(诸如互联网)操作。在其他实施方案中,网络110可包括专用网、个人区域网、局域网、广域网、电缆网络、卫星网络、蜂窝电话网络等或其组合,每个网络都可访问互联网或从互联网访问。
应理解,出于解释的目的,图1的实例已经简化,并且数据中心140中的组件的数量和组织可远大于图1所描绘的组件的数量和组织。例如,作为一个说明性实施方案,每个数据中心140可存在大约4,000个计算系统,其中这些计算系统中的一些是可各自托管十五个虚拟机的主机系统104,或者其中这些计算系统中的一些是可各自存储若干卷116的BDS服务器系统106。如果每个托管虚拟机执行一个程序136的副本,则这种数据中心140一次可执行多达六万个程序136副本。此外,可在BDS服务器系统106上存储数百或数千(或更多)个卷116,这取决于BDS服务器系统106的数量和存储容量或卷116的大小。应理解,在其他实施方案中,可使用其他数量的计算系统、虚拟机135、程序136或卷116。在美国专利号8,984,243中描述了数据中心140的附加细节,所述专利以引用方式整体并入本文。
用户设备102可包括各种各样的计算设备,包括个人计算设备、终端计算设备、膝上型计算设备、平板计算设备、电子阅读器设备、移动设备(例如,移动电话、媒体播放器、手持游戏设备等)、具有网络访问和程序执行能力的可穿戴设备(例如,“智能手表”或“智能眼镜”)、无线设备、机顶盒、游戏控制台、娱乐系统、具有网络访问和程序执行能力的电视机(例如,“智能电视”)以及各种其他电子设备和器具。各个用户设备102可执行浏览器应用程序120以通过网络110与其他计算系统(诸如数据中心140)进行通信,以便传输请求(例如,API调用,诸如“修改卷”)。
用于修改数据卷的示例性框图
图2是图1的数据卷修改环境的框图,其示出了根据一个实施方案的由数据卷修改环境的组件执行以修改数据卷的操作。如图2所示,用户设备102可在(1)处请求修改提供给用户设备102的用户的卷202。例如,所述请求可包括要修改的卷202的标识、要修改的卷202的一个或多个操作参数的标识、或标识应如何修改一个或多个操作参数的信息(例如,要分配的新存储量、新的性能水平等)。可替代地,代替标识应修改操作参数的量,所述请求可包括标识一个或多个操作参数的期望值的信息。
可将所述请求传输到卷修改管理器118。卷修改管理器118可通过指导BDS服务器系统106在一个或多个存储设备中分配数据区块来在(2)处创建新卷212。然后,新卷212可在(3)处通知现在的旧卷202创建了新卷212。创建了新卷212的通知可通过执行存储在旧卷202中的任何请求来致使旧卷202在(4)处耗尽其I/O队列。一旦耗尽了I/O队列,旧卷202可在(5)处将旧卷202的卷清单文件传送到新卷212。
卷修改管理器118还可在(6)处通知EBS客户端235将I/O请求传输到新卷212。EBS客户端235是虚拟机135,其通过区块设备驱动器从BDS服务器系统106读取或写入到BDS服务器系统106。当虚拟机135获知新卷212的存在并且新卷212正在替换旧卷202时,这个信息被传递到区块设备驱动器,从而允许虚拟机135与BDS服务器系统106和新卷212接口连接。
新卷212可在(7)处使用卷清单文件从旧卷202请求数据块。例如,卷清单文件可包括数据块所在的旧卷202中的偏移量。如本文所述,旧卷202可包括多个分区。当将数据写入到磁盘时,一旦数据块已写入到最后一个分区,每个连续的数据块就可在绕回到第一分区之前依序写入到下一个分区。举例来说,如果旧卷202包括三个分区,则可将第一数据块写入到第一分区,可将第二数据块写入到第二分区,可将第三数据块写入到第三分区,可将第四数据块写入到第一分区,等等。然而,无论分区如何,卷清单文件中的偏移量都可以是顺序的。因此,如果数据块是8位长,则偏移量0可对应于第一分区中的第一数据块槽(例如,存储第一数据块的位置),偏移量8可对应于第二分区中的第一数据块槽(例如,存储第二数据块的位置),偏移量16可对应于第三分区中的第一数据块槽(例如,存储第三数据块的位置),偏移量24可对应于第一分区中的第二数据块槽(例如,存储第四数据块的位置),等等。
因此,新卷212可选择卷清单文件中的偏移量,并且使用所述偏移量、旧卷202中的数据块大小(例如,与所选择的偏移量相对应的数据块大小)的指示以及旧卷202中的分区数量的指示来标识要检索的与所选择的偏移量相对应的数据块的位置。例如,新卷212可将所选择的偏移量除以旧卷202中的数据块大小,以确定标准化偏移量。然后,新卷212可确定以旧卷202中的分区数量为模的标准化偏移量,以标识哪个分区存储与所选择的偏移量相关联的数据块。新卷212还可将标准化偏移量除以旧卷202中的分区数量,以标识所标识的分区中的哪个数据块槽存储与所选择的偏移量相关联的数据块。因此,新卷212可确定与所选择的偏移量相关联的数据块的位置并请求适当的数据。
此外,如上所述,新卷212可具有与旧卷202不同数量的分区。因此,虽然所请求的数据块可存储在旧卷202中的第一分区中,但是考虑到连续数据块存储在连续分区中的事实,这并不一定意味着所请求的数据块也应存储在新卷212的第一分区中。因此,新卷212可确定以新卷212中的分区数量为模的标准化偏移量,以标识新卷212中的哪个分区应存储与所选择的偏移量相关联的数据块。新卷212还可将标准化偏移量除以新卷212中的分区数量,以标识所标识的分区中的哪个数据块槽应存储与所选择的偏移量相关联的数据块。因此,新卷212可确定新卷212中应存储所请求的数据块的位置。
在接收到对一个或多个数据块的请求时,旧卷202可在(8)处开始将数据块传送到新卷212。传送可通过后台进程发生,以使得新卷212能够同时处理新的I/O请求。传送可通过单个连接或多个连接发生(例如,如果基于在数据块传送正在进行时接收到对尚未存储在新卷212中的数据块的读取请求来对数据块的检索进行优先级排序)。
卷修改管理器118可在(9)处周期性地检查数据块传送的状态。例如,新卷212的分区可各自跟踪要存储在其中的数据块的进度,并且卷修改管理器118可单独地轮询每个分区。一旦每个分区指示其数据块传送的部分完成,则卷修改管理器118可确定整个数据块传送完成。基于这种确定,卷修改管理器118可在(10)处向BDS服务器系统106传输指令以清除旧卷。例如,BDS服务器系统106可解除分配最初提供给旧卷202的数据区块以供其他卷使用(或删除存储在其中的任何数据)。
用于对数据块进行优先级排序的示例性状态图
图3是图1的数据卷修改环境的框图,其示出了根据一个实施方案的由数据卷修改环境的组件执行以便对数据块传送进行优先级排序的操作。如图3所示,旧卷202可处于将数据块迁移到新卷212的过程中。例如,旧卷202当前正在(1)处传送数据块1。然而,旧卷202尚未将数据块2、数据块3等传送到新卷212。
程序336可在(2)处提交请求数据块3的读取请求。所述读取请求可被发送到执行程序336的虚拟机335、节点管理器132(未示出)或新卷212。如果虚拟机335接收到对数据块3的请求,则在(3)处将所述请求转发到新卷212。
新卷212在(4)处确定是否已经从旧卷接收到数据块3。例如,读取请求可包括偏移量以及要从所述偏移量处开始读取的数据块(例如,数据块3)的大小(例如,以字节为单位)。利用上述过程,新卷212可使用偏移量和数据块3大小来确定哪个分区应存储数据块。然后,新卷212可轮询所确定的分区以确定数据块3传送的状态(例如,传送是否已经开始、正在进行、已经完成等)。如果分区指示传送完成,则新卷212可检索数据块3并传输到程序336。然而,如图3所示,数据块3的传送未完成。因此,新卷212在(5)处指导旧卷202对数据块3的传送进行优先级排序。
如上所述,对数据块的传送进行优先级排序可包括暂停现有传送并立即开始传送所请求的数据块。优先级排序还可包括在继续现有数据块迁移的同时传送所请求的数据块。在一些情况下,优先级排序可包括在现有数据块迁移中正在传送所请求的数据块的同时传送所述数据块。数据块的优先传送可包括向传送分配附加资源,以使得传送以比用于在后台进程中迁移数据块的速率更快的速率发生。
响应于从新卷212接收到指令,旧卷202在(6)处以优先方式传送数据块3。一旦优先传送完成并且数据块3存储在新卷212的适当分区中,新卷212就在(7)处将数据块3传输到虚拟机335,虚拟机335在(8)处将数据块3转发到程序336以完成读取操作。
示例性分区到分区的数据块迁移
图4A是描绘根据一个实施方案的图1的数据卷修改环境中的各种BDS服务器系统406A-C的框图。如图4A所示,BDS服务器系统406A包括存储旧卷的第一分区、即旧卷分区416A和新卷的第一分区、即新卷分区426A的存储设备;BDS服务器系统406B包括存储旧卷的第二分区、即旧卷分区416B和新卷的第二分区、即新卷分区426B的存储设备;并且BDS服务器系统406C包括存储新卷的第三分区、即新卷分区426C的存储设备。因此,旧卷具有两个分区,而新卷具有三个分区。
图4B是描绘根据一个实施方案的旧卷分区和新卷分区的各个分区416A-B和426A-C之间的通信的框图。如图4B所示,每个新卷分区426A-C可与每个旧卷分区416A-B通信。这可能是以下情况:因为旧卷和新卷具有不同数量的分区,因此旧卷分区416A或416B中的任何给定数据块可存储在新卷分区426A-C之一中。例如,以下关于图4C来说明这种概念。
图4C是描绘根据一个实施方案的存储在旧卷分区416A-B和新卷分区426A-C中的数据块的相关性的框图。如图4C所示,数据块450存储在旧卷分区416A的第一数据块槽中,数据块451存储在旧卷分区416B的第一数据块槽中,数据块452存储在旧卷分区416A的第二数据块槽中,数据块453存储在旧卷分区416B的第二数据块槽中,数据块454存储在旧卷分区416A的第三数据块槽中,数据块455存储在旧卷分区416B的第三数据块槽中,数据块456存储在旧卷分区416A的第四数据块槽中,并且数据块457存储在旧卷分区416B的第四数据块槽中。
如上所述,因为旧卷和新卷具有不同数量的分区,所以当数据块450-457迁移到新卷时,数据块450-457可不存储在相同的数据块槽中或相同编号的分区中。例如,使用上述技术来确定旧卷中数据块的位置以及新卷中数据块的新位置,新卷可将数据块450存储在新卷分区426A的第一数据块槽中,将数据块451存储在新卷分区426B的第一数据块槽中,将数据块452存储在新卷分区426C的第一数据块槽中,将数据块453存储在新卷分区426A的第二数据块槽中,将数据块454存储在新卷分区426B的第二数据块槽中,将数据块455存储在新卷分区426C的第二数据块槽中,将数据块456存储在新卷分区426A的第三数据块槽中,并且将数据块457存储在新卷分区426B的第三数据块槽中。
示例性数据传送例程
图5是描绘根据一个实施方案的说明性地由BDS服务器系统实现的数据传送例程500的流程图。举例来说,图1的BDS服务器系统106可被配置来执行数据块传送例程500。数据块传送例程500开始于框502处。
在框504处,从卷清单文件中检索第一数据的偏移量或大小。例如,卷清单文件可指示数据块存储在旧卷中的偏移量。卷清单文件可进一步指示旧卷中数据块的大小。可替代地,卷清单文件可不存储此类信息,但此类信息可由主机系统104、BDS服务器系统106或管理系统108存储在本地。第一数据可以是第一数据块。
在一些实施方案中,计算标准化偏移量。例如,可将偏移量除以第一数据的大小以确定标准化偏移量。标准化偏移量可用于确定数据块所在的分区和数据块槽以及要存储数据块的分区和数据块槽。在框504完成之后,数据块传送例程500前进到框506(以及框508、510和512)和514(以及框516、518和520),它们可并行或顺序地完成。
在框506处,确定以旧卷中的分区数量为模的标准化偏移量。模运算的结果可用于标识旧卷中的第一分区存储第一数据,如框508所示。
在框510处,确定标准化偏移量除以旧卷中的分区数量。可忽略由除法运算产生的任何余数。除法运算的结果可用于标识第一分区的第一部分存储第一数据,如框512所示。例如,第一部分可以是旧卷的第一分区中的第一数据块槽。
在框514处,确定以新卷中的分区数量为模的标准化偏移量。模运算的结果可用于标识新卷中的第二分区应存储第一数据,如框516所示。
在框518处,确定标准化偏移量除以新卷中的分区数量。可忽略由除法运算产生的任何余数。除法运算的结果可用于标识第二分区的第二部分应存储第一数据,如框520所示。例如,第二部分可以是新卷的第二分区中的第二数据块槽。
在框522处,将第一数据从旧卷中的第一分区的第一部分传送到新卷中的第二分区的第二部分。在传送第一数据之后,可完成数据块传送例程500,如框524所示。可针对由卷清单文件中的偏移量参考的每个数据块重复数据块传送例程500。
举例来说,如果旧卷具有三个分区,新卷具有四个分区,数据块长度是8位,并且第一数据块的位置被标识为在清单文件中的偏移量56处,则可通过以下方式确定旧卷中第一数据块的位置和新卷中用于第一数据块的位置。因为偏移量是56并且数据块的长度是8位,所以通过将56除以8来确定标准化偏移量,其结果为7。确定以旧卷中的分区数量为模的标准化偏移量导致1(例如,7模3是1)。假设旧卷中的分区数量是3,则由模运算产生的可能值是0(例如,其对应于分区1)、1(例如,其对应于分区2)以及2(例如,其对应于分区3)。因此,这里旧卷中的分区2包括第一数据块。确定标准化偏移量除以旧卷中的分区数量导致2(例如,7除以3是2,忽略任何余数值)。假设旧卷中的分区数量是3,则由除法运算产生的可能值从0开始(例如,如果偏移量是0、8或16),因此由除法运算产生的0对应于分区中的第一数据块槽,由除法运算产生的1对应于分区中的第二数据块槽,等等。因此,这里旧卷中的分区2中的数据块槽3包括第一数据块。
类似地,确定以新卷中的分区数量为模的标准化偏移量导致3(例如,7模4是3)。假设新卷中的分区数量是4,则由模运算产生的可能值是0(例如,其对应于分区1)、1(例如,其对应于分区2)、2(例如,其对应于分区3)以及3(例如,其对应于分区4)。因此,这里新卷中的分区4应存储第一数据块。确定标准化偏移量除以新卷中的分区数量导致1(例如,7除以4是1,忽略任何余数值)。假设新卷中的分区数量是4,则由除法运算产生的可能值从0开始(例如,如果偏移量是0、8、16或24),因此由除法运算产生的0对应于分区中的第一数据块槽,由除法运算产生的1对应于分区中的第二数据块槽,等等。因此,这里新卷中的分区4中的数据块槽2应存储第一数据块。
示例性卷修改例程
图6是描绘根据一个实施方案的说明性地由管理系统实现的卷修改例程600的流程图。举例来说,图1的管理系统108(例如,卷修改管理器118)可被配置来执行卷修改例程600。卷修改例程600开始于框602处。
在框604处,接收修改的卷操作参数。例如,可通过“修改卷”API调用来接收修改的卷操作参数。修改的卷操作参数可指示卷存储容量从第一大小增加到大于第一大小的第二大小。
在框606处,指导服务器基于修改的卷操作参数来分配资源以提供新卷。例如,可指导BDS服务器系统106来分配资源。因此,响应于接收到增加现有卷的存储容量的请求,可提供新卷而不是对现有卷进行调整。
在框608处,响应于提供新卷的指示,指导旧卷停止处置I/O请求。例如,未来的I/O请求可能无法路由到旧卷,或者旧卷可能会阻止任何未来的I/O请求。在一个实施方案中,卷修改管理器118指导EBS客户端(例如,连接到BDS服务器系统106的虚拟机135)停止向旧卷发送I/O请求。然后,EBS客户端指导旧卷停止处置I/O请求并耗尽I/O队列。
在框610处,响应于提供新卷的指示,指导新卷来处置I/O请求。在一个实施方案中,卷修改管理器118指导EBS客户端将I/O请求发送到新卷。然后,EBS客户端指导新卷开始处置I/O请求。因此,新卷可处置I/O请求以代替旧卷向前移动。
在框612处,指导新卷从旧卷中检索数据。例如,在新卷开始代替旧卷来处置I/O请求之后,可以这样指导新卷。当新卷处置I/O请求时,可能会发生数据检索。新卷可使用旧卷的卷清单文件来完成检索。在替代实施方案中,可在框610之前并且在框608之后执行框612。在数据检索开始之后,可完成卷修改例程600,如框614所示。
图7是描绘根据一个实施方案的说明性地由管理系统实现的卷修改例程700的流程图。举例来说,图1的管理系统108(例如,卷修改管理器118)可被配置来执行卷修改例程700。卷修改例程700开始于框702处。
在框704处,接收修改的卷操作参数。例如,可通过“修改卷”API调用来接收修改的卷操作参数。修改的卷操作参数可指示卷存储容量从第一大小增加到大于第一大小的第二大小。
在框706处,指导服务器基于修改的卷操作参数来分配资源以提供新卷。例如,可指导BDS服务器系统106来分配资源。因此,响应于接收到增加现有卷的存储容量的请求,可提供新卷而不是对现有卷进行调整。
在框708处,响应于提供新卷的指示,指导EBS客户端开始使用新卷来代替旧卷。在一个实施方案中,EBS客户端然后指导旧卷停止处置I/O请求并耗尽I/O队列,并且指导新卷开始处置I/O请求。
在框710处,指导新卷从旧卷中检索数据。例如,在新卷开始代替旧卷来处置I/O请求之后,可以这样指导新卷。当新卷处置I/O请求时,可能会发生数据检索。新卷可使用旧卷的卷清单文件来完成检索。在数据检索开始之后,可完成卷修改例程700,如框712所示。
分层的数据卷
在一些实施方案中,可使用一组分层的数据卷来处置I/O请求。例如,数据中心140可在先前接收到修改初始卷116的第一请求之后并且在第一请求完成之前接收修改所述初始卷116的第二请求。举例来说,响应于第一请求,提供第一新卷116。然而,在接收到第二请求时,数据块从初始卷116到第一新卷116的迁移可能未完成。响应于接收到第二请求,可终止数据块从初始卷116到第一新卷116的迁移。此外,可根据第二请求来提供第二新卷116。因此,可开始数据块从第一新卷116到第二新卷116的迁移。
如果在提供第二新卷116并且开始处置I/O请求之后收到来自程序136的读取请求,则对应于读取请求的数据块可仅存储在初始卷116中,仅存储在第一新卷116中,存储在初始卷116和第二新卷116两者中,或者存储在初始卷116、第一新卷116和第二新卷116中。如果第二新卷116确定数据块不在其中,则第二新卷116可请求优先从第一新卷116中检索数据块(例如,使用第一新卷116的卷清单文件,所述卷清单文件可包括初始卷116和第一新卷116中的所有偏移量)。然后,第一新卷116可确定数据块是否位于其中。如果数据块不在其中,则第一新卷116(或第二新卷116)可从初始卷116请求数据块(例如,使用初始卷116的清单文件)。如果数据块存储在初始卷116中,则第二新卷116可启动优先从初始卷116检索数据块。
在替代实施方案中,每个卷116的卷清单文件可包括一组差分信息。例如,初始卷116的卷清单文件可指示存储在其中的数据块的偏移量。第一新卷116的卷清单文件可仅仅指示存储在第一新卷116中并且不存储在初始卷116中的数据块的偏移量。第二新卷116可将所述卷清单文件组合以直接标识哪个卷116包括期望的数据块并相应地以优先方式请求所述数据块。
数据丢失
如本文所述,卷116可具有存储在不同BDS服务器系统106上的分区。因此,新卷116可从初始卷116的各个分区中检索数据块,其中各个分区存储在不同的BDS服务器系统106上。因此,如果存储所述分区中的一个的BDS服务器系统106在数据块迁移过程期间发生故障,则在已经检索到来自发生故障的分区的所有数据块的情况下,整个初始卷116不会丢失。由卷修改管理器118执行的轮询可用于确定是否已经检索到来自初始卷116分区的所有数据块,并因此确定初始卷116是否丢失。如果初始卷116丢失,则可通过传输到用户设备102的消息或者传输到用户通过用户设备102可访问的账户的消息来通知用户。
本公开的实施方案可鉴于以下条款来描述:
1.一种计算机实现的方法,其包括:
如由配置有特定可执行指令的一个或多个计算设备实现的,
接收修改第一数据卷的请求,其中所述请求包括第一操作参数;
指导服务器分配所述服务器的至少一部分以提供第二数据卷,其中所述第二数据卷的特性是基于所述第一操作参数和所述第一数据卷的特性;
指导所述第一数据卷执行I/O队列中剩余的一个或多个输入/输出(I/O)请求;
响应于所述I/O队列为空的指示,指导所述第一数据卷将第一数据卷清单传送到所述第二数据卷;
响应于所述I/O队列为空的指示,指导所述第二数据卷代替所述第一数据卷来执行未来的I/O请求;
指导所述第二数据卷使用所述第一数据卷清单来检索并存储存储在所述第一数据卷中的数据;
确定检索存储在所述第一数据卷中的所述数据的状态是已完成;以及
响应于所述确定所述检索的所述状态是已完成,指导所述服务器解除分配所述服务器中的被分配用于提供所述第一数据卷的至少一部分。
2.如条款1所述的计算机实现的方法,其中指导所述服务器解除分配所述服务器中的被分配用于提供所述第一数据卷的至少一部分还包括致使所述服务器删除所述第一数据卷的卷几何结构。
3.如条款1所述的计算机实现的方法,其还包括:
从主机系统接收对存储在所述第一数据卷中的多个数据块中的第一数据块的请求;
确定所述第一数据块未存储在所述第二数据卷中;
响应于所述确定所述第一数据块未存储在所述第二数据卷中,致使所述第一数据块的传送优先于所述多个数据块中的第二数据块;以及
在从所述第一数据卷中检索到所述第一数据块时,致使所述第二数据卷将所述第一数据块传输到所述主机系统。
4.如条款1所述的计算机实现的方法,其还包括:
从所述第一数据卷清单中检索第一数据块的存储参数;
基于所述存储参数和所述第一数据卷的几何结构,标识出所述第一数据卷中第一分区的第一部分存储所述第一数据块;
基于所述存储参数和所述第二数据卷的几何结构,标识出所述第二数据卷的第二分区的第二部分以存储所述第一数据块,其中所述第一数据卷的所述几何结构不同于所述第二数据卷的所述几何结构;以及
将所述第一数据块从所述第一数据卷中的所述第一分区的所述第一部分传送到所述第二数据卷中的所述第二分区的所述第二部分。
5.如条款4所述的计算机实现的方法,其还包括检索所述第一数据块的大小。
6.如条款4所述的计算机实现的方法,其中所述存储参数包括偏移量,其中所述第一数据卷的所述几何结构包括所述第一数据卷中的分区数量,并且其中所述第二数据卷的所述几何结构包括所述第二数据卷中的分区数量。
7.一种系统,其包括:
多个服务器,所述多个服务器托管第一数据卷的至少一部分;以及
管理系统,所述管理系统包括处理器和存储器,其中所述存储器包括指令,所述指令在由所述处理器执行时,致使所述管理系统来:
接收修改所述第一数据卷的请求;
致使所述多个服务器至少部分地基于所述请求中的信息来分配所述多个服务器的至少一部分以提供第二数据卷;
响应于输入/输出(I/O)队列为空的指示,指导所述第一数据卷将第一数据卷清单传送到所述第二数据卷;
响应于所述提供所述第二数据卷,在来自所述第一数据卷的所有数据被传送到所述第二数据卷之前,致使所述第二数据卷代替所述第一数据卷来执行I/O请求;并且
致使所述第二数据卷检索并存储存储在所述第一数据卷中的数据。
8.如条款7所述的系统,其中所述指令在由所述处理器执行时进一步致使所述管理系统来:
确定检索存储在所述第一数据卷中的所述数据的状态是已完成;并且
响应于所述确定所述检索的所述状态是已完成,致使所述多个服务器解除分配所述多个服务器中的被分配用于提供所述第一数据卷的至少一部分。
9.如条款8所述的系统,其中所述指令在由所述处理器执行时进一步致使所述管理系统来:通过致使所述多个服务器删除所述第一数据卷的卷几何结构,致使所述多个服务器解除分配所述多个服务器中的被分配用于提供所述第一数据卷的至少一部分。
10.如条款7所述的系统,其中所述指令在由所述处理器执行时进一步致使所述管理系统来:致使所述第二数据卷使用所述第一数据卷的卷清单来检索并存储存储在所述第一数据卷中的所述数据。
11.如条款7所述的系统,其中卷清单包括与存储在所述第一数据卷中的所述数据相对应的一组偏移量。
12.如条款7所述的系统,其中所述多个服务器进一步被配置来:
从主机系统接收对存储在所述第一数据卷中的多个数据块中的第一数据块的请求;
确定所述第一数据块未存储在所述第二数据卷中;
响应于所述确定所述第一数据块未存储在所述第二数据卷中,致使所述第一数据块的传送优先于所述多个数据块中的第二数据块;并且
在从所述第一数据卷中检索到所述第一数据块时,致使所述第二数据卷将所述第一数据块传输到所述主机系统。
13.如条款7所述的系统,其中所述指令在由所述处理器执行时进一步致使所述管理系统来:致使所述第一数据卷执行所述I/O队列中剩余的一个或多个I/O请求。
14.如条款7所述的系统,其中所述请求包括第一操作参数,并且其中所述第二数据卷的特性是基于所述第一操作参数和所述第一数据卷的特性。
15.如条款14所述的系统,其中所述第一数据卷的特性包括第一大小的存储容量,并且其中所述第一操作参数包括将所述第一数据卷的存储容量修改为大于所述第一大小的第二大小的指示。
16.如条款7所述的系统,其中所述第一数据卷清单包括与存储在所述第一数据卷中的数据块相对应的一组偏移量。
17.一种非暂时性计算机可读介质,其上存储有可执行程序代码,所述可执行程序代码在由数据中心执行时,指导一个或多个计算设备执行在所述一个或多个计算设备上操作的操作,所述操作包括:
接收修改第一数据卷的请求;
响应于所述请求,致使服务器分配所述服务器的至少一部分以提供第二数据卷;
在来自所述第一数据卷的所有数据存储在所述第二数据卷中之前,致使所述第二数据卷代替所述第一数据卷来执行输入/输出(I/O)请求;
致使所述第二数据卷检索并存储存储在所述第一数据卷中的数据;
确定检索存储在所述第一数据卷中的所述数据的状态是已完成;以及
响应于所述确定所述检索的所述状态是已完成,致使所述服务器解除分配所述服务器中的被分配用于提供所述第一数据卷的至少一部分。
18.如条款17所述的非暂时性计算机可读介质,其中所述操作还包括致使所述第二数据卷使用所述第一数据卷的卷清单来检索并存储存储在所述第一数据卷中的所述数据。
19.如条款18所述的非暂时性计算机可读介质,其中所述操作还包括:
从所述卷清单中检索第一数据块的存储参数;
基于所述存储参数和所述第一数据卷的几何结构,标识出所述第一数据卷中第一分区的第一部分存储所述第一数据块;
基于所述存储参数和所述第二数据卷的几何结构,标识出所述第二数据卷的第二分区的第二部分以存储所述第一数据块,其中所述第一数据卷的所述几何结构不同于所述第二数据卷的所述几何结构;以及
将所述第一数据块从所述第一数据卷中的所述第一分区的所述第一部分传送到所述第二数据卷中的所述第二分区的所述第二部分。
20.如条款19所述的非暂时性计算机可读介质,其中所述存储参数包括偏移量,其中所述第一数据卷的所述几何结构包括所述第一数据卷中的分区数量,并且其中所述第二数据卷的所述几何结构包括所述第二数据卷中的分区数量。
21.如条款18所述的非暂时性计算机可读介质,其中所述第一分区的所述第一部分包括数据块槽。
22.如条款17所述的非暂时性计算机可读介质,其中所述操作还包括致使所述第一数据卷执行I/O队列中剩余的一个或多个I/O请求。
23.如条款17所述的非暂时性计算机可读介质,其中所述第一数据卷清单包括与存储在所述第一数据卷中的数据块相对应的一组偏移量。
24.一种计算机实现的方法,其包括:
如由配置有特定可执行指令的一个或多个计算设备实现的,
接收修改第一数据卷的请求;
响应于所述请求,致使计算设备提供第二数据卷;
在来自所述第一数据卷的所有数据块存储在所述第二数据卷上之前,致使所述第二数据卷代替所述第一数据卷来执行输入/输出(I/O)请求;
致使所述第二数据卷检索并存储存储在所述第一数据卷中的多个所述数据块;
从主机系统接收对第一数据块的请求;
确定所述第一数据块未存储在所述第二数据卷中;
响应于所述确定所述第一数据块未存储在所述第二数据卷中,致使所述第一数据块的传送优先于所述多个数据块中的第二数据块;以及
在从所述第一数据卷中检索到所述第一数据块时,致使所述第二数据卷将所述第一数据块传输到所述主机系统。
25.如条款24所述的计算机实现的方法,其还包括在致使所述第二数据卷检索并存储存储在所述第一数据卷中的所述多个数据块之前,致使所述第一数据卷执行I/O队列中剩余的一个或多个I/O请求。
26.如条款24所述的计算机实现的方法,其中致使所述第二数据卷检索并存储存储在所述第一数据卷中的所述多个数据块还包括使用所述第一数据卷的卷清单,其中所述卷清单包括与存储在所述第一数据卷中的所述多个数据块相对应的一组偏移量。
27.如条款24所述的计算机实现的方法,其中所述第一数据卷包括第一分区和第二分区,其中所述第一分区包括第一数据块槽和第三数据块槽,其中所述第二分区包括第二数据块槽和第四数据块槽,其中所述第一数据块存储在所述第一分区的所述第一数据块槽中,并且其中所述第二数据块存储在所述第一分区的所述第二数据块槽中。
28.如条款27所述的计算机实现的方法,其中所述第二数据卷包括第三分区、第四分区和第五分区,其中所述第五分区包括第五数据块槽,并且其中基于所述第一数据卷中所述第二数据块的偏移量和所述第二数据块的大小,所述第二数据卷将所述第二数据块存储在所述第二数据卷的所述第五分区的所述第五数据块槽中。
29.一种系统,其包括:
多个服务器,所述多个服务器托管第一数据卷的至少一部分;以及
包括处理器和存储器的系统,其中所述存储器包括致使所述系统执行以下操作的指令:
接收修改所述第一数据卷的请求;
响应于所述请求,致使所述多个服务器分配所述多个服务器的至少一部分以提供第二数据卷;
在来自所述第一数据卷的所有数据块存储在所述第二数据卷上之前,致使所述第二数据卷代替所述第一数据卷来执行输入/输出(I/O)请求;
致使所述第二数据卷检索并存储存储在所述第一数据卷中的多个所述数据块;
从主机系统接收对第一数据块的请求;
确定所述第一数据块未存储在所述第二数据卷中;以及
致使所述第一数据块的传送优先于所述多个数据块中的第二数据块。
30.如条款29所述的系统,其中所述指令在由所述处理器执行时,进一步致使所述系统来:在致使所述第二数据卷检索并存储存储在所述第一数据卷中的所述多个数据块之前,致使所述第一数据卷执行I/O队列中剩余的一个或多个I/O请求。
31.如条款29所述的系统,其中所述指令在由所述处理器执行时进一步致使所述系统使用所述第一数据卷的卷清单。
32.如条款29所述的系统,其中所述第一数据卷包括第一分区和第二分区,其中所述第一分区包括第一数据块槽和第三数据块槽,其中所述第二分区包括第二数据块槽和第四数据块槽,其中所述第一数据块存储在所述第一分区的所述第一数据块槽中,并且其中所述第二数据块存储在所述第一分区的所述第二数据块槽中。
33.如条款32所述的系统,其中所述第二数据卷包括第三分区、第四分区和第五分区,其中所述第五分区包括第五数据块槽,并且其中基于所述第一数据卷中所述第二数据块的偏移量和所述第二数据块的大小,所述第二数据卷将所述第二数据块存储在所述第二数据卷的所述第五分区的所述第五数据块槽中。
34.如条款29所述的系统,其中所述第二数据卷通过与所述第一数据卷的第一连接来检索所述第一数据块,并且通过与所述第一数据卷的第二连接来检索所述第二数据块。
35.如条款29所述的系统,其中所述第二数据卷暂停所述第二数据块的检索以优先检索所述第一数据块。
36.如条款29所述的系统,其中所述第一数据块的所述传送包括所述第一数据块从所述第一卷到所述第二卷以及从所述第二卷到所述主机系统的传送。
37.一种非暂时性计算机可读介质,其上存储有可执行程序代码,所述可执行程序代码当在一个或多个计算设备上执行时,指导所述一个或多个计算设备执行操作,所述操作包括:
接收修改所述第一数据卷的请求;
响应于所述请求,致使服务器的至少一部分分配用于提供第二数据卷;
在所述提供所述第二数据卷之后,致使所述第二数据卷代替所述第一数据卷来执行输入/输出(I/O)请求;
致使所述第二数据卷检索并存储存储在所述第一数据卷中的多个数据块;
接收对所述多个数据块中的第一数据块的请求;以及
响应于确定所述第一数据块未存储在所述第二数据卷中,致使所述第一数据块的传送优先于所述多个数据块中的第二数据块。
38.如条款37所述的非暂时性计算机可读介质,其中所述操作还包括:
从所述第一数据卷的卷清单中检索所述第一数据块的存储参数;
基于所述存储参数和所述第一数据卷的几何结构,标识出所述第一数据卷中第一分区的第一部分存储所述第一数据块;
基于所述存储参数和所述第二数据卷的几何结构,标识出所述第二数据卷的第二分区的第二部分以存储所述第一数据块,其中所述第一数据卷的所述几何结构不同于所述第二数据卷的所述几何结构;以及
将所述第一数据块从所述第一数据卷中的所述第一分区的所述第一部分传送到所述第二数据卷中的所述第二分区的所述第二部分。
39.如条款38所述的非暂时性计算机可读介质,其中所述存储参数包括偏移量,其中所述第一数据卷的所述几何结构包括所述第一数据卷中的分区数量,并且其中所述第二数据卷的所述几何结构包括所述第二数据卷中的分区数量。
40.如条款38所述的非暂时性计算机可读介质,其中所述卷清单包括与存储在所述第一数据卷中的所述多个数据块相对应的一组偏移量。
41.如条款37所述的非暂时性计算机可读介质,其中所述操作还包括在致使所述第二数据卷检索并存储存储在所述第一数据卷中的所述多个数据块之前,致使所述第一数据卷执行所述第一数据卷的I/O队列中剩余的一个或多个I/O请求。
42.如条款37所述的非暂时性计算机可读介质,其中所述第二数据卷通过与所述第一数据卷的第一连接来检索所述第一数据块,并且通过与所述第一数据卷的第二连接来检索所述第二数据块。
43.如条款37所述的非暂时性计算机可读介质,其中所述第二数据卷暂停所述第二数据块的检索以优先检索所述第一数据块。
本文描述的所有方法和任务都可由计算机系统执行并完全自动化。在一些情况下,计算机系统可包括多个不同的计算机或计算设备(例如,物理服务器、工作站、存储阵列、云计算资源等),所述计算机或计算设备通过网络进行通信和互操作以执行所描述的功能。每个这种计算设备通常包括处理器(或多个处理器),所述处理器执行存储在存储器或其他非暂时性计算机可读存储介质或设备(例如,固态存储设备、磁盘驱动器等)中的程序指令或模块。本文公开的各种功能可体现在此类程序指令中,或者可在计算机系统的专用电路(例如,ASIC或FPGA)中实现。在计算机系统包括多个计算设备的情况下,这些设备可、但不必位于同一位置。通过将物理存储设备(诸如固态存储器芯片或磁盘)变换为不同的状态,可持久地存储所公开的方法和任务的结果。在一些实施方案中,计算机系统可以是基于云的计算系统,其处理资源由多个不同的商业实体或其他用户共享。
取决于实施方案,本文所述的过程或算法中的任一个的某些动作、事件或功能可按不同顺序来执行,可被添加、合并或全部排除(例如,为了实践算法,并不是所有所描述的操作或事件都是必需的)。此外,在某些实施方案中,操作或事件可同时执行(例如,通过多线程处理、中断处理或多个处理器或处理器核心或者在其他平行架构上),而不是顺序地执行。
结合本文公开的实施方案所描述的各种说明性逻辑区块、模块、例程和算法步骤可实现为电子硬件(例如,ASIC或FPGA设备)、在计算机硬件上运行的计算机软件或两者的组合。此外,可由机器(诸如处理器设备、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑设备、离散门或晶体管逻辑、离散硬件组件或被设计来执行本文所描述功能的上述各者的任何组合)来实现或执行结合本文公开的实施方案所描述的各种说明性逻辑区块和模块。处理器设备可以是微处理器,但是在替代方案中,处理器设备可以是控制器、微控制器或状态机、上述各者的组合等。处理器设备可包括被配置来处理计算机可执行指令的电路系统。在另一个实施方案中,处理器设备包括FPGA或在不处理计算机可执行指令的情况下执行逻辑操作的其他可编程设备。处理器设备还可实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、与DSP核心结合的一个或多个微处理器或者任何其他此类配置。尽管本文主要关于数字技术来描述,但处理器设备也可主要包括模拟组件。例如,本文描述的一些或所有呈现技术可在模拟电路或混合模拟和数字电路中实现。计算环境可包括任何类型的计算机系统,包括但不限于,举例来说,基于微处理器的计算机系统、大型计算机、数字信号处理器、便携式计算设备、设备控制器或器具内的计算引擎。
结合本文公开的实施方案所描述的方法、过程、例程或算法的要素可直接体现在硬件中、由处理器设备执行的软件模块中,或这两者的组合中。软件模块可驻存在RAM存储器、闪速存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM或任何其他形式的非暂时性计算机可读存储介质中。示例性存储介质可耦合到处理器设备,以使得处理器设备可从存储介质读取信息,并将信息写入到存储介质。在替代方案中,存储介质可与处理器设备成一体。处理器设备和存储介质可驻存在ASIC中。ASIC可驻留在用户终端中。在替代方案中,处理器设备和存储介质可作为离散组件驻存在用户终端中。
除非另外特别说明,或在所使用的上下文内另外加以理解,否则本文所使用的条件语言,诸如“能够”、“可”、“可能”、“可以”、“例如”等通常意图表达:某些实施方案包括某些特征、要素或步骤,而其他实施方案不包括这些特征、要素或步骤。因此,这种条件语言通常并非意图暗示特征、要素或步骤无论如何都是一个或多个实施方案所必需的,或者并非意图暗示一个或多个实施方案必须包括用于在具有或不具有其他输入或提示的情况下决定这些特征、元件或步骤是否包括在任何特定实施方案中或将在其中执行的逻辑。术语“包括”、“包含”、“具有”等是同义的,并且以开放的方式包含性地使用,并且不排除附加要素、特征、动作、操作等等。另外,术语“或者”以其包含性意义(并且不以其排除性意义)使用,以使得当例如用于连接要素的列表时,术语“或者”意味着所述列表中要素中的一个、一些或全部。
除非另外特别说明,否则诸如短语“X、Y或Z中的至少一个”的分离性语言在上下文中通常应理解为用于呈现项目、项等可以是X、Y或Z或它们的任何组合(例如,X、Y或Z)。因此,这种分离性语言通常并不意图并且不应暗示某些实施方案要求X中的至少一个、Y中的至少一个或Z中的至少一个都存在。
虽然上文的详细说明已经在应用于各种实施方案时被展示、描述并指出新颖特征,但是可理解,在所示出设备或算法的形式和细节上的各种省略、代替和改变可在不背离本公开精神的情况下做出。如可认识到的,本文所述的某些实施方案可在不提供本文所阐述的所有特征和益处的形式内体现,因为一些特征可与其他特征分开使用或实践。本文公开的某些实施方案的范围是由所附权利要求书而不是由前述描述来指示。处于权利要求书的等效意义和范围内的所有改变都应涵盖在权利要求书的范围中。

Claims (15)

1.一种系统,其包括:
多个服务器,所述多个服务器托管第一数据卷的至少一部分;以及
管理系统,所述管理系统包括处理器和存储器,其中所述存储器包括指令,所述指令在由所述处理器执行时致使所述管理系统来:
接收修改所述第一数据卷的请求;
致使所述多个服务器至少部分地基于所述请求中的信息来分配所述多个服务器的至少一部分以提供第二数据卷;
响应于输入/输出(I/O)队列为空的指示,指导所述第一数据卷将第一数据卷清单传送到所述第二数据卷;
响应于所述提供所述第二数据卷,在来自所述第一数据卷的所有数据被传送到所述第二数据卷之前,致使所述第二数据卷代替所述第一数据卷来执行I/O请求;并且
致使所述第二数据卷检索并存储存储在所述第一数据卷中的数据。
2.如权利要求1所述的系统,其中所述指令在由所述处理器执行时进一步致使所述管理系统来:
确定检索存储在所述第一数据卷中的所述数据的状态是已完成;并且
响应于所述确定所述检索的所述状态是已完成,致使所述多个服务器解除分配所述多个服务器中的被分配用于提供所述第一数据卷的至少一部分。
3.如权利要求2所述的系统,其中所述指令在由所述处理器执行时进一步致使所述管理系统来:通过致使所述多个服务器删除所述第一数据卷的卷几何结构,致使所述多个服务器解除分配所述多个服务器中的被分配用于提供所述第一数据卷的至少一部分。
4.如权利要求1所述的系统,其中所述指令在由所述处理器执行时进一步致使所述管理系统来:致使所述第二数据卷使用所述第一数据卷的卷清单来检索并存储存储在所述第一数据卷中的所述数据。
5.如权利要求1所述的系统,其中卷清单包括与存储在所述第一数据卷中的所述数据相对应的一组偏移量。
6.如权利要求1所述的系统,其中所述多个服务器进一步被配置来:
从主机系统接收对存储在所述第一数据卷中的多个数据块中的第一数据块的请求;
确定所述第一数据块未存储在所述第二数据卷中;
响应于所述确定所述第一数据块未存储在所述第二数据卷中,致使所述第一数据块的传送优先于所述多个数据块中的第二数据块;并且
在从所述第一数据卷中检索到所述第一数据块时,致使所述第二数据卷将所述第一数据块传输到所述主机系统。
7.如权利要求1所述的系统,其中所述指令在由所述处理器执行时进一步致使所述管理系统来:致使所述第一数据卷执行所述I/O队列中剩余的一个或多个I/O请求。
8.如权利要求1所述的系统,其中所述请求包括第一操作参数,并且其中所述第二数据卷的特性是基于所述第一操作参数和所述第一数据卷的特性。
9.如权利要求8所述的系统,其中所述第一数据卷的特性包括第一大小的存储容量,并且其中所述第一操作参数包括将所述第一数据卷的所述存储容量修改为大于所述第一大小的第二大小的指示。
10.如权利要求1所述的系统,其中所述第一数据卷清单包括与存储在所述第一数据卷中的数据块相对应的一组偏移量。
11.一种方法,其包括:
接收修改第一数据卷的请求;
响应于所述请求,致使服务器分配所述服务器的至少一部分以提供第二数据卷;
在来自所述第一数据卷的所有数据存储在所述第二数据卷中之前,致使所述第二数据卷代替所述第一数据卷来执行输入/输出(I/O)请求;
致使所述第二数据卷检索并存储存储在所述第一数据卷中的数据;
确定检索存储在所述第一数据卷中的所述数据的状态是已完成;以及
响应于所述确定所述检索的所述状态是已完成,致使所述服务器解除分配所述服务器中的被分配用于提供所述第一数据卷的至少一部分。
12.如权利要求11所述的方法,其还包括致使所述第二数据卷使用所述第一数据卷的卷清单来检索并存储存储在所述第一数据卷中的所述数据。
13.如权利要求12所述的非暂时性计算机可读介质,其还包括:
从所述卷清单中检索第一数据块的存储参数;
基于所述存储参数和所述第一数据卷的几何结构,标识出所述第一数据卷中第一分区的第一部分存储所述第一数据块;
基于所述存储参数和所述第二数据卷的几何结构,标识出所述第二数据卷的第二分区的第二部分以存储所述第一数据块,其中所述第一数据卷的所述几何结构不同于所述第二数据卷的所述几何结构;以及
将所述第一数据块从所述第一数据卷中的所述第一分区的所述第一部分传送到所述第二数据卷中的所述第二分区的所述第二部分。
14.如权利要求13所述的方法,其中所述存储参数包括偏移量,其中所述第一数据卷的所述几何结构包括所述第一数据卷中的分区数量,并且其中所述第二数据卷的所述几何结构包括所述第二数据卷中的分区数量。
15.如权利要求11所述的方法,其中所述操作还包括致使所述第一数据卷执行I/O队列中剩余的一个或多个I/O请求。
CN201780045103.1A 2016-06-29 2017-06-28 网络可访问数据卷修改 Active CN109478151B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/197,557 US10469405B2 (en) 2016-06-29 2016-06-29 Network-accessible data volume modification
US15/197,573 US10037298B2 (en) 2016-06-29 2016-06-29 Network-accessible data volume modification
US15/197,557 2016-06-29
US15/197,573 2016-06-29
PCT/US2017/039793 WO2018005666A1 (en) 2016-06-29 2017-06-28 Network-accessible data volume modification

Publications (2)

Publication Number Publication Date
CN109478151A true CN109478151A (zh) 2019-03-15
CN109478151B CN109478151B (zh) 2022-03-29

Family

ID=59363223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780045103.1A Active CN109478151B (zh) 2016-06-29 2017-06-28 网络可访问数据卷修改

Country Status (5)

Country Link
EP (1) EP3479236B1 (zh)
JP (1) JP6720357B2 (zh)
CN (1) CN109478151B (zh)
AU (1) AU2017290693B2 (zh)
WO (1) WO2018005666A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111597166B (zh) * 2020-05-15 2023-10-27 海南电网有限责任公司 电力数据库模型构建方法、装置、计算机设备和存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070124555A1 (en) * 2005-11-30 2007-05-31 Xiv Ltd. Restricting access to improve data availability
US20080072003A1 (en) * 2006-03-28 2008-03-20 Dot Hill Systems Corp. Method and apparatus for master volume access during colume copy
US8239589B1 (en) * 2010-03-31 2012-08-07 Amazon Technologies, Inc. Balancing latency and throughput for shared resources
CN102662605A (zh) * 2012-03-07 2012-09-12 忆正科技(武汉)有限公司 基于固态存储介质的存储设备、存储系统及存储方法
CN103460667A (zh) * 2011-04-07 2013-12-18 高通股份有限公司 使用字节范围请求的视频数据的网络流
CN103677656A (zh) * 2012-08-31 2014-03-26 株式会社日立制作所 虚拟存储系统和远程复制系统的管理方法
CN103765406A (zh) * 2011-06-30 2014-04-30 亚马逊科技公司 用于远程更新执行进程的方法和设备
US20150006846A1 (en) * 2013-06-28 2015-01-01 Saratoga Speed, Inc. Network system to distribute chunks across multiple physical nodes with disk support for object storage
US8984243B1 (en) * 2013-02-22 2015-03-17 Amazon Technologies, Inc. Managing operational parameters for electronic resources
CN105122243A (zh) * 2013-03-15 2015-12-02 亚马逊科技公司 用于半结构化数据的可扩展分析平台
CN105138435A (zh) * 2008-08-08 2015-12-09 亚马逊技术有限公司 向执行中的程序提供对非本地块数据存储装置的可靠访问

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3410010B2 (ja) * 1997-12-24 2003-05-26 株式会社日立製作所 サブシステムの移行方法および情報処理システム
US20140310458A1 (en) * 2013-04-11 2014-10-16 Tencent Technology (Shenzhen) Company Limited Data transferring method and apparatus and storage system
US10042564B2 (en) * 2014-06-30 2018-08-07 International Business Machines Corporation Accessing data while migrating storage of the data

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070124555A1 (en) * 2005-11-30 2007-05-31 Xiv Ltd. Restricting access to improve data availability
US20080072003A1 (en) * 2006-03-28 2008-03-20 Dot Hill Systems Corp. Method and apparatus for master volume access during colume copy
CN105138435A (zh) * 2008-08-08 2015-12-09 亚马逊技术有限公司 向执行中的程序提供对非本地块数据存储装置的可靠访问
US8239589B1 (en) * 2010-03-31 2012-08-07 Amazon Technologies, Inc. Balancing latency and throughput for shared resources
CN103460667A (zh) * 2011-04-07 2013-12-18 高通股份有限公司 使用字节范围请求的视频数据的网络流
CN103765406A (zh) * 2011-06-30 2014-04-30 亚马逊科技公司 用于远程更新执行进程的方法和设备
CN102662605A (zh) * 2012-03-07 2012-09-12 忆正科技(武汉)有限公司 基于固态存储介质的存储设备、存储系统及存储方法
CN103677656A (zh) * 2012-08-31 2014-03-26 株式会社日立制作所 虚拟存储系统和远程复制系统的管理方法
US8984243B1 (en) * 2013-02-22 2015-03-17 Amazon Technologies, Inc. Managing operational parameters for electronic resources
CN105122243A (zh) * 2013-03-15 2015-12-02 亚马逊科技公司 用于半结构化数据的可扩展分析平台
US20150006846A1 (en) * 2013-06-28 2015-01-01 Saratoga Speed, Inc. Network system to distribute chunks across multiple physical nodes with disk support for object storage

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SONG X: ""Offset optimization based on queue length constraint for saturated arterial intersections"", 《DISCRETE DYNAMICS IN NATURE AND SOCIETY》 *
孙维连: ""NTFS文件系统的INDX文件结构"", 《电脑学习》 *

Also Published As

Publication number Publication date
JP6720357B2 (ja) 2020-07-08
AU2017290693A1 (en) 2019-01-24
WO2018005666A8 (en) 2018-02-08
EP3479236B1 (en) 2021-09-22
JP2019525311A (ja) 2019-09-05
CN109478151B (zh) 2022-03-29
EP3479236A1 (en) 2019-05-08
WO2018005666A1 (en) 2018-01-04
AU2017290693B2 (en) 2020-07-02

Similar Documents

Publication Publication Date Title
US11411885B2 (en) Network-accessible data volume modification
US10873623B2 (en) Dynamically modifying a cluster of computing nodes used for distributed execution of a program
US10037298B2 (en) Network-accessible data volume modification
US8418181B1 (en) Managing program execution based on data storage location
CN106528327B (zh) 一种数据处理方法以及备份服务器
JP4684696B2 (ja) 記憶制御方法及びシステム
CN102971724B (zh) 与数据中心环境内的基于单元式虚拟资源的管理有关的方法和装置
CN102981929B (zh) 磁盘镜像的管理方法和系统
US20100115070A1 (en) Method for generating manipulation requests of an initialization and administration database of server cluster, data medium and corresponding a server cluster, data medium and corresponding service cluster
CN105593804A (zh) 用于文件系统虚拟化的方法和设备、用于文件系统虚拟化的数据存储系统、以及用于数据存储系统的文件服务器
JPH1011372A (ja) Cpu及びi/oデバイス間のリファレンスによるコンピュータシステムデータi/o
JP2011076286A (ja) ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法
EP2857975A1 (en) Parallel data processing system, computer, and parallel data processing method
JPWO2014155555A1 (ja) 管理システム及び管理プログラム
CN103885811B (zh) 虚拟机系统全系统在线迁移的方法、系统与装置
JPH103441A (ja) Cpu及び多重メモリ装置間のリファレンスによるコンピュータシステムデータi/o
CN110162407A (zh) 一种资源管理方法及装置
CN117480494A (zh) 改进虚拟计算环境中资源分配的协调容器调度
CN110262893A (zh) 配置镜像内存的方法、装置及计算机存储介质
CN112084173A (zh) 数据迁移方法和装置及存储介质
CN109992373A (zh) 资源调度方法、信息管理方法和装置及任务部署系统
CN109478151A (zh) 网络可访问数据卷修改
JP2009187468A (ja) 記憶システム、解除方法及び副側のストレージ装置
CN112988377A (zh) 用于云服务的资源分配方法、系统和介质
CN107168646B (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