基于块的存储的页面高速缓存存录制造技术

技术编号:13998674 阅读:89 留言:0更新日期:2016-11-15 12:16
一种基于块的存储系统可实施页面高速缓存写入存录。可在存储节点处接收在存储节点处所维持的数据卷的写入请求。可根据所述请求更新页面高速缓存。可将描述所述页面高速缓存更新的日志记录存储在永久性存储装置中所维持的页面高速缓存写入日志中。一旦所述写入请求在所述页面高速缓存中执行并且记录在所述页面高速缓存写入日志中的日志记录中,可确认所述写入请求。在从其中所述页面高速缓存中的数据丢失的系统故障恢复时,可重放所述页面高速缓存写入日志中的日志记录,以将所述系统故障之前的所述页面高速缓存的状态复原到所述页面高速缓存。

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
近年来在跨网络动态共享硬件资源、软件和信息存储的虚拟化技术方面的改革已经增加了计算的可靠性、可扩缩性和成本效率。更具体地说,通过虚拟化的出现按需提供虚拟计算资源和存储的能力已经使处理资源和存储的消费者能够响应于立即被察觉的计算和存储需求而灵活地组织他们的计算和存储成本。虚拟化允许客户在需要的时候购买处理器周期和存储,而不是在开通周期(provisioning cycle)中购买或租赁固定的硬件,所述开通周期由制造和部署硬件的延迟和成本决定。用户能够在相对瞬时的按需基础上购买计算和存储资源的使用权,而不是取决于对未来需求的预测的准确性来确定计算和存储的可用性。虚拟化计算环境经常地由基于块的存储支持。这类基于块的存储提供能够通过一系列标准化的存储调用与各种计算虚拟化进行交互的存储系统,这使得所述基于块的存储与其所支持的卷的结构和功能细节,并且与在所述基于块的存储向其提供存储可用性的虚拟化上执行的操作系统在功能上无关。然而,随着网络传输能力的增强、伴随更大的对虚拟化资源的处理能力,对基于块的存储的I/O需求可增长。如果I/O需求超过基于块的存储服务请求的能力,那么虚拟化计算资源的基于块的存储的等待时间和/或性能耐久性变差。附图说明图1是示出根据一些实施方案的在基于块的存储处进行页面高速缓存写入存录的一系列框图。图2是示出根据一些实施方案的实施包括基于块的存储服务的多个基于网络的服务的提供商网络的框图,所述基于块的存储服务在存储节点处实施页面高速缓存写入存录。图3是示出根据一些实施方案的存储节点的框图,所述存储节点实施用于对在存储节点处实施的页面高速缓存的更新的页面高速缓存写入日志。图4是示出根据一些实施方案的存储节点的框图,所述存储节点被配置来修剪存储节点处的页面高速缓存的页面高速缓存写入日志中的日志条目。图5是示出根据一些实施方案的基于块的存储中所维持的数据卷的动态选择性页面高速缓存写入存录的框图。图6是示出根据一些实施方案的用于在基于块的存储处进行页面高速缓存写入存录的各种方法和技术的高级流程图。图7是示出根据一些实施方案的用于从页面高速缓存写入日志恢复页面高速缓存的各种方法和技术的高级流程图。图8是示出根据一些实施方案的用于修剪页面高速缓存写入日志的各种方法和技术的高级流程图。图9是示出根据一些实施方案的用于部署页面高速缓存写入存录技术的各种方法和技术的高级流程图。图10是示出根据一些实施方案的用于动态修改存储节点处所维持的数据卷的耐久性特性的各种方法和技术的高级流程图。图11是示出根据一些实施方案的用于确定是启用还是禁用数据卷的页面高速缓存写入存录的各种方法和技术的高级流程图。图12是示出根据一些实施方案的根据特定数据卷的耐久性特性在存储节点处处理对特定数据卷的写入请求的各种方法和技术的高级流程图。图13是示出根据一些实施方案的用于在启用和禁用写入存录的情况下进行数据卷恢复的各种方法和技术的高级流程图。图14是示出根据一些实施方案的示例性计算系统的框图。虽然在本文中通过列举若干实施方案和示意性附图的方式描述了实施方案,但本领域的技术人员应认识到,实施方案并不限于所描述的实施方案或附图。应理解,附图和对其的详细描述并非意图将实施方案限于所公开的特定形式,而是相反地,其意图在于涵盖落入由所附权利要求书限定的精神和范围内的所有修改、等效物以及替代方案。本文中使用的标题都仅用于组织目的,并且并不意图用于限制说明书或权利要求书的范围。如贯穿本申请所使用的,词语“可以”是在容许意义上(即,意指具有可能性)而非强制意义上(即,意指必须)使用的。类似地,词语“包括(include/including/includes)”表示包括但不限于。具体实施方式本文所述的系统和方法可实施基于块的存储的页面高速缓存写入存录。基于块的存储系统通常实施页面高速缓存来(在系统存储器中)快速地存储对页面高速缓存中所维持的数据卷的更新。最终,可将页面高速缓存转储到基于块的存储装置以更新永久性存储。然而,当系统存储器在系统故障的情况下不永久时,仅被存储在页面高速缓存中的写入不是耐久的并且可能丢失。页面高速缓存写入存录可在存储节点处实施,以在发生引起页面高速缓存中的数据丢失的故障的情况下保留页面高速缓存的状态。在一些实施方案中,可针对同一存储系统处所维持的不同数据卷来选择性地实施页面高速缓存写入存录。可根据存储系统处的各种条件(诸如将要存录到页面高速缓存写入日志中的传入写入请求的速率)来动态修改各自数据卷的耐久性特性,所述耐久性特性描述对应数据卷的页面高速缓存写入存录是被启用还是被禁用。图1是示出根据一些实施方案的在基于块的存储处进行页面高速缓存写入存录的一系列框图。如在102处所指示,块存储服务器100(其可以是通用计算系统,诸如下文参考图14描述的系统2000)可将数据卷120存储在附接到块存储服务器的一个或多个基于块的存储装置上。当接收到对数据卷120的写入请求142时,I/O管理器102可并行地或接近并行地发送对页面高速缓存140中的各自页面或条目的更新146以及写入144到页面高速缓存写入日志130的日志记录,所述页面高速缓存写入日志130可在永久性存储装置(所述永久性存储装置可与存储卷120的基于块的存储装置分开)上实施。在各种实施方案中,日志记录可描述对页面高速缓存140的特定页面或条目的更新。在一些实施方案中,日志记录可顺序地存储在页面高速缓存写入日志130中。响应于存储日志记录144和更新页面高速缓存146,可确认写入请求。稍后,可将页面高速缓存中的页面转储148以更新基于块的存储装置中的卷120。在一些实施方案中,可基于转储操作148将存储在页面高速缓存写入日志130中的日志记录从页面高速缓存移除或修剪,使得描述对页面的更新的日志记录(其在卷120中成为永久性的)可改造并且变得可供用于存储另外的日志记录。如在情景104处所示,系统故障152导致页面高速缓存数据丢失。因此,页面高速缓存数据中的写入请求因为它们尚未被转储到永久性存储中的卷120中而丢失。在一些实施方案中,I/O管理器132可从页面高速缓存写入日志130获得日志记录132并且重放对页面高速缓存的更新134以复原页面高速缓存在系统故障之前的状态,从而使得页面高速缓存数据恢复。在一些实施方案中,可以在每卷基础上实施页面高速缓存写入存录。例如,在一些实施方案中,可动态修改数据卷的耐久性特性(其指示页面高速缓存写入存录是否被启用),以适应存储节点处的变化的条件。例如,在一些实施方案中,I/O管理器102可监测将要存录到页面高速缓存写入日志130中的传入写入请求的速率,并且动态修改各自的一个或多个数据卷120的一个或多个耐久性特性。如果,例如,特定数据卷120的页面高速缓存写入存录被禁用,那么可完成指向所述数据卷的写入请求142(例如,页面高速缓存140被更新),而不将描述所述更新的日志记录存储在页面高速缓存写入日志中。类似地,如果页面高速缓存写入存录被启用,那么如情景102中所示,在启用页面高速缓存写入存录之后接收的写入请求可具有在将写入确认为完成之前执行的对页面高速缓存140的更新以及在此之前存储在页面高速缓存写入日志130中的本文档来自技高网...

【技术保护点】
一种实施存储节点的系统,其包括:一个或多个基于块的存储装置,其维持一个或多个数据卷;系统存储器,其包括页面高速缓存,其中所述页面高速缓存定期地或不定期地转储到所述一个或多个基于块的存储装置,以便永久地更新所述一个或多个数据卷;永久性存储装置,其维持页面高速缓存写入日志,其中所述页面高速缓存写入日志维持描述对所述页面高速缓存的更新的多个日志记录,其中所述多个日志记录适用于在导致所述页面高速缓存中数据丢失的系统故障的情况下将先前状态复原到所述页面高速缓存;存储节点,其被配置来:接收对所述一个或多个数据卷中的特定数据卷的写入请求;针对所述写入请求,更新所述页面高速缓存中的多个条目中的至少一个对应条目;将描述对所述至少一个对应页面高速缓存条目的所述更新的日志记录存储在所述页面高速缓存写入日志中;并且响应于更新所述页面高速缓存条目并且将所述日志记录存储在所述页面高速缓存写入日志中,将所述写入请求确认为完成。

【技术特征摘要】
【国外来华专利技术】2014.03.11 US 14/205,0671.一种实施存储节点的系统,其包括:一个或多个基于块的存储装置,其维持一个或多个数据卷;系统存储器,其包括页面高速缓存,其中所述页面高速缓存定期地或不定期地转储到所述一个或多个基于块的存储装置,以便永久地更新所述一个或多个数据卷;永久性存储装置,其维持页面高速缓存写入日志,其中所述页面高速缓存写入日志维持描述对所述页面高速缓存的更新的多个日志记录,其中所述多个日志记录适用于在导致所述页面高速缓存中数据丢失的系统故障的情况下将先前状态复原到所述页面高速缓存;存储节点,其被配置来:接收对所述一个或多个数据卷中的特定数据卷的写入请求;针对所述写入请求,更新所述页面高速缓存中的多个条目中的至少一个对应条目;将描述对所述至少一个对应页面高速缓存条目的所述更新的日志记录存储在所述页面高速缓存写入日志中;并且响应于更新所述页面高速缓存条目并且将所述日志记录存储在所述页面高速缓存写入日志中,将所述写入请求确认为完成。2.如权利要求1所述的系统,其中所述存储节点还被配置来:在从系统故障恢复时:从维持所述页面高速缓存写入日志的所述永久性存储装置获得所述日志记录和所述多个日志记录;并且应用所述页面高速缓存中所维持的所述日志记录和所述多个日志记录,以将在所述系统故障之前的所述页面高速缓存的状态写入到所述页面高速缓存。3.如权利要求1所述的系统,其中存储节点还被配置来:检测所述页面高速缓存写入日志的修剪事件;响应于检测到所述修剪事件:识别所述页面高速缓存写入日志中的修剪位置;执行一个或多个转储操作以将来自所述系统存储器的所述多个页面高速缓存条目中的至少一些写入到所述多个基于块的存储装置;并且在所述一个或多个转储操作完成时,改造维持所述页面高速缓存写入日志的所述永久性存储装置的一个或多个部分,用于存储描述对所述页面高速缓存的更新的另外的日志记录。4.如权利要求1所述的系统,其中所述存储节点实施为基于网络的基于块的存储服务的部分,其中实施为所述基于块的存储服务的部分的至少一个其他存储节点维持所述特定数据卷的副本,并且其中所述至少一个其他存储节点被配置来执行所述接收、所述存储、所述更新以及所述确认。5.一种方法,其包括:由一个或多个计算装置执行下列各项:在存储节点处接收在所述存储节点处所维持的至少一个基于块的存储装置中所存留的数据卷的写入请求;针对所述写入请求,更新所述存储节点处的系统存储器中所维持的页面高速缓存中的多个条目中的至少一个对应条目,其中所述页面高速缓存中的所述多个条目定期地或不定期地转储到所述至少一个基于块的存储装置,以便永久地更新所述数据卷;将描述对所述至少一个对应页面高速缓存条目的所述更新的日志记录,连同永久性存储装置中所维持的多个其他日志记录,存储在所述永久性存储装置中所维持的页面高速缓存写入日志中,其中所述日志记录和所述多个其他日志记录描述包括所述更新的页面高速缓存条目的所述页面高速缓存的状态,其在导致所述页面高速缓存中数据丢失的系统故障的情况下将要复原到所述页面高速缓存;以及响应于更新所述页面高速缓存条目并且将所述日志记录存储在所述页面高速缓存写入日志中,将所述写入请求确认为完成。6.如权利要求5所述的方法,其还包括:在从系统故障恢复时:从维持所述页面高速缓存写入日志的所述永久性存储装置获得所述日志记录和所述多个其他日志记录;以及应用所述页面高速缓存中所维持的所述日志记录和所述多个其他日志记录,以将在所述系统故障之前的所述页面高速缓存的状态写入到所述页面高速缓存。7.如权利要求5所述的方法,其中所述存储节点是维持所述数据卷的副本的两个或更多个存储节点中的一个,其中所述两个或更多个存储节点中不同于所述存储节点的至少一个并不为关于...

【专利技术属性】
技术研发人员:D·韦J·L·格思里二世J·M·汤普森B·A·霍克斯N·P·库斯特
申请(专利权)人:亚马逊科技公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1