[go: up one dir, main page]

CN107408020B - 数据卷的动态配置 - Google Patents

数据卷的动态配置 Download PDF

Info

Publication number
CN107408020B
CN107408020B CN201680017946.6A CN201680017946A CN107408020B CN 107408020 B CN107408020 B CN 107408020B CN 201680017946 A CN201680017946 A CN 201680017946A CN 107408020 B CN107408020 B CN 107408020B
Authority
CN
China
Prior art keywords
data volume
configuration
client
data
recommendation
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.)
Active
Application number
CN201680017946.6A
Other languages
English (en)
Other versions
CN107408020A (zh
Inventor
M·J·布鲁克
J·M·汤普森
M·S·奥尔森
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
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN107408020A publication Critical patent/CN107408020A/zh
Application granted granted Critical
Publication of CN107408020B publication Critical patent/CN107408020B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

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)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种存储系统可实现数据卷的动态配置。可跟踪或监测存储系统中的数据卷的客户端利用。基于所述数据卷的所述利用,可确定根据数据卷供应重新配置所述数据卷的配置推荐。可根据授权的配置推荐来配置所述数据卷。在一些实施方案中,可将这些推荐提供给客户端,并且可接收对要执行的所述配置推荐的选择。在一些实施方案中,可基于先前提供的对配置所述数据卷的授权来自动执行配置推荐。

Description

数据卷的动态配置
背景技术
用于在网络中动态共享硬件资源、软件和信息存储的虚拟化的最近技术革命提高了计算的可靠性、可扩展性和成本效益。更具体地,通过虚拟化的出现来提供按需虚拟计算资源和存储的能力已经使得处理资源和存储的消费者能够响应于立即察觉的计算和存储需求而灵活地构建其计算和存储成本。虚拟化允许消费者在需求时购买处理器周期和存储,而不是以硬件制造和部署的延迟和成本所决定的供应周期来购买或租赁固定硬件。并非取决于未来需求预测的准确性来确定计算和存储的可用性,用户能够在相对瞬时需要的基础上购买计算和存储资源的使用。
虚拟化计算环境可以提供关于计算资源的可用性和耐久性的各种保证。在多个资源主机之间分配计算资源可以提供不同的可用性和耐久性特性。例如,虚拟计算资源可以提供基于块的存储。这种基于块的存储提供了存储系统,所述存储系统能够通过一系列标准化存储调用与各种计算虚拟化进行交互,所述标准化存储调用使得基于块的存储与其支持的卷的结构和功能细节、以及所述基于块的存储向其提供存储可用性的虚拟化上执行的操作系统在功能上无关。基于块的存储可能以许多方式配置,所述方式中一些可能对于特定用例比其他方式更加优选。然而,由于存在可配置基于块的存储的许多方式,因此在初始设置存储时可能难以发现最佳配置。
附图说明
图1示出根据一些实施方案的示出数据卷的动态配置的一系列逻辑框图。
图2是示出根据一些实施方案的包括实现数据卷的动态配置的基于块的存储服务的提供商网络的框图。
图3是示出根据一些实施方案的实现数据卷的动态配置的配置管理器的逻辑框图。
图4是示出根据一些实施方案的用于配置数据卷的动态配置的在客户端与存储服务之间的交互的逻辑框图。
图5是根据一些实施方案的对数据卷的配置推荐的通知的示例性图示。
图6是示出根据一些实施方案的用于实现数据卷的动态配置的各种方法和技术的高级流程图。
图7是示出根据一些实施方案的用于确定配置推荐的各种方法和技术的高级流程图。
图8是示出根据一些实施方案的用于配置数据卷的各种方法和技术的高级流程图。
图9是示出根据一些实施方案的示例性计算系统的框图。
虽然在本文中通过举例的方式针对若干实施方案和示意性附图描述了实施方案,本领域的技术人员应认识到,实施方案并不限于所描述的实施方案或附图。应理解,附图和对其的详细描述并非旨在将实施方案限于所公开的特定形式,而相反,其意图在于涵盖落入由所附权利要求书限定的精神和范围内的所有修改、等效物和替代方案。本文中使用的标题仅用于组织目的,并且并不意图用于限制本说明书或权利要求书的范围。如贯穿本申请所使用的,词语“可以”是在容许意义上(即,意指具有可能性)而非强制意义上(即,意指必须)使用的。类似地,词语“包括(include、including和includes)”表示包括但不限于。
具体实施方式
本文描述的系统和方法可以实现数据卷的动态配置。在各种实施方案中,数据卷可以为各种客户端提供基于块的存储。这些客户端可以利用数据卷作为执行许多不同应用的一部分,所述应用诸如数据库系统、虚拟桌面、开发和测试环境、业务应用、或数据存档。为了提供更好的性能和/或成本收益,可以不同地配置数据卷。例如,一些数据卷可能接收大I/O工作负载,而其他数据卷可能是不经常访问的。确定适当的数据卷配置可能很困难,因为预测的数据卷利用可能不等于实际的数据卷利用。因此,一旦数据卷的利用开始,所选择的数据卷的初始配置可能不证明对于某些任务是最优的。数据卷的动态配置可以提供基于数据卷的实际利用来发现最佳数据卷配置的方式。对数据卷配置的改变可以自动执行,或者通过明确的授权来执行。
图1示出根据一些实施方案的示出数据卷的动态配置的一系列逻辑框图。如场景102所示,客户端130利用140数据卷112以便为各种客户端应用、任务和/或功能提供基于块的存储。例如,客户端130可以是数据库引擎,所述数据库引擎将数据库的数据存储在数据卷112中,从而执行各种读和写请求以便获取和更新数据库的数据。存储系统110可能以特定配置为客户端130托管数据卷112。例如,数据卷112可以由固态驱动器(SSD)或磁存储驱动器(例如,HDD)实现以便将数据存储在数据卷中。数据卷可以被实现为许多不同类型之一。此外,针对不同卷类型可以采用不同的资源分配(例如,分配存储空间量或IOPS数量以便供对数据卷的访问)。可以根据存储系统110所提供的数据卷供应来实现数据卷配置。例如,某种类型的数据卷可能具有不同的资源分配(例如,以100IOPS为增量来分配IOPS,或允许在特定范围内的用户限定的资源分配)。
存储系统110可以实现配置管理器120以便跟踪数据卷112的客户端利用142。如场景104所示,配置管理器120可以提供配置推荐144以重新配置数据卷112。在各种实施方案中,根据存储系统110的数据卷供应,这种推荐的配置可以改善数据卷的性能和/或成本,从而改变数据卷的类型和/或资源分配。例如,如果数据卷112存储在HDD中,则配置推荐可以指示对SSD所支持的卷类型的改变可以增加数据卷的工作负载容量。推荐可以指示包括SSD所支持的卷类型的数据卷供应。图6和图7在以下提供了确定配置推荐的各种实例。
如场景106所示,可以提供重新配置授权146以便授权推荐的配置推荐之一。例如,可以通过指示要执行的配置推荐的图形用户接口或应用编程接口(API)请求来提供选择。配置管理器148可以引导重新配置148以便实现重新配置的数据卷114。在一些实施方案中,可以执行迁移操作以便将数据卷移动到可以能够托管重新配置的数据卷的其他主机。如场景106所示,在重新配置期间,客户端130可以继续访问数据卷112。一旦完成,根据新配置,客户端130可以利用数据卷150来访问重新配置的数据卷114。
请注意前述描述不旨在进行限制,而是仅仅作为数据卷的动态配置的实例来提供。各种部件可以执行配置管理。可以采用不同数量或类型的数据卷和客户端。
本说明书以提供商网络的一般描述开始,所述提供商网络可以实现通过基于块的存储服务供应的数据卷的动态配置。然后讨论基于块的存储服务的各种实例,包括可以用作在基于块的存储服务中配置数据卷的一部分的不同部件/模块、或部件/模块的布置。然后讨论实现数据卷动态配置的多个不同的方法和技术,所述方法和技术中一些在附带的流程图中说明。最后,提供了对示例性计算系统的描述,在所述示例性计算系统上可实现各种部件、模块、系统、装置和/或节点。在整个说明书中提供各种实例。
图2是示出根据一些实施方案的包括实现数据卷的动态配置的基于块的存储服务的提供商网络的框图。提供商网络200可由诸如公司或公共部门组织的实体建立来将可经由互联网和/或其他网络访问的一种或多种服务(诸如各种类型的基于云的计算或存储)提供至客户端210。提供商网络200可包括许多数据中心,所述数据中心托管实现和分布由提供商网络200供应的基础设施和服务所需的各种资源池(诸如物理和/或虚拟化计算机服务器、存储装置、联网设备等(例如,以下关于图9描述的计算系统1000)的集合)。在一些实施方案中,提供商网络200可以提供:诸如虚拟计算服务230的计算资源、诸如基于块的存储服务220和其他存储服务240(其可以包括各种存储类型,诸如基于对象/键值的数据存储或各种类型的数据库系统)的存储服务、和/或任何其他类型的基于网络的服务250。客户端210可以通过网络260访问由提供商网络200提供的这些各种服务。同样,基于网络的服务本身也可以彼此通信和/或利用彼此来提供不同的服务。例如,以称为“实例”(诸如虚拟或物理计算实例或存储实例)的单元提供给客户端210的计算资源可以使用特定数据卷226,从而为计算实例提供虚拟块存储。
如上所述,虚拟计算服务230可以向客户端210提供各种计算实例。虚拟计算实例例如可包括具有指定的计算容量(所述计算容量可通过指示CPU的类型和数量、主存储器大小等进行指定)和指定的软件栈(例如,特定版本的操作系统,其进而可在管理程序上运行)的一个或多个服务器。在不同的实施方案中,许多不同类型的计算装置可单独或组合使用以实现虚拟计算服务230的计算实例,所述不同类型的计算装置包括专用的计算机服务器、存储装置、网络装置等。在一些实施方案中,示例性客户端210或其他任何其他用户可以被配置(和/或授权)来将网络流量引导到计算实例。在各种实施方案中,计算实例可以附接或映射到由基于块的存储服务220提供的一个或多个数据卷226,以便获得用于执行各种操作的永久性基于块的存储。
计算实例可以操作或实现各种不同的平台,诸如应用服务器实例、JavaTM虚拟机(JVM)、专用操作系统、支持各种解释或编译编程语言(诸如Ruby、Perl、Python、C、C++等)的平台、或适用于执行客户端应用而例如不要求客户端210访问实例的高性能计算平台。在一些实施方案中,基于预期的正常运行时间比率,计算实例具有不同的类型或配置。特定计算实例的正常运行时间比率可以被限定为实例被激活的时间量与实例被保留的总时间量的比率。在一些实现方式中,正常运行时间比率也可以被称为利用率。如果客户端期望在实例被保留的时间的相对小部分内(例如,长达一年保留的30%-35%)使用计算实例,则客户端可以决定将实例保留为低正常运行时间比率实例,并且根据相关联的定价策略支付折扣的小时使用费用。如果客户端期望具有要求实例达到最大时间的稳态工作负载,则客户可以保留高正常运行时间比率实例并且潜在地支付甚至更低的小时使用费用,尽管在一些实施方案中,根据定价策略可以在整个保留持续时间内收取小时费用而不管实际的使用小时数。在一些实施方案中,也可以支持具有对应定价策略的中等正常运行时间比率实例的选项,其中前期成本和每小时成本落在对应的高正常运行时间比率成本与低正常运行时间比率成本之间。
计算实例配置还可以包括具有一般或特定目的的计算实例,诸如用于计算密集型应用(例如,高流量web应用、广告投放、批处理、视频编码、分布式分析、高能物理、基因组分析和计算流体动力学)的计算工作负载、图形密集型工作负载(例如,游戏流、3D应用流、服务器侧图形工作负载、渲染、财务建模和工程设计)、存储器密集型工作负载(例如,高性能数据库、分布式存储器高速缓存、存储器中分析、基因组组装和分析)、以及存储优化的工作负载(例如,数据仓储和集群文件系统)。计算实例的大小,诸如特定数量的虚拟CPU核心、存储器、高速缓存、存储装置、以及任何其他性能特性。计算实例的配置还可以包括其在特定数据中心、可用性区、地理位置等中的位置以及(在保留的计算实例的情况下)保留期长度。
在各种实施方案中,提供商网络200还可以实现基于块的存储服务220以用于执行存储操作。基于块的存储服务220是由多个独立资源主机224a、224b、224c至224n(例如,服务器块数据存储系统或存储节点)的池构成的存储系统,其提供用于存储一组或多组数据卷(数据卷226a、226b、226c至226n)的块级存储。数据卷226可以通过网络来映射或附加到特定客户端(例如,虚拟计算服务230的虚拟计算实例),从而提供基于虚拟块的存储(例如,硬盘存储或其他永久性存储)作为一组连续的逻辑块。在一些实施方案中,数据卷226可被划分成用于执行其他块存储操作(诸如快照操作或复制操作)的多个数据组块或分区(包括一个或多个数据块)。数据卷226的卷快照可以是数据卷226的状态的固定时间点表示。在一些实施方案中,卷快照可以从维持数据卷的资源主机224远程存储,诸如在另一个存储服务240中。可以执行快照操作以便发送、复制和/或以其他方式保留给定数据卷的快照于另一存储位置(诸如其他存储服务240中的远程快照数据存储区)。
资源主机224可以是一个或多个计算系统或装置,诸如存储服务器或其他计算系统(例如,以下参考图9描述的计算系统1000)。每个资源主机224可以维持数据卷的相应副本。在一些实施方案中,一些数据卷可能在配置方面与其他数据卷不同。因此,一些资源主机224可以托管可能具有不同配置的多个数据卷。数据卷的一些配置可以在具有特定类型的硬件(例如,固态存储驱动器(SSD)或磁盘存储装置(例如,硬盘驱动器(HDD))或软件(例如,不同的存储管理器操作/应用)的资源主机处实现,以便提供数据卷的不同类型、规格和其他性能特性。例如,一些资源主机可以实现用于永久性块存储的SSD以便提供较高吞吐能力(例如,每秒输入/输出操作(IOPS),而其他资源主机可以实现可具有较大存储容量(如果吞吐能力较小)的HDD或其他基于磁性的永久性存储装置。
资源主机还可以提供多租户存储。例如,在一些实施方案中,一个资源主机可以为基于块的存储服务220的一个帐户维持数据卷,而维持在相同资源主机处的另一个数据卷可以被维持以用于不同的帐户。资源主机可以使其相应数据卷存留在一个或多个基于块的存储装置(例如,硬盘驱动器、固态驱动器等)中,所述一个或多个基于块的存储装置可以直接附接到实现相应资源主机的计算系统或装置。资源主机可以实现不同的永久性存储装置。
基于块的存储服务220可能以各种不同的方式来管理和维持数据卷。对于作为分布式资源在数据卷的不同分区处维持数据卷的相同副本的两个或更多个资源主机中的一些数据卷,可以实现不同的耐久性方案。例如,可以实现不同类型的镜像和/或复制技术(例如,RAID1)以便增加数据卷的耐久性(诸如通过消除数据卷的单个故障点)。为了提供对数据卷的访问,资源主机可以然后在维持数据卷副本的两个或更多个资源主机之间协调诸如写入请求的I/O请求。例如,对于给定的数据卷,一个资源主机可以用作主资源主机。在各种实施方案中,主资源主机可以从数据卷的客户端接收和处理请求(例如,I/O请求)。因此,主资源主机可以然后对于作为从资源主机的一个或多个其他资源主机协调I/O请求(诸如写入请求)的复制、或对数据卷的任何其他改变或修改。因此,当在主资源主机处接收到对数据卷的写入请求时,主资源主机可以将写入请求转发到从资源主机,并且在主资源主机处完成写入请求之前,等待直到从资源主机将写入请求确认为完成。主资源主机可以为数据卷引导其他操作,如快照操作或其他I/O操作(例如,提供读取请求)。
请注意,在一些实施方案中,可以为每个数据卷分配主资源主机和从资源主机的角色。例如,对于维持在一个资源主机处的数据卷,资源主机可以用作主资源主机。而对于维持在相同资源主机处的另一个数据卷,资源主机可以用作从资源主机。资源主机可以实现相应的I/O管理器。I/O管理器可以处理针对维持在特定资源主机处的数据卷的I/O请求。因此,例如,I/O管理器可以处理和操纵对资源主机处的卷的写入请求。I/O管理器可能被配置来根据基于块的存储服务应用编程接口(API)和/或其他通信协议(诸如互联网小型计算机系统接口(iSCSI))来处理I/O请求。
资源主机可能位于不同的基础设施区内。基础设施区可以由装置限定,所述装置诸如服务器机架、联网交换机、路由器或其他部件、电源(或其他资源主机供应商)、或物理位置或地理位置(例如,特定行、房间、建筑物、数据中心、容错区等中的位置)。基础设施区的范围可能变化,使得资源主机(以及在资源主机上实现的数据卷的副本)可能位于多种不同类型的基础设施区内,诸如特定网络路由器或程序块、特定房间位置、特定站点等。
如上所述,基于块的存储服务220可以提供各种不同的数据卷配置(诸如不同类型的数据卷或不同的资源分配)以便提供不同的性能特性。由基于块的存储服务220提供的不同数据卷供应可以组合各种类型和/或资源分配的数据卷以供客户端利用。例如,在至少一些实施方案中,基于块的存储服务220可以提供包括不同类型数据卷(诸如(但不限于)通用数据卷、规定的访问数据卷和/或成本有效的数据卷)的数据卷供应。数据卷供应可以为客户端提供选择(通过不同粒度)数据卷的性能和/或成本的能力。
在至少一些实施方案中,通用数据卷可以由SSD支持,并且可以提供足以用于许多不同类型的工作负载(诸如小型到中型数据库、开发和测试环境、以及引导数据卷)的性能。在一些实施方案中,引导数据卷可以允许虚拟计算实例(诸如由虚拟计算服务230提供的实例)直接从引导数据卷进行引导。从引导数据卷引导的虚拟实例可以停止并且稍后重新启动,从而保留了被保存到引导数据卷的任何状态并且允许在实例停止时修改虚拟计算实例的一些属性。可能以许多方式来配置通用数据卷的资源分配。例如,通用数据卷可以被配置在不同存储大小(例如,1千兆字节到1太字节)的范围内。
用于提供对存储数据的访问的资源分配也可能变化。例如,在一些实施方案中,通用数据卷的不同数据卷供应可以提供基线访问性能(例如,对于数据卷,3IOPS/千兆字节,其中总吞吐量高达128兆字节/秒)。附加的访问性能容量可以被设置为可用的、或者基于不同的共享或调度方案。例如,通用数据卷可以提供用于突发性能的附加访问容量(例如,突发高达3,000IOPS/卷的能力)。在一些实施方案中,此突发性能容量可以独立于卷大小(例如,允许20GB数据卷或900GB数据卷的突发性能为3,000IOPS)。在一些实施方案中,可以通过实现用于确定可以为数据卷提供多少附加的访问容量的信用余额方案来分配突发性能容量。例如,数据卷的存储大小可以与数据卷的信用余额的信用再填充率相关联。信用可以保证一个时间段内的附加访问容量(例如,保证1秒内的3,000IOPS)。对于每个时间段,使用附加容量,可以从数据卷的信用余额中扣除信用。可以根据信用再填充余额将新的信用添加到信用余额。如果使用数据卷的所有信用,则在一些实施方案中,对数据卷的访问可以被节流到基线性能级别。
在一些实施方案中,基于块的存储服务200可以提供规定的访问数据卷类型。规定的访问数据卷可以为存储供应一致和低延时的性能,其可能有利于客户端利用I/O密集型工作负载(例如,数据库)。在至少一些实施方案中,规定的访问数据卷可以由SSD支持。例如,规定的访问数据卷支持用于数据卷的特定数量的IOPS(例如,30IOPS/GB,其将允许为低达134GB的规定访问数据卷规定4,000IOPS)。规定的访问数据卷可能允许实现数据卷的不同吞吐量级别(例如,为数据卷规定500IOPS可能允许高达128MB/S吞吐量)。在一些实施方案中,多个卷可以逻辑组合(例如,以RAID格式条带化在一起),这可以提供增加的访问和吞吐量性能。在一些实施方案中,被配置来优化规定访问的虚拟计算实例类型可以与规定访问数据卷一起使用,以便提供低延时和一致的性能。
在一些实施方案中,基于块的存储服务200可以提供具有成本有效的数据卷类型。与其他数据卷类型相比,成本有效的数据卷类型可能提供较低的数据存储成本。例如,在一些实施方案中,成本有效的数据卷可由磁性存储驱动器(例如,HDD)支持。成本有效的数据卷可以提供有效的存储以用于不频繁访问数据的数据卷利用和/或最低存储成本是重要的场景。成本有效的数据卷可以提供各种访问能力(例如,100IOPS基线性能,具有突发到数百IOPS的能力)。
基于块的存储服务220可以实现基于块的存储服务控制平面222,以便有助于基于块的存储服务220的操作。在各种实施方案中,基于块的存储服务控制平面222有助于管理块数据存储对客户端的可用性,诸如在虚拟计算服务230和/或位于提供商网络200内的其他基于网络的服务提供的计算实例上执行的程序、和/或任选地位于一个或多个其他数据中心内的计算系统(未示出)、或通过网络260可用的提供商网络200外部的其他计算系统上执行的程序。响应于块数据事务指令,可以通过提供商网络200内的内部网络或在外部通过网络260来提供对数据卷226的访问。
基于块的存储服务控制平面222可以提供与提供块级存储功能相关的各种服务,包括用户帐户的管理(例如,支付的创建、删除、计费、收集等)。基于块的存储服务控制平面222还可以响应于放置请求而提供与创建、使用和删除数据卷226相关的服务。在至少一些实施方案中,基于块的存储服务控制平面222可以实现配置管理器227(诸如以下关于图3进一步详细描述)和接口229(诸如以下关于图4描述)。基于块的存储服务控制平面222还可以提供与其他存储服务240上的卷快照的创建、使用和删除相关的服务。基于块的存储服务控制平面222还可以提供与性能的收集和处理以及与数据卷226和那些卷的快照的使用相关的审计数据有关的服务。
如上所述,提供商网络200还可以实现另一个存储服务240。其他存储服务240可以提供与基于块的存储服务220所提供的相同或不同类型的存储。例如,在一些实施方案中,其他存储服务240可以提供基于对象的存储服务,其可以存储和管理作为数据对象的数据。例如,各种数据卷226的卷快照可以被存储为特定数据卷226的快照对象。在至少一些实施方案中,配置推荐可以指示将数据卷移动到另一个存储服务或存储在另一个存储服务中(例如,作为快照或归档副本)。除了其他存储服务240之外,提供商网络200可以实现其他基于网络的服务250,其可以包括各种不同类型的分析、计算、存储、或允许客户端210以及提供商网络200的其他服务(例如,基于块的存储服务220、虚拟计算服务230和/或其他存储服务240)执行或请求各种任务的其他基于网络的系统。
客户端210可以包括可配置成向网络提供商200提交请求的任何类型的客户端。例如,给定客户端210可包括适当版本的web浏览器,或可包括被配置来作为web浏览器提供的执行环境的延伸执行或在其内执行的插件模块或其他类型的代码模块。可替代地,客户端210可以包含应用,诸如数据库应用(或其用户接口)、媒体应用、办公应用、或可以使用计算实例、数据卷226、或提供商网络200中的其他基于网络的服务来执行各种操作的任何其他应用。在一些实施方案中,这种应用可包括足够的协议支持(例如,用于适当版本的超文本传输协议(HTTP)),以用于产生和处理基于网络的服务请求,而不必实现用于所有类型的基于网络的数据的完整浏览器支持。在一些实施方案中,客户端210可被配置来根据表述性状态转移(REST)类型的基于网络的服务架构、基于文件或基于消息的基于网络的服务架构、或另一适当的基于网络的服务架构来产生基于网络的服务请求。在一些实施方案中,客户端210(例如,计算客户端)可以被配置来以对于在客户端210上实现应用透明的方式提供对计算实例或数据卷226的访问,从而利用由计算实例提供的计算资源或数据卷226提供的块存储。
客户端210可以通过外部网络260向提供商网络200传送基于网络的服务请求。在各种实施方案中,外部网络260可包含对在客户端210与提供商网络200之间建立基于网络的通信有必要的联网的硬件和协议的任何适当组合。例如,网络260通常可包含共同实施互联网的各种电信网络和服务提供商。网络260也可包括专用网络(如局域网(LAN)或广域网(WAN))以及公用无线网络或专用无线网络。例如,给定的客户端210和提供商网络200可分别被供应在具有其自身内部网络的企业内。在此类环境中,网络260可包括对在给定客户端210与互联网之间以及在互联网和提供商网络200之间建立联网链接有必要的硬件(例如,调制解调器、路由器、交换机、负载均衡器、代理服务器等)和软件(例如,协议堆栈、会计软件、防火墙/安全软件等)。注意在一些实施方案中,客户端210可使用专用网络而不是公用互联网来与提供商网络200通信。
图3是示出根据一些实施方案的实现数据卷的动态配置的配置管理器的逻辑框图。配置管理器227可以实现各种技术(诸如下面关于图4-8所讨论的技术)以便提供数据卷的动态配置。配置管理器227可以检测用于确定和/或执行配置推荐的推荐事件。在一些实施方案中,重新配置可以向客户端350提供配置推荐的通知,和/或接收用于执行配置推荐的选择或授权。在一些实施方案中,可以自动执行配置推荐(例如,基于先前从客户端接收的授权和/或先前选择的优化目标)。
如上所述,可以实现多个资源主机(诸如资源主机300)以便提供基于块的存储服务。在各种实施方案中,配置管理器227可以实现客户端利用监测器320,以便收集、跟踪和或监测历史客户端利用数据。例如,客户端利用监测器320可以周期性地扫描资源主机300,其中查询指示资源主机上托管的数据卷的客户端利用的信息、度量或元数据。例如,在各种实施方案中,客户端利用数据可以指示代表客户端已使用数据卷的各个方面。例如,存储利用可以指示分配给数据卷的总存储(例如,200千兆字节)中的存储在数据卷中的数据总量(例如,10千兆字节)。访问利用(或者为访问数据卷而执行的工作负载的某一其他指示)可以被收集(例如,所利用的IOPS的数量)。可以收集诸如吞吐量(例如,每秒传输的字节数)或延时(例如,在数据卷处执行操作或事务的时间量)的其他性能特性,其可能指示客户端利用或与客户端利用有关。客户端利用监测器320可以将数据存储在历史客户端利用存储区322处,所述历史客户端利用存储区322可以永久地维持所收集的数据。在一些实施方案中,历史客户端利用存储区322可以被实现为数据库或其他可搜索/可查询的存储系统,以便提供对配置管理器227的其他部件(例如,通过推荐引擎310以便确定配置推荐)或基于块的存储服务控制平面226的访问。
在至少一些实施方案中,客户端利用监测器320可以检测或触发推荐事件(或执行配置推荐的事件)。例如,如果当前存储利用接近总容量,则客户利用监测器320可以触发推荐事件,推荐引擎310可以检测并确定对其的配置推荐(例如,通过增加的存储大小来配置数据卷)。在各种实施方案中,客户端350可以通过授权管理340来配置和/或确定用于确定数据卷的触发。
在各种实施方案中,配置管理器227可以实现推荐引擎310,以便为资源主机300处的数据卷检测推荐事件和/或确定配置推荐。推荐引擎310可以实现用于识别数据卷的不同配置推荐以重新配置数据卷的各种推荐技术,使得在新配置处提供重新配置之后的对数据卷的后续访问。例如,可以基于对历史客户端利用数据的分析来确定数据卷的基线或可能的利用或要求。例如,如果数据卷的工作负载在100IOPS与500IOPS之间变化,则可以识别500IOPs的基线要求。在至少一些实施方案中,可以相对于数据卷的当前配置检查基线或可能的利用。考虑到以上实例,其中有时多达500IOPs可用于数据卷。当前配置可能以成本有效的数据卷类型来实现,所述成本有效的数据卷类型仅为数据卷处的工作负载提供保证的100IOPs性能。数据卷的工作负载超出为数据卷类型提供的保证,并且因此可能的是,数据卷的不同配置可以提供更好的服务保证(例如,具有较高量基线IOPS性能的通用数据卷类型)。提供用于满足数据卷工作负载的能力的数据卷供应可以被识别以供推荐。
可以确定可相对于性能和/或成本优化或改善数据卷的配置推荐。无论是识别性能缺陷(如上述实例所述)还是成本缺陷(例如,不利用所有数据卷,使得浪费成本),可以为数据卷识别配置目标。在一些实施方案中,配置目标可以由客户端明确限定(例如,仅提供增加性能和降低成本的配置推荐)。在其他实施方案中,可以基于上述性能和/或成本缺陷、和/或可能需要改变卷配置(例如,检测到数据卷要用完了可用存储装置)的其他触发、警报、或场景,动态地识别配置目标。可以实现不同优化技术以便基于数据卷的可能配置来解决所识别的配置目标(例如,实现各种终止、迭代或基于启发式的技术),以便解决相对于一个或多个所识别的目标改善数据卷的配置。配置推荐可以包括对数据卷类型的改变(例如,通用目的、规定访问、或成本有效)和/或数据卷(例如,存储卷)的资源分配或利用。在一些实施方案中,可以基于不同地点(例如,不同的资源主机或基础设施区)可能为数据卷提供更好的性能的确定(例如,在具有较低网络利用的地点处配置数据卷,以便提供对数据卷的更好网络访问),产生配置推荐。在一些实施方案中,可以识别提供推荐配置的适当数据卷供应。可能为数据卷产生多个配置推荐。
在各种实施方案中,如下所述,配置管理器227可以向客户端350提供配置推荐的通知。例如,可以实现授权管理340以便产生并发送包括配置推荐的通知(例如,电子邮件消息、向客户端监测的消息板发布消息、或其他通信技术)。在一些实施方案中,授权管理340可以提供接口,以便接收配置推荐(其被授权来执行和/或设置对数据卷的自动重新配置的授权)的回复选择,如以下关于图4所讨论的。
配置管理器227可以实现重新配置协调器330以便执行授权的配置。例如,在至少一些实施方案中,可以执行迁移操作,以便将数据卷移动到不同的资源主机,所述不同的资源主机具有在新的推荐配置中托管数据卷的能力和/或容量。在一些实施方案中,可以通过引导当前资源主机将数据卷转移到目的地资源主机来执行迁移操作。在一些实施方案中,诸如迁移工作者任务或节点的中间体可以在将资源发送到目的地资源主机之前引导和/或接收资源。在一些实施方案中,可以执行多个迁移操作以便移动具有多个副本或复制品的数据卷(例如,主和从)。可能以不破坏或影响数据卷的客户端利用的方式来执行迁移操作。例如,可以总是执行迁移操作,使得数据卷的一个或多个副本可用于对数据卷的服务访问请求(例如,2个副本在新配置中添加第3个副本,将数据卷复制到第3个副本,去掉前2个副本中的1个副本,并且重复在新配置中添加第二个新副本,最后去掉旧配置的第二个副本,以便在新配置中有2个副本)。在至少一些实施方案中,配置数据卷可以包括更新资源主机以便在新配置处提供数据卷,而不迁移数据卷(例如,将附加的存储分配给数据卷,将附加的IOPs分配给数据卷等)。可以执行对客户端的不同元数据、帐户信息、计费、计量或其他数据(例如,用户帐户数据)的更新,以便反映通过重新配置数据卷所做的改变(例如,更新计费速率或其他计量信息以便反映新的卷配置)。
图4是示出根据一些实施方案的用于配置数据卷的动态配置的在客户端与存储服务之间的交互的逻辑框图。以上关于图2讨论的接口229可以被实现用于基于块的存储服务220,以便为客户端400诸如提供商网络200外部的客户端(例如,客户端210)、或提供商网络200内部的客户端(例如,其他服务230、240等)提供对基于块的存储服务220所提供的各种服务和功能的访问。接口229可以被实现为编程接口(例如,应用编程接口(API))和/或作为图形用户接口(GUI),诸如可以在基于网络的站点(例如,网站)处实现。在一些实施方案中,可以通过接口229来提供以下描述的各种请求、响应、通知和其他通信。例如,特定的API请求可以被格式化以用于请求410和430以及响应420和440。
可以通过接口229发送授权自动配置的一个或多个请求410。例如,弹出窗口、接口系列(例如,向导)、或其他图形用户接口可以提供用于配置数据卷的自动配置的一个或多个选项或选择。例如,可以实现用于识别特定数据卷的接口元件(例如,与特定用户帐户相关联的数据卷的下拉菜单)、或可以输入数据卷名称或其他标识符的搜索接口。可以提供选择或输入410以便识别数据卷。可以通过相同和/或不同的用户接口元件(例如,“我同意”按钮)来传送执行自动重新配置的授权或同意。在至少一些实施方案中,自动配置可以被进一步配置成在某些情况下执行。例如,可以响应于可执行哪个重新配置来设置触发事件或警报(如下面关于图6所讨论的)。在一些实施方案中,触发推荐或配置事件的不同度量、信息或其他场景可以被指定为自动配置请求410的授权的一部分。
可以通过接口229(或某种其他通信技术)将推荐通知420提供给客户端400。例如,可以通过直接发送给客户端的API格式化响应来提供推荐通知420。在一些实施方案中,可以利用替代性通信协议或技术来提供推荐通知,诸如电子邮件(e-mail)、可听消息(例如,到移动电话)、或SMS或MMS文本消息。在至少一些实施方案中,可以提供图形用户接口通知,诸如以下关于图5所讨论的。例如,可以将电子邮件发送到用户帐户或推荐通知的授权接受者注册的电子邮件地址,这可以提供到实现包括推荐通知的图形用户接口的基于网络的站点的链接。可以在站点仪表板、消息板、或通过图形用户接口提供的其他通信接口处发布或显示通知。
图5是根据一些实施方案的对数据卷的配置推荐的通知的示例性图示。推荐通知500可以包括文本和/或图形元件以便提供数据卷的推荐配置的指示。例如,推荐通知可以通过数据卷名称或标识符来识别特定数据卷。在至少一些实施方案中,概要声明或部分可以指示选择可实现的预期改变以便执行配置推荐。例如,如图5所示,说明了“通过重新配置使得数据卷492SA104XZ的写入性能增加X%并且节省X%的成本”。
在一些实施方案中,当前配置元件510可以提供描述数据卷的当前配置的细节。例如,当前配置510可以显示当前数据卷类型(例如,支持的固态存储或支持的磁性存储)、存储大小(例如,总计和/或当前利用的)、如何管理/分配存储吞吐量(例如,基于信用、规定)和/或当前成本。在至少一些实施方案中,可以提供一个或多个客户端利用度量或历史性能512(例如,IOPs)。例如,为了解释目的(或为了与推荐的配置相对比),可以包括驱动或触发推荐的量度。如图5所示,历史性能512示出了利用度量,其示出在穿过虚线阈值时的急剧下降(例如,示出在超过IOPs信用余额时的I/O节流)。
配置推荐520可以包括在推荐通知500中,从而描述各种改变(例如,对卷类型、资源分配的改变、或其他变化,诸如位置和/或成本的改变)和/或提供推荐改变的数据卷供应。在至少一些实施方案中,可以包括规划性能522指示以便示出潜在的优势或优化(例如,对于性能和/或成本)。例如,规划性能522被示出为不超过虚线(例如,规定的IOPs阈值),这可能表现出更一致的性能(与历史性能512所示出的摇摆相反)。请注意,虽然在图5中示出了一个推荐配置,但是在推荐通知500中可以包括多个推荐配置(其中一个可以被选择),并且因此图5不旨在限制可包括的推荐配置的数量。
在至少一些实施方案中,配置推荐可以被显示为不同的数据卷供应,从而列出可以被选择用于显示进一步细节的多个不同数据卷供应。例如,可以列出提供例如不同的较大存储大小的数据卷供应。诸如选择不同数据卷供应之一的交互可能提供进一步的信息,诸如性能特性和/或成本。在至少一些实施方案中,可以针对不同的数据卷供应实现不同的定价模型。例如,市场模型可能允许提供商网络或第三方提供商/促进者/运营商列出具有特定配置的数据卷供应。数据卷供应可以基于当前需求(例如,根据卷提供来改变重新配置数据卷的成本)来提供,和/或可以供应不同的利用期(例如,不同的定价方案长度、保留或可中断服务等)。
如图5所示,可以实现一个或多个图形用户接口元件530和540以便提供对推荐通知500的响应。例如,在图5中,可以根据配置推荐520选择“是”元件530来重新配置数据卷。在至少一些实施方案中,“是”元件530可以提供“一键式”用户体验,使得一旦被选择就自动执行重新配置而不需要进一步的用户交互。其他此类用户接口元件可以提供类似的一键式体验(诸如,多个配置推荐的列表中的每一个旁边的“是”元件)。在一些实施方案中,可以选择“否”接口元件540来拒绝执行重新配置。
无论被实现为图形用户接口、文本通知还是其他形式的通信,以上关于图5讨论的各种信息的许多部分可以包括在通知中。类似地,除了以上讨论的各种用户接口元件之外或代替所述各种用户接口元件,配置选择430可以被设置为文本响应(例如,通过命令行接口)。因此,先前讨论并不旨在限制其他形式的推荐通知420或配置选择430。
在至少一些实施方案中,可以在完成数据卷的重新配置时通过接口229发送配置完成通知440。在自动执行配置的情况下,可以提供进一步的细节,诸如以上讨论的配置推荐(例如,对卷类型、资源分配、位置等的改变)。在一些实施方案中,诸如以上针对推荐通知420讨论的,可以通过用于客户帐户的图形通知系统或消息板来提供通知440。
以上关于图2-5讨论的数据卷的动态配置的实例已经针对基于块的存储服务给出。提供数据卷的各种其他类型或配置的存储系统或服务可以实现这些技术。以上讨论的各种模块、部件、系统和或服务的不同配置可以实现数据卷的动态配置,并且可以被配置来确定配置推荐、检测对执行配置推荐的授权、并且配置数据卷。图6是示出根据一些实施方案的用于实现数据卷的动态配置的各种方法和技术的高级流程图。这些技术可以使用控制平面、配置管理器或用于在存储系统中配置数据卷的其他部件来实现,如以上关于图2-5所描述的。
如在610处指示的,可以监测客户端对托管在存储服务中的数据卷的客户端利用。在各种实施方案中,客户端利用数据可以是指示在分配给数据卷的总存储中的数据卷中存储的总量数据的存储利用、访问利用(诸如IOPS(或为访问数据卷而执行的工作负载的某一其他指示))、和/或任何其他性能特性诸如吞吐量(例如,每秒传输的字节数)或延时(例如,用于在数据卷处执行操作或事务的时间量),其可以指示数据卷的客户端利用或与数据卷的客户端利用相关。
如在620处指示的,可以检测推荐事件。在一些实施方案中,可以基于特定报警的检测、或由所监测的客户端利用数据指示(例如,数据卷已经第X次超过突发访问信用余额)的场景来触发推荐事件。在一些实施方案中,推荐事件可以简单地是定时器或启动针对数据卷的周期性推荐产生(例如,每周或每月一次)的其他事件。在一些实施方案中,可以响应于所检测的推荐事件来确定配置推荐。
如在630处指示的,在一些实施方案中,可以确定用于至少部分地基于数据卷的客户端利用来根据服务的数据卷供应重新配置数据卷的配置推荐。可以实现各种推荐技术,以便根据可用数据卷供应来确定数据卷的配置推荐,其重新配置数据卷,使得通过新配置来提供重新配置之后的对数据卷的后续访问。例如,可以基于对历史客户端利用数据的分析来确定数据卷的基线或可能的利用或要求。例如,如果利用的数据卷存储在450千兆字节与650千兆字节之间变化,则可以识别650千兆字节的基线要求。可以确定可相对于性能和/或成本优化或改善数据卷的配置推荐。下面讨论的图7提供了用于优化配置目标的配置分析的各种实例。在一些实施方案中,配置目标可以由客户端明确限定(例如,仅提供增加性能和降低成本的配置推荐)。在其他实施方案中,可以基于上述性能和/或成本缺陷、和/或可能需要改变卷配置(例如,检测到数据卷要用完了可用存储装置)的其他触发、警报、或场景,动态地识别配置目标。
可以实现不同优化技术以便基于数据卷的可能配置来解决所识别的配置目标(例如,实现各种终止、迭代或基于启发式的技术),以便解决相对于一个或多个所识别的目标改善数据卷的配置。配置推荐可以包括对数据卷类型的改变(例如,如以上所讨论的通用目的、规定访问、或成本有效)和/或数据卷(例如,存储、IOPS)的资源分配或利用。例如,配置推荐可能改变数据卷类型以便增加IOPS,或者可能改变存储大小以便增加IOPS。在一些实施方案中,可以基于不同地点(例如,不同的资源主机或基础设施区)可能为数据卷提供更好的性能的确定(例如,在具有较低网络利用的地点处配置数据卷,以便提供对数据卷的更好网络访问),产生配置推荐。在一些实施方案中,可以识别提供推荐配置的适当数据卷供应。可能为数据卷产生多个配置推荐。
如在640处指示的,可以检测客户端授权以便执行推荐。在一些实施方案中,可以通过接口明确地接收和检测客户端授权。例如,可以实现诸如以上关于图5所讨论的图形用户接口,其可以提供单个用户接口元件,如果所述单个用户接口元件被选择则可以指示应当执行配置推荐。可以接收其他类型的配置或配置推荐选择的指示,诸如从命令行接口产生的API请求。在至少一些实施方案中,客户端或用户可以预先授权客户端推荐,无论是针对特定优化目标(例如,成本和性能)还是触发事件(例如,可用的存储容量不足)。可以维持用户帐户设置、数据存储或其他信息集,这指示了已经授予预先授权的数据卷(以及对于什么类型的配置推荐)。
如在650处指示的,可以根据配置推荐来重新配置数据卷。例如,可以执行迁移操作,以便将数据卷移动到不同的资源主机,所述不同的资源主机具有在新的推荐配置中托管数据卷的能力和/或容量。在一些实施方案中,可以通过引导当前资源主机将数据卷转移到目的地资源主机来执行迁移操作。在一些实施方案中,诸如迁移工作者任务或节点的中间体可以在将资源发送到目的地资源主机之前引导和/或接收资源。在一些实施方案中,可以执行多个迁移操作以便移动具有多个副本或复制品的数据卷(例如,主和从)。可能以不破坏或影响数据卷的客户端利用的方式来执行迁移操作。在至少一些实施方案中,配置数据卷可以包括更新资源主机以便在新配置处提供数据卷,而不迁移数据卷。在一些实施方案中,可以更新元数据、访问或利用策略、存储映射、或控制如何在主机上实现数据卷的其他数据以便反映新配置。
以上关于图6描述的技术可以作为控制平面或其他存储服务管理系统的一部分来执行,以便评估数据卷组以用于执行推荐改变。例如,许多不同客户端或用户帐户的数据卷可以由控制平面定期评估,以便确定不同的配置是否可能降低数据卷的成本(例如,而不降低性能)。如果是这样,控制平面可以重新配置数据卷组,以便为数据卷组实现成本节约。
图7是示出根据一些实施方案的用于确定配置推荐的各种方法和技术的高级流程图。如在710处指示的,可以识别数据卷的优化目标。在一些实施方案中,可以由数据卷的用户或客户端明确地限定或设置优化目标。例如,当为数据卷识别成本改进时,数据卷可以被授权以用于自动配置。类似地,可以识别数据卷以用于考虑用户可以在收到推荐通知之后明确授权或拒绝的性能改进。在至少一些实施方案中,可以识别多个目标(例如,成本、性能、以及成本和性能两者)。
如在720、730和740处指示的,可以识别成本优化目标、性能优化目标、以及改善性能和成本的优化目标。如在722、732和742处指示的,可以进行数据卷供应的相应确定以便相对于这些目标中的每一个改善数据卷。可以分析数据卷的历史客户端利用数据,以便评估可以如何达到不同的优化目标的每个。例如,成本优化目标可能认识到:如果历史客户端利用数据指示在数据卷处执行的IOPS没有充分利用数据卷的规定访问容量、并且包括通用数据卷的数据卷供应所提供的突发容量将足以提供类似的性能体验,则将卷类型从规定访问卷更改为通用卷可以降低存储和访问特定数据量的成本,而对数据卷的访问容量没有(或可忽略)的影响。在成本优化目标的另一个实例中,数据卷的评估可以确定较不频繁地访问数据,使得包括成本有效的数据卷的数据卷供应的卷类型改变将为数据卷提供更低的成本,而对数据卷的性能没有(或可忽略的)影响。
可以相对于性能目标进行类似的分析。例如,以成本有效的数据卷类型实现的数据卷的历史客户端利用可能指示对包括通用或规定的访问卷类型的数据卷供应的改变将提供对数据卷的更好访问。如上所述,一些数据卷供应可能涉及对数据卷的资源分配的改变(即使不是对卷类型的改变)。例如,在另一个性能优化实例中,基于指示由于缺少访问信用引起的数据卷访问被节流的客户端利用历史的分析,可以确定对通用卷的存储大小的推荐增加,以便增加将突发访问信用添加到数据卷的信用余额的重新填充速率。
在一些实施方案中,可以将性能和成本两者优化(其可以提供与单独地针对成本或性能进行优化相比不同的数据卷供应),如在742处指示的。例如,历史客户端利用数据可以指示提供给数据卷的访问是不足的(例如,不足够的IOPS)。数据卷的存储大小可能是较大的以便为突发访问信用提供较快的重新填充速率,但实际上仅使用存储大小的一部分。可以识别数据卷供应,以便将具有较小(和更便宜)的存储大小的数据卷配置为规定的访问卷,其中规定了IOPS的数量以便满足历史客户端利用数据所指示的IOPS要求。
在至少一些实施方案中,数据卷供应可以作为超过改善阈值的配置推荐来提供。改善阈值可由客户端和/或存储系统确定,以便排除不满足某个利益阈值的推荐从而值得执行配置的成本。例如,存储系统可以实现阈值以便确保没有提供和/或自动执行益处可忽略的推荐、浪费用于执行配置的系统资源。同样,只有当利益具有特定意义(例如,节省特定成本量),客户可以选择接收推荐。
如在760处指示的,可以提供配置推荐的通知760。如上面关于图4和图5所讨论的,可以可以通过直接发送给客户端的API格式化响应来提供通知。在一些实施方案中,可以利用替代性通信协议或技术来提供推荐通知,诸如电子邮件(e-mail)、可听消息(例如,到移动电话)、或SMS或MMS文本消息。在至少一些实施方案中,可以提供图形用户接口通知。可以在站点仪表板、消息板、或通过图形用户接口提供的其他通信接口处发布或显示通知。
图8是示出根据一些实施方案的用于配置数据卷的各种方法和技术的高级流程图。可以根据以上讨论的各种技术来确定数据卷的授权配置推荐。配置数据卷可能包括识别具有托管重新配置的数据卷的能力和容量的资源主机。如在810处示出的,在一些实施方案中,可以识别用于数据卷的授权重新配置的主机位置。例如,可以评估主机利用数据和/或配置数据,以便识别具有存储容量或访问容量(例如,IOPs)以托管重新配置的数据卷的那些资源主机。类似地,可能识别具有硬件(例如,SSD或HDD)和/或软件以提供重新配置的数据卷的主机位置。
在至少一些实施方案中,如在820处指示的,第一确定可以是关于当前托管数据卷的资源主机是否可以在配置之后继续托管数据卷的检查。例如,如果主机实现SSD支持的存储,并且配置推荐包括利用SSD支持的存储的卷类型之间的改变,则在重新配置之后主机可能能够托管数据卷。如在850处指示的,在此类情况下,在一些实施方案中,可以更新当前主机以便重新配置数据卷。例如,可以更新元数据、访问或利用策略、存储映射、或控制如何在主机上实现数据卷的其他数据以便反映新配置(例如,增加/减少存储大小,增加/减少IOPs等)。
如果数据卷将被移动(如从820的肯定离开指示的),则可以发起迁移操作以便将数据卷重新定位在所识别的主机位置处,如在830处指示的。在各种实施方案中,如以上关于元件850所讨论的,所识别的主机位置可以被配置来在新配置下实现数据卷(例如,更新元数据、访问或利用策略、存储映射、或控制如何实现数据卷的其他数据)。在一些实施方案中,可以通过引导当前资源主机将数据卷转移到目的地资源主机来执行迁移操作。在一些实施方案中,诸如迁移工作者任务或节点的中间体可以在将资源发送到目的地资源主机之前引导和/或接收资源。在一些实施方案中,可以执行多个迁移操作以便移动具有多个副本或复制品的数据卷(例如,主和从)。可能以不破坏或影响数据卷的客户端利用的方式来执行迁移操作。例如,虽然迁移操作未完成,但仍然可以根据数据卷的当前配置提供对数据卷的访问。在完成迁移操作之后,在各种实施方案中,可以发送指示重新配置完成的通知,如在860处指示的。
可鉴于以下条款对本公开的实施方案进行描述:
1.一种基于网络、基于块的存储服务,其包括:
一个或多个存储节点,其被配置来存储用于所述基于块的存储服务的多个客户端的多个数据卷,其中所述多个数据卷中的至少一个与所述多个数据卷中的另一个存储在相同存储节点上;
用于所述存储系统的配置管理器,其被配置来:
针对所述数据卷中的给定数据卷:
跟踪所述数据卷的客户端利用;
至少部分地基于所述数据卷的所述客户端利用来确定根据所述基于块的存储服务的一个或多个数据卷供应来重新配置所述数据卷的一个或多个配置推荐;
向所述客户端提供所述一个或多个配置推荐;
接收对执行所述配置推荐中的一个的客户端授权;以及
根据所述授权的配置推荐来引导所述数据卷的配置,使得根据所述重新配置的数据卷来提供所述数据卷的后续利用。
2.如条款1所述的系统,其中,为了确定重新配置所述数据卷的所述一个或多个配置推荐,所述配置管理器被配置来:
识别所述数据卷的一个或多个优化目标,其中所述优化目标包括以下中的至少一个:
性能优化目标;或
成本优化目标
确定相对于所述优化目标改进所述数据卷以作为所述配置推荐提供的所述一个或多个数据卷供应。
3.如条款1所述的系统,其中为了根据所述授权的配置推荐来引导所述数据卷的配置,所述配置管理器被配置来发起一个或多个迁移操作,以将所述数据卷重新定位到能够提供所述授权的配置推荐的一个或多个不同资源主机。
4.如条款1所述的系统,
其中所述一个或多个配置推荐通过图形用户接口来提供给所述客户端;以及
其中为了检测对执行所述一个配置推荐的所述客户端授权,所述配置管理器通过所述图形用户接口从所述客户端接收所述一个配置推荐的指示。
5.一种方法,其包括:
由一个或多个计算装置执行:
至少部分地基于为客户端托管在基于块的存储服务中的数据卷的历史客户端利用来确定根据所述基于块的存储服务的一个或多个数据卷供应来重新配置所述数据卷的一个或多个配置推荐;
检测对执行所述配置推荐中的一个的客户端授权;以及
根据所述授权的配置推荐来配置所述数据卷,使得根据所述重新配置的数据卷来提供所述数据卷的后续利用。
6.如条款5所述的方法,
其中所述方法还包括向所述客户端提供所述一个或多个配置推荐;以及
其中检测对执行所述一个配置推荐的客户端授权包括从所述客户端接收所述一个配置推荐的指示。
7.如条款6所述的方法,
其中通过图形用户接口向所述客户端提供所述一个或多个配置推荐,并且其中接收的所述指示是所述图形用户接口的用户接口元件的选择;以及
其中响应于所述图形用户接口的所述用户接口元件的所述选择而执行根据所述授权配置推荐来配置所述数据卷。
8.如条款5所述的方法,其还包括:
检测所述数据卷的推荐事件;以及
其中确定所述配置推荐响应于检测到所述推荐事件而执行。
9.如条款5所述的方法,其中确定重新配置所述数据卷的所述一个或多个配置推荐包括:
识别所述数据卷的一个或多个优化目标,其中所述优化目标中的至少一个是性能优化目标;以及
确定相对于所述优化目标改进所述数据卷的所述一个或多个数据卷供应。
10.如条款5所述的方法,其中所述授权配置推荐包括将所述数据卷改变为不同的数据卷类型。
11.如条款5所述的方法,其中所述授权的配置推荐包括改变所述数据卷的一个或多个资源分配。
12.如条款5所述的方法,其中根据所述授权的配置推荐来配置所述数据卷包括执行一个或多个迁移操作,以便将所述数据卷重新定位到能够提供所述授权的配置推荐的一个或多个不同资源主机。
13.如条款5所述的方法,其中所述基于块的存储服务被实现为提供商网络的一部分,其中根据所述授权的配置推荐来配置所述数据卷包括将所述数据卷迁移到被实现为所述提供商网络的一部分的另一个存储服务。
14.一种存储程序指令的非暂时性计算机可读存储介质,所述程序指令在由一个或多个计算装置执行时致使所述一个或多个计算装置实现:
监测为客户端托管在基于块的存储服务中的数据卷的客户端利用;
至少部分地基于所述数据卷的所述客户端利用来确定根据所述基于块的存储服务的一个或多个数据卷供应来重新配置所述数据卷的一个或多个配置推荐;
检测对执行所述配置推荐中的一个的客户端授权;以及
根据所述授权的配置推荐来配置所述数据卷,使得根据所述重新配置的数据卷来提供所述数据卷的后续利用。
15.如条款14所述的非暂时性计算机可读存储介质,
其中所述程序指令致使所述一个或多个计算装置进一步实现向所述客户端提供所述一个或多个配置推荐;以及
其中,在检测对执行所述一个配置推荐的客户端授权时,所述程序指令致使所述一个或多个计算装置实现从所述客户端接收所述一个配置推荐的指示。
16.如条款14所述的非暂时性计算机可读存储介质,其中,在确定重新配置所述数据卷的所述一个或多个配置推荐时,所述程序指令致使所述一个或多个计算装置实现:
识别所述数据卷的一个或多个优化目标,其中所述优化目标中的至少一个是成本优化目标;以及
确定相对于所述优化目标改进所述数据卷的所述一个或多个数据卷供应。
17.如条款14所述的非暂时性计算机可读存储介质,其中所述程序指令致使所述一个或多个计算装置进一步实现:
检测所述数据卷的推荐事件;以及
其中确定所述配置推荐响应于检测到所述推荐事件而执行。
18.如条款14所述的非暂时性计算机可读存储介质,其中,在根据所述授权的配置推荐来配置所述数据卷时,所述程序指令致使所述一个或多个计算装置实现更新所述数据卷的一个或多个主机以提供所述重新配置的数据卷。
19.如条款14所述的非暂时性计算机可读存储介质,其中所述程序指令致使所述一个或多个计算装置进一步实现:
在完成所述数据卷的所述配置之后,向所述客户端提供指示所述数据卷的配置完成的通知。
20.如条款14所述的非暂时性计算机可读存储介质,
其中所述程序指令致使所述一个或多个计算装置进一步实现通过图形用户接口向所述客户端提供所述一个或多个配置推荐;以及
其中,在检测对执行所述一个配置推荐的所述客户端授权时,所述程序指令致使所述一个或多个计算装置实现通过所述图形用户接口从所述客户端接收所述一个配置推荐的指示。
在各种实施方案中,本文所述的方法可通过硬件和软件的任何组合来实施。例如,在一个实施方案中,所述方法可由包括执行程序指令的一个或多个处理器的计算机系统(例如,如图9中的计算机系统)来实施,所述程序指令存储在连接至处理器的计算机可读存储介质上。程序指令可被配置来实施本文所述的功能(例如,各种服务器、资源主机、控制平面、管理器和/或其他部件的功能,像实现本文所述的基于块的存储服务的那些)。如图中所示和本文所述的各种方法表示方法的示例性实施方案。任何方法的顺序都可改变,并且各个元件可被添加、再排序、组合、省略、修改等。
如本文描述的数据卷的动态配置的实施方案可在一个或多个计算机系统上执行,所述计算机系统可与各种其他装置交互。图9是示出根据各种实施方案的示例性计算机系统的框图。例如,在不同实施方案中,计算机系统1000可以被配置来实现计算集群、数据存储区和/或客户端的存储节点和/或计算节点。计算机系统1000可以是各种类型的装置中的任何一种,包括但不限于:个人计算机系统、台式计算机、膝上型计算机或笔记本计算机、主机计算机系统、手持式计算机、工作站、网络计算机、消费装置、应用服务器、存储装置、电话、移动电话、或大体上任何类型的计算装置。
计算机系统1000包括通过输入/输出(I/O)接口1030耦合至系统存储器1020的一个或多个处理器1010(其中的任何一个可包括多个核心,所述多个核心可以是单线程的或多线程的)。计算机系统1000还包括耦合至I/O接口1030的网络接口1040。在各种实施方案中,计算机系统1000可以是包括一个处理器1010的单处理器系统,或包括若干处理器1010(例如两个、四个、八个或另一合适数量)的多处理器系统。处理器1010可以是能够执行指令的任何合适的处理器。例如,在各种实施方案中,处理器1010可以是实现各种指令集架构(ISA)中任何一种架构的通用或嵌入式处理器,所述架构诸如x86、PowerPC、SPARC或MIPSISA或任何其他合适的ISA。在多处理器系统中,每一个处理器1010可通常但不一定实现相同的ISA。计算机系统1000也包括一个或多个网络通信装置(例如,网络接口1040),用于与其他系统和/或部件通过通信网络(例如,互联网、LAN等)通信。
在所示出的实施方案中,计算机系统1000还包括一个或多个永久存储装置1060和/或一个或多个I/O装置1080。在各种实施方案中,永久存储装置1060可对应于磁盘驱动、磁带驱动、固态存储器、其他大容量存储装置、基于块的存储装置、或任何其他永久存储装置。计算机系统1000(或分布式应用或在其上操作的操作系统)可如期望的将指令和/或数据存储在永久存储装置1060中,并且可按需检索存储的指令和/或数据。例如,在一些实施方案中,计算机系统1000可托管存储系统服务器节点,并且永久存储装置1060可包括附接至所述服务器节点的SSD。
计算机系统1000包括被配置来存储可由处理器1010访问的指令和数据的一个或多个系统存储器1020。在各种实施方案中,系统存储器1020可使用任何合适的存储器技术(例如,高速缓冲、静态随机存取存储器(SRAM)、DRAM、RDRAM、EDO RAM、DDR 10RAM、同步动态RAM(SDRAM)、Rambus RAM、EEPROM、非易失性/闪存类型的存储器、或任何其他类型的存储器中的一个或多个)来实施。系统存储器1020可包含程序指令1025,所述程序指令1025可由处理器1010执行以便实施本文所述的方法和技术。在各种实施方案中,程序指令1025可以平台本地二进制、任何解释型语言(诸如JavaTM字节代码)、或以任何其他语言(诸如C/C++、JavaTM等)、或以其任何组合来编码。例如,在所示出的实施方案中,程序指令1025包括在不同实施方案中可被执行来实现资源主机的功能的程序指令。在一些实施方案中,程序指令1025可实现多个单独的客户端、节点和/或其他部件。
在一些实施方案中,程序指令1025可包括可执行以便实施操作系统(未示出)的指令,所述操作系统可为各种操作系统中的任何一种,如UNIX、LINUX、SolarisTM、MacOSTM、WindowsTM等。程序指令1025中的任何一个或所有可被提供作为可包括上面存储有指令的非暂时性计算机可读存储介质的计算机程序产品、或软件,所述指令可用于编程计算机系统(或其他电子装置)以便根据各种实施方案执行进程。非暂时性计算机可读存储介质可包括用于以机器(例如,计算机)可读的形式(例如,软件、处理应用)存储信息的任何机构。一般来说,非暂时性计算机可访问的介质可包括计算机可读的存储介质或存储器介质,例如磁性介质或光学介质,例如经由I/O接口1030耦接至计算机系统1000的磁盘或DVD/CD-ROM。非暂时性计算机可读存储介质还可包括可作为系统存储器1020或另一类型的存储器被包括在计算机系统1000的一些实施方案中的任何易失性或非易失性介质,诸如RAM(例如,SDRAM、DDR SDRAM、RDRAM、SRAM等)、ROM等。在其他实施方案中,程序指令可使用通过通信介质(诸如网络链接和/或无线链接)传送的光学、声学或其他形式的传播信号(例如,载波、红外线信号、数字信号等)来通信,诸如可通过网络接口1040来实现。
在一些实施方案中,系统存储器1020可包括可如本文所述配置的数据存储区1045。一般而言,系统存储器1020(例如,系统存储器1020内的数据存储区1045)、永久存储装置1060、和/或远程存储装置1070可存储数据块、数据块复制品、与数据块和/或它们的状态关联的元数据、配置信息和/或可在实施本文所述的方法和技术中使用的任何其他信息。
在一个实施方案中,I/O接口1030可被配置来协调处理器1010、系统存储器1020与系统中任何外围装置之间的I/O通信量,包括通过网络接口1040或其他外围接口。在一些实施方案中,I/O接口1030可执行任何必需协议、时序或其他数据转换以便将来自一个部件(例如,系统存储器1020)的数据信号转换成适于由另一个部件(例如,处理器1010)使用的格式。例如,在一些实施方案中,I/O接口1030可包括对于通过各种类型的外围总线附接的装置的支持,所述外围总线诸如外围部件互连(PCI)总线标准或通用串行总线(USB)标准的改变形式。例如,在一些实施方案中,I/O接口1030的功能可分到两个或更多个单独的部件中,诸如北桥和南桥。另外,在一些实施方案中,I/O接口1030的一些或全部功能(诸如至系统存储器1020的接口)可直接并入处理器1010中。
网络接口1040可被配置来允许数据在计算机系统1000与连接到网络的其他装置例如像其他计算机系统之间1090之间的交换。此外,网络接口1040可被配置来允许在计算机系统1000与各种I/O装置1050和/或远程存储装置1070之间的通信。在一些实施方案中,输入/输出装置1050可包括一个或多个显示终端、键盘、小键盘、触摸屏、扫描装置、语音或光学识别装置、或适合于由一个或多个计算机系统1000输入或检索数据的任何其他装置。多个输入/输出装置1050可存在于计算机系统1000中或可分布于包括计算机系统1000的分布式系统的各个节点上。在一些实施方案中,类似输入/输出装置可与计算机系统1000分开并且可经由有线或无线连接例如网络接口1040来与包括计算机系统1000的分布式系统的一个或多个节点交互。网络接口1040通常可支持一个或多个无线网络协议(例如,WiFi/IEEE802.11、或另一无线网络标准)。然而,在各种实施方案中,例如,网络接口1040可支持通过任何合适的有线或无线通用数据网络(诸如其他类型的以太网网络)进行通信。另外,网络接口1040可以支持经由电信/电话网络(如模拟语音网络或数字光纤通信网络)、经由存储区域网络(如光纤信道SAN)或经由任何其他合适类型的网络和/或协议进行通信。在各种实施方案中,计算机系统1000可包括多于、少于、或不同于图9所示的那些的部件(例如,显示器、视频卡、音频卡、外围装置、其他网络接口,如ATM接口、以太网接口、帧中继接口等)。
注意本文所述的分布式系统实施方案中的任何一个,或它们的部件中的任何一个,可作为一个或多个基于网络的服务被实现。例如,在计算服务内的计算集群可向客户端提供采用本文所述的分布式计算系统的计算和/或存储服务和/或其他类型的服务作为基于网络的服务。在一些实施方案中,基于网络的服务可由被设计来支持通过网络的彼此协作的机对机交互的软件和/或硬件系统实施。基于网络的服务可具有以机器可处理格式描述的接口,诸如Web服务描述语言(WSDL)。其他系统可以由对基于网络的服务的接口的描述所规定的方式与基于网络的服务交互。例如,基于网络的服务可限定其他系统可调用的各种操作,并且可限定特定的应用编程接口(API),当请求各种操作时,其他系统可能期望遵照所述特定的应用编程接口(API)。
在各种实施方案中,通过使用包括与基于网络的服务请求关联的参数和/或数据的消息,基于网络的服务可被请求或调用。此类消息可根据特定的标记语言(诸如可扩展标记语言(XML))被格式化,和/或可使用协议(诸如简单对象访问协议(SOAP))来封装。为执行基于网络的服务请求,基于网络的服务客户端可组装包括所述请求的消息,以及使用基于互联网的应用层传输协议(诸如超文本传输协议(HTTP))将所述消息传达至对应于基于网络的服务的可寻址端点(例如,统一资源定位符(URL))。
在一些实施方案中,基于网络的服务可使用表述性状态传输(“RESTful”)技术而不是基于消息的技术来实现。例如,根据RESTful技术实现的基于网络的服务可通过包括在HTTP方法(诸如PUT、GET或DELETE)内而不是封装在SOAP消息内的参数来调用。
尽管已相当详细地描述了以上实施方案,但一旦完全了解以上公开内容,各种改变和修改对所属领域的技术人员将变为明显的。旨在以下权利要求被解释成包括所有此类修改和改变,并且相应地,以上描述应被视为具有说明性而非限制性意义。

Claims (15)

1.一种基于网络、基于块的存储服务系统,包括:
一个或多个存储节点,其被配置为存储用于所述基于块的存储服务的多个客户端的多个数据卷,其中所述多个数据卷中的至少一个与所述多个数据卷中的另一个存储在相同存储节点上;
用于所述存储服务系统的配置管理器,其被配置为:
针对所述数据卷中的给定数据卷:
跟踪所述数据卷的客户端利用;
至少部分地基于所述数据卷的所述客户端利用来确定根据所述基于块的存储服务系统的一个或多个数据卷供应来重新配置所述数据卷的一个或多个配置推荐;
向所述客户端提供所述一个或多个配置推荐;
从所述客户端接收对执行所述配置推荐中的一个的客户端授权;以及
根据所授权的配置推荐来引导所述数据卷的配置,使得根据重新配置的数据卷来提供所述数据卷的后续利用。
2.如权利要求1所述的系统,其中,为了确定重新配置所述数据卷的所述一个或多个配置推荐,所述配置管理器被配置来:
识别所述数据卷的一个或多个优化目标,其中所述优化目标包括以下中的至少一个:
性能优化目标;或
成本优化目标;以及
确定相对于所述优化目标改进所述数据卷以作为所述配置推荐提供的所述一个或多个数据卷供应。
3.如权利要求1所述的系统,其中为了根据所述授权的配置推荐来引导所述数据卷的配置,所述配置管理器被配置来发起一个或多个迁移操作,以将所述数据卷重新定位到能够提供所述授权的配置推荐的一个或多个不同资源主机。
4.如权利要求1所述的系统,
其中所述一个或多个配置推荐通过图形用户接口来提供给所述客户端;以及
其中为了检测对执行所述一个配置推荐的所述客户端授权,所述配置管理器通过所述图形用户接口从所述客户端接收所述一个配置推荐的指示。
5.一种用于配置数据卷的方法,包括:
由一个或多个计算装置执行:
至少部分地基于为客户端托管在基于块的存储服务中的数据卷的历史客户端利用来确定根据所述基于块的存储服务的一个或多个数据卷供应来重新配置所述数据卷的一个或多个配置推荐;
检测对执行所述配置推荐中的一个的客户端授权;以及
根据来自所述客户端的所授权的配置推荐来配置所述数据卷,使得根据重新配置的数据卷来提供所述数据卷的后续利用。
6.如权利要求5所述的方法,
其中所述方法还包括向所述客户端提供所述一个或多个配置推荐;以及
其中检测对执行所述一个配置推荐的客户端授权包括从所述客户端接收所述一个配置推荐的指示。
7.如权利要求5所述的方法,其还包括:
检测所述数据卷的推荐事件;以及
其中确定所述配置推荐响应于检测到所述推荐事件而执行。
8.如权利要求5所述的方法,其中确定重新配置所述数据卷的所述一个或多个配置推荐包括:
识别所述数据卷的一个或多个优化目标,其中所述优化目标中的至少一个是性能优化目标;以及
确定相对于所述优化目标改进所述数据卷的所述一个或多个数据卷供应。
9.如权利要求5所述的方法,其中所述授权的配置推荐包括改变所述数据卷的一个或多个资源分配。
10.如权利要求5所述的方法,其中所述基于块的存储服务被实现为提供商网络的一部分,其中根据所述授权的配置推荐来配置所述数据卷包括将所述数据卷迁移到被实现为所述提供商网络的一部分的另一个存储服务。
11.一种存储程序指令的非暂时性计算机可读存储介质,所述程序指令在由一个或多个计算装置执行时使所述一个或多个计算装置实现:
监测为客户端托管在基于块的存储服务中的数据卷的客户端利用;
至少部分地基于所述数据卷的所述客户端利用来确定根据所述基于块的存储服务的一个或多个数据卷供应来重新配置所述数据卷的一个或多个配置推荐;
检测对执行所述配置推荐中的一个的客户端授权;以及
根据来自所述客户端的所授权的配置推荐来配置所述数据卷,使得根据重新配置的数据卷来提供所述数据卷的后续利用。
12.如权利要求11所述的非暂时性计算机可读存储介质,其中,在确定重新配置所述数据卷的所述一个或多个配置推荐时,所述程序指令致使所述一个或多个计算装置实现:
识别所述数据卷的一个或多个优化目标,其中所述优化目标中的至少一个是成本优化目标;以及
确定相对于所述优化目标改进所述数据卷的所述一个或多个数据卷供应。
13.如权利要求11所述的非暂时性计算机可读存储介质,其中所述程序指令致使所述一个或多个计算装置进一步实现:
检测所述数据卷的推荐事件;以及
其中确定所述配置推荐响应于检测到所述推荐事件而执行。
14.如权利要求11所述的非暂时性计算机可读存储介质,其中,在根据所述授权的配置推荐来配置所述数据卷时,所述程序指令致使所述一个或多个计算装置实现更新所述数据卷的一个或多个主机以提供所述重新配置的数据卷。
15.如权利要求11所述的非暂时性计算机可读存储介质,
其中所述程序指令致使所述一个或多个计算装置进一步实现通过图形用户接口向所述客户端提供所述一个或多个配置推荐;以及
其中,在检测对执行所述一个配置推荐的所述客户端授权时,所述程序指令致使所述一个或多个计算装置实现通过所述图形用户接口从所述客户端接收所述一个配置推荐的指示。
CN201680017946.6A 2015-03-25 2016-03-25 数据卷的动态配置 Active CN107408020B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/668,782 US9658785B2 (en) 2015-03-25 2015-03-25 Dynamic configuration of data volumes
US14/668,782 2015-03-25
PCT/US2016/024328 WO2016154587A1 (en) 2015-03-25 2016-03-25 Dynamic configuration of data volumes

Publications (2)

Publication Number Publication Date
CN107408020A CN107408020A (zh) 2017-11-28
CN107408020B true CN107408020B (zh) 2020-10-30

Family

ID=55745822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680017946.6A Active CN107408020B (zh) 2015-03-25 2016-03-25 数据卷的动态配置

Country Status (9)

Country Link
US (2) US9658785B2 (zh)
EP (1) EP3274804A1 (zh)
JP (2) JP6840125B2 (zh)
KR (3) KR20210008953A (zh)
CN (1) CN107408020B (zh)
AU (2) AU2016238240B2 (zh)
CA (1) CA2980171C (zh)
SG (1) SG11201707642YA (zh)
WO (1) WO2016154587A1 (zh)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8819208B2 (en) 2010-03-05 2014-08-26 Solidfire, Inc. Data deletion in a distributed data storage system
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
US9658785B2 (en) 2015-03-25 2017-05-23 Amazon Technologies, Inc. Dynamic configuration of data volumes
US10200261B2 (en) * 2015-04-30 2019-02-05 Microsoft Technology Licensing, Llc Multiple-computing-node system job node selection
US10025519B1 (en) * 2015-09-25 2018-07-17 EMC IP Holding Company LLC Data-driven online storage reconfiguration
US20170243268A1 (en) * 2016-02-23 2017-08-24 International Business Machines Corporation Method and system for determining an optimized service package model for market participation
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US10567222B2 (en) * 2016-08-23 2020-02-18 Cisco Technology, Inc. Recommending configurations for client networking environment based on aggregated cloud managed information
US10642763B2 (en) * 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
CN108124073A (zh) * 2016-11-30 2018-06-05 京瓷办公信息系统株式会社 信息处理系统
US10474366B2 (en) * 2016-12-28 2019-11-12 Sandisk Technologies Llc Non-volatile storage system with in-drive data analytics
US11675520B2 (en) 2017-03-10 2023-06-13 Pure Storage, Inc. Application replication among storage systems synchronously replicating a dataset
US11941279B2 (en) 2017-03-10 2024-03-26 Pure Storage, Inc. Data path virtualization
US12056383B2 (en) 2017-03-10 2024-08-06 Pure Storage, Inc. Edge management service
US11210133B1 (en) 2017-06-12 2021-12-28 Pure Storage, Inc. Workload mobility between disparate execution environments
US12086651B2 (en) 2017-06-12 2024-09-10 Pure Storage, Inc. Migrating workloads using active disaster recovery
US12229405B2 (en) 2017-06-12 2025-02-18 Pure Storage, Inc. Application-aware management of a storage system
US12086650B2 (en) 2017-06-12 2024-09-10 Pure Storage, Inc. Workload placement based on carbon emissions
US12061822B1 (en) * 2017-06-12 2024-08-13 Pure Storage, Inc. Utilizing volume-level policies in a storage system
US11989429B1 (en) 2017-06-12 2024-05-21 Pure Storage, Inc. Recommending changes to a storage system
US10592362B2 (en) * 2017-11-30 2020-03-17 International Business Machines Corporation Modifying journaling associated with data mirroring within a storage system
US10795598B1 (en) 2017-12-07 2020-10-06 Pure Storage, Inc. Volume migration for storage systems synchronously replicating a dataset
US10678439B2 (en) * 2018-04-02 2020-06-09 Micron Technology, Inc. Optimization of memory systems based on performance goals
US11567664B2 (en) 2018-04-16 2023-01-31 International Business Machines Corporation Distributing data across a mixed data storage center
US11403000B1 (en) 2018-07-20 2022-08-02 Pure Storage, Inc. Resiliency in a cloud-based storage system
EP3599547B1 (en) * 2018-07-24 2023-07-12 Accenture Global Solutions Limited Elastic storage volume type selection and optimization engine for public cloud environments
US10712958B2 (en) 2018-07-24 2020-07-14 Accenture Global Solutions Limited Elastic storage volume type selection and optimization engine for public cloud environments
US10855556B2 (en) 2018-07-25 2020-12-01 Netapp, Inc. Methods for facilitating adaptive quality of service in storage networks and devices thereof
US10728255B2 (en) * 2018-09-24 2020-07-28 Nutanix, Inc. System and method for protection of entities across availability zones
US10963189B1 (en) 2018-11-18 2021-03-30 Pure Storage, Inc. Coalescing write operations in a cloud-based storage system
CN111221620B (zh) * 2018-11-27 2024-02-09 华为技术有限公司 存储方法、装置及存储介质
US11379266B2 (en) 2019-09-10 2022-07-05 Salesforce.Com, Inc. Automatically identifying and right sizing instances
CN111736968B (zh) * 2020-05-27 2023-08-22 华南理工大学 配电系统云数据中心计算资源优化配置方法、装置、设备及介质
EP3929718B1 (en) * 2020-06-26 2025-09-17 Accenture Global Solutions Limited System of selecting and optimizing resources for cloud block storage volume
US11592989B1 (en) * 2020-11-25 2023-02-28 Amazon Technologies, Inc. Dynamically modifying block-storage volumes using forecasted metrics
US11941454B1 (en) 2020-12-08 2024-03-26 Amazon Technologies, Inc. Dynamically modifying block-storage volumes using workload classifications
JP7563993B2 (ja) * 2021-01-13 2024-10-08 日立ヴァンタラ株式会社 管理計算機及び管理計算機によるデータ管理方法
US12236254B1 (en) * 2021-06-18 2025-02-25 Amazon Technologies, Inc. Reserving increased performance of burstable instances for a limited time period
CN115705144A (zh) * 2021-08-02 2023-02-17 华为技术有限公司 Lun管理的方法以及装置
WO2023146237A1 (ko) * 2022-01-26 2023-08-03 (주)한국소프트웨어아이엔씨 지능형 데이터 관리 및 저장 장치 및 이를 이용한 지능형 데이터 관리 및 저장 방법
CN114936115B (zh) * 2022-05-24 2024-10-29 苏州浪潮智能科技有限公司 一种数据存储备份方法、装置、计算机设备和存储介质
US12073078B2 (en) * 2022-06-03 2024-08-27 Bank Of America Corporation Surge volume management
WO2024151306A1 (en) 2023-01-10 2024-07-18 Robin Systems, Inc Dynamic grow volume
CN116260830A (zh) * 2023-02-28 2023-06-13 阿里巴巴(中国)有限公司 实现文件系统的方法以及云服务系统
CN120295544A (zh) * 2024-01-09 2025-07-11 杭州阿里云飞天信息技术有限公司 信息推荐方法、数据处理方法、设备及存储介质
WO2025203980A1 (ja) * 2024-03-28 2025-10-02 日本電気株式会社 システム運用計画装置、システム運用計画方法、及び制御プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012066671A1 (ja) * 2010-11-18 2012-05-24 株式会社日立製作所 計算機システムの管理装置及び管理方法
US8549224B1 (en) * 2009-12-16 2013-10-01 Emc Corporation Migration analyzer for hardware-based storage tiering

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895485B1 (en) 2000-12-07 2005-05-17 Lsi Logic Corporation Configuring and monitoring data volumes in a consolidated storage array using one storage array to configure the other storage arrays
US7343410B2 (en) 2001-06-28 2008-03-11 Finisar Corporation Automated creation of application data paths in storage area networks
US8166128B1 (en) 2003-02-28 2012-04-24 Oracle America, Inc. Systems and methods for dynamically updating a virtual volume in a storage virtualization environment
US7065611B2 (en) * 2004-06-29 2006-06-20 Hitachi, Ltd. Method for controlling storage policy according to volume activity
US7428658B2 (en) 2004-10-26 2008-09-23 International Business Machines Corporation Checking storage reconfiguration
JP2008299559A (ja) * 2007-05-31 2008-12-11 Hitachi Ltd ストレージシステム及びストレージシステムにおけるデータ移行方法
CN101802662B (zh) * 2007-09-21 2012-02-29 住友化学株式会社 相位差膜的制造方法
US8296514B2 (en) 2007-12-20 2012-10-23 International Business Machines Corporation Automated correction of contentious storage virtualization configurations
US8244868B2 (en) 2008-03-24 2012-08-14 International Business Machines Corporation Thin-provisioning adviser for storage devices
KR100963152B1 (ko) * 2008-08-28 2010-06-15 고려대학교 산학협력단 직접 메탄올 연료 전지용 Pt-Ru-Co-W 사성분 합금 촉매
US9207984B2 (en) * 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
WO2012104912A1 (en) * 2011-02-02 2012-08-09 Hitachi, Ltd. Data storage apparatus and data management method
US8577836B2 (en) 2011-03-07 2013-11-05 Infinidat Ltd. Method of migrating stored data and system thereof
US9760294B2 (en) * 2012-11-07 2017-09-12 Hitachi, Ltd. Computer system, storage management computer, and storage management method
JP5951111B2 (ja) * 2012-11-09 2016-07-13 株式会社日立製作所 管理計算機、計算機システム、及びインスタンス管理方法
US9658785B2 (en) 2015-03-25 2017-05-23 Amazon Technologies, Inc. Dynamic configuration of data volumes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8549224B1 (en) * 2009-12-16 2013-10-01 Emc Corporation Migration analyzer for hardware-based storage tiering
WO2012066671A1 (ja) * 2010-11-18 2012-05-24 株式会社日立製作所 計算機システムの管理装置及び管理方法

Also Published As

Publication number Publication date
KR20220018087A (ko) 2022-02-14
US9971531B2 (en) 2018-05-15
EP3274804A1 (en) 2018-01-31
SG11201707642YA (en) 2017-10-30
JP2018513510A (ja) 2018-05-24
JP2020024733A (ja) 2020-02-13
AU2019213340B2 (en) 2021-02-18
CN107408020A (zh) 2017-11-28
AU2016238240B2 (en) 2019-05-16
WO2016154587A1 (en) 2016-09-29
KR20210008953A (ko) 2021-01-25
AU2016238240A1 (en) 2017-10-12
KR102624824B1 (ko) 2024-01-16
JP6840125B2 (ja) 2021-03-10
CA2980171C (en) 2020-02-11
JP6928055B2 (ja) 2021-09-01
US9658785B2 (en) 2017-05-23
US20160283139A1 (en) 2016-09-29
CA2980171A1 (en) 2016-09-29
AU2019213340A1 (en) 2019-08-29
US20170255409A1 (en) 2017-09-07
KR20170129254A (ko) 2017-11-24

Similar Documents

Publication Publication Date Title
CN107408020B (zh) 数据卷的动态配置
US12222906B2 (en) Intelligent file system with transparent storage tiering
US11290360B2 (en) Analyzing resource placement fragmentation for capacity planning
CN111625201B (zh) 用于存储客户端文件系统的存储卷的动态缩放
US10057187B1 (en) Dynamic resource creation to connect client resources in a distributed system
JP2020064676A (ja) リソース配置を最適化するための適時性リソース移行
US10505862B1 (en) Optimizing for infrastructure diversity constraints in resource placement
CN116249976A (zh) 统一存储环境中的存储分层
US10616134B1 (en) Prioritizing resource hosts for resource placement
US10776173B1 (en) Local placement of resource instances in a distributed system
US10154091B1 (en) Deploying infrastructure units according to resource hosting constraints
US10812408B1 (en) Preventing concentrated selection of resource hosts for placing resources
US10956084B2 (en) Drive utilization in multi-tiered systems with read-intensive flash
US10721181B1 (en) Network locality-based throttling for automated resource migration
US10708340B2 (en) Methods and systems for improving efficiency in data transfers

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