远程访问数据的有效实时迁移制造技术

技术编号:19396742 阅读:24 留言:0更新日期:2018-11-10 05:02
方法,系统和装置,包括在计算机存储介质上编码的计算机程序,用于将数据从第一存储系统迁移到第二存储系统。该数据用于在与第一存储系统和第二存储系统分开的计算机系统上操作的进程(例如,虚拟机、应用程序或一些其他进程)。该数据按照数据子集存储,每个数据子集彼此互斥。在迁移每个数据集时,防止进程对数据集的访问,但不会影响对其余数据集的访问。一旦数据迁移完成,恢复该进程对数据集的访问。

【技术实现步骤摘要】
【国外来华专利技术】远程访问数据的有效实时迁移
技术介绍
云计算是指基于网络的计算,其中安置在数据中心或“服务器场(serverfarm)”中的服务器的集合根据需要向远程终端用户提供计算资源和数据存储。一些云计算服务向终端用户提供对诸如文字处理器和其他常用应用程序的软件应用程序的访问,这些终端用户通过网络浏览器或其他客户侧软件与应用程序交互。用户的电子数据文件通常存储在服务器场中,而不是存储在用户的计算设备上。在服务器场上维护软件应用程序和用户数据简化了终端用户计算设备的管理。一些云计算服务允许终端用户在虚拟机中运行软件应用程序。在公共云计算环境中,多个用户能够启动虚拟机(VM)。通常,特定虚拟机的数据存储在与虚拟机被实例化的物理机分开的一个或多个物理机上。出于各种原因——负载共享、服务器维护等——存储在特定物理机上的一些或所有数据可以迁移到另一个物理机。数据的实时迁移是将数据从一个物理机移动到另一个物理机的过程,而虚拟机(或者可选择地,非虚拟处理实体)对数据执行任意读取和写入。
技术实现思路
本说明书涉及数据的实时迁移。本文描述了一种系统方法和系统,用于将数据从存储计算机移动到另一个存储计算机,同时为从另一个物理机远程访问数据的第三方处理设备(例如,虚拟机或应用程序)提供对数据的一致和高性能访问。通常,本说明书中描述的主题的一个创新方面可以体现在包括以下动作的方法中:在第一物理机中存储用于在第二物理机上运行的数据处理进程的数据,所述第二物理机与所述第一物理机分开,所述存储数据包括根据多个数据子集存储所述数据,其中每个数据子集彼此互斥;对于每个数据子集,通过所述数据处理进程,在映射中将所述第一物理机上的所述数据子集的地址范围逻辑地映射到所述数据处理进程的相应逻辑地址范围;根据逻辑寻址,使所述数据处理进程能够对数据进行读写访问;确定存储在所述第一物理机上的第一数据子集将被迁移到与所述第一物理机和所述第二物理机分开的第三物理机,并作为响应:阻止所述数据处理进程对所述第一数据子集的读写访问,同时维持所述数据处理进程对其他数据子集的读写访问;将所述第一数据子集从所述第一物理机迁移到所述第三物理机,以将所述数据子集存储在所述第三物理机上;通过所述数据处理进程,将所述第三物理机上的所述第一数据子集的地址范围逻辑地映射到所述数据处理进程的相应逻辑地址范围来更新所述映射。该方面的其他实施例包括相应的系统、装置和计算机程序,计算机程序被配置为执行该方法的动作,计算机程序被编码在计算机存储设备上。通常,本说明书中描述的主题的另一个方面可以体现在系统中,该系统包括:第一物理机,所述第一物理机根据多个数据子集存储数据,每个所述数据子集彼此互斥;第二物理机,所述第二物理机与所述第一物理机分开,并且所述第二物理机上的虚拟机对所述第一物理机上存储的数据进行读写访问,并且对于每个数据子集,在映射中将所述第一物理机上的所述数据子集的地址范围逻辑地映射到所述虚拟机的相应逻辑地址范围;其中,响应于确定存储在所述第一物理机上的第一数据子集将被迁移到与所述第一物理机和所述第二物理机分开的第三物理机:将所述第一数据子集从所述第一物理机迁移到所述第三物理机;在所述迁移期间阻止所述虚拟机对所述第一数据子集的读写访问,同时维持所述虚拟机对其他数据子集的读写访问;以及通过所述虚拟机更新所述映射以将所述第三物理机上的所述第一数据子集的地址范围逻辑地映射到所述虚拟机的相应逻辑地址范围;以及在将所述第一数据子集从所述第一物理机迁移到所述第三物理机之后,恢复所述虚拟机对所述第一数据子集的读写访问。该方面的其他实施例包括相应的方法、装置和计算机程序,计算机程序被配置为执行该方法的动作,计算机程序被编码在计算机存储设备上。可以实施本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。与诸如预复制和后复制实时迁移的其他实时迁移方法相比,该方法为虚拟机提供了更好的性能保证。例如,预复制实时迁移将整个数据地址空间视为整个迁移单元,因此整个地址空间完全存在于迁移的始发侧或完全存在于迁移的目的地侧。当迁移正在进行时为了提供对数据的“实时”访问,允许虚拟机继续读/写数据,但是写入被追踪以便可以将更改重新发送到实时迁移的接收物理机。这种重新发送耗费更多的读取带宽、网络带宽、CPU处理和时间。此外,通常繁忙的虚拟机更改数据的速度快于通过网络将更改发送到目的地的速度;在这种情况下,必须减慢虚拟机的访问速度,导致性能下降。利用后复制实时迁移,虚拟机被通知目的地物理机并向目的地物理机请求数据。如果数据存储在目的地物理机上,则目的地物理机提供数据;否则,目的地物理机从正在迁移数据的始发物理机提取数据,然后提供数据。当必须从始发物理机提取数据时,虚拟机会经历延迟增加。由于从目的地物理机到始发物理机的许多访问,存在显著的总带宽性能下降。然而,下面描述的方法和系统克服了这些操作特性中的一些或全部,从而导致数据存储和管理
的改进。通过处理可能是一块XMB的数据或一页数据等的数据子集中的迁移数据,该迁移比预复制实时迁移更精细。防止虚拟机访问正在经历迁移的数据子集。因此,不需要执行对写入的追踪。一旦迁移了数据子集,就不需要重新发送它,因为将来所有的访问都将直接转向目的地侧。如果虚拟机不访问正在迁移的数据子集,则虚拟机几乎不会对性能产生影响。随着数据子集大小减小,虚拟机在等待数据子集迁移时必须被阻止的时间量减少。相反,随着数据子集大小增加,用于存储映射的元数据量减少。因此,通过选择性地评估等待时间与映射维护的权衡(Trade-offs),系统管理可以为特定应用程序定制数据子集大小,这使得应用程序的迁移性能操作改善。尽管下面描述的迁移技术确实利用一些带宽用于开销,但是与预复制或后复制迁移所使用的带宽相比,所使用的量相对较小。这仍然是数据迁移
的又一次改进。因为阻止了对于正在经历迁移的数据子集的读写访问,所以不需要用于追踪对数据子集的更改的开销机制,也不需要为了迁移目的而专门命令虚拟机访问数据子集。例如,如果数据存储是磁盘并且虚拟机执行对位置的写入,同时为了迁移目的而存在对相同位置的未完成读取,则读取访问的结果是未定义的。这里的系统和方法通过阻止虚拟机访问正被迁移的特定区域来防止对相同位置的并发访问。可以在任何时间停止下面描述的实时迁移而不会丢失进度。这与预复制实时迁移形成对比,如果停止预复制实时迁移必须完全重新开始,并且也与后复制实时迁移形成对比,后复制实时迁移在虚拟机的访问切换到目的地侧后无法停止。在附图和以下描述中阐述了本说明书中描述的主题的一个或多个实施例的细节。根据说明书、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。附图说明图1是基于云的环境的框图,其中数据可以经历实时迁移。图2是数据的实时迁移的示例进程的流程图。图3是数据的实时迁移的示例进程的流程图,其中数据子集直接从第一物理机迁移到第三物理机。图4是数据的实时迁移的示例进程的流程图,其中数据子集从第一物理机迁移到第三物理机并且通过其中实现有虚拟机的物理机。各附图中相同的附图标记和名称表示相同的元件。具体实施方式综述第一物理机按照多个数据子集存储数据,每个数据子集彼此互斥。存储数据用于数据处理进程,诸如虚拟机,该数据处本文档来自技高网
...

【技术保护点】
1.一种由包括多个物理机的数据处理系统执行的方法,其特征在于,所述方法包括:在第一物理机中存储用于在第二物理机上运行的数据处理进程的数据,所述第二物理机与所述第一物理机分开,所述存储数据包括根据多个数据子集存储所述数据,其中每个数据子集彼此互斥;对于每个数据子集,通过所述数据处理进程,在映射中将所述第一物理机上的所述数据子集的地址范围逻辑地映射到所述数据处理进程的相应逻辑地址范围;根据逻辑寻址,使所述数据处理进程能够对所述数据进行读写访问;确定存储在所述第一物理机上的第一数据子集将被迁移到与所述第一物理机和所述第二物理机分开的第三物理机,并作为响应:阻止所述数据处理进程对所述第一数据子集的读写访问,同时维持所述数据处理进程对其他所述数据子集的读写访问;将所述第一数据子集从所述第一物理机迁移到所述第三物理机,以将所述数据子集存储在所述第三物理机上;通过所述数据处理进程,将所述第三物理机上的所述第一数据子集的地址范围逻辑地映射到所述数据处理进程的相应逻辑地址范围来更新所述映射。

【技术特征摘要】
【国外来华专利技术】2016.03.16 US 15/071,8521.一种由包括多个物理机的数据处理系统执行的方法,其特征在于,所述方法包括:在第一物理机中存储用于在第二物理机上运行的数据处理进程的数据,所述第二物理机与所述第一物理机分开,所述存储数据包括根据多个数据子集存储所述数据,其中每个数据子集彼此互斥;对于每个数据子集,通过所述数据处理进程,在映射中将所述第一物理机上的所述数据子集的地址范围逻辑地映射到所述数据处理进程的相应逻辑地址范围;根据逻辑寻址,使所述数据处理进程能够对所述数据进行读写访问;确定存储在所述第一物理机上的第一数据子集将被迁移到与所述第一物理机和所述第二物理机分开的第三物理机,并作为响应:阻止所述数据处理进程对所述第一数据子集的读写访问,同时维持所述数据处理进程对其他所述数据子集的读写访问;将所述第一数据子集从所述第一物理机迁移到所述第三物理机,以将所述数据子集存储在所述第三物理机上;通过所述数据处理进程,将所述第三物理机上的所述第一数据子集的地址范围逻辑地映射到所述数据处理进程的相应逻辑地址范围来更新所述映射。2.如权利要求1所述的方法,其特征在于,所述数据处理进程是虚拟机。3.如权利要求2所述的方法,其特征在于:所述第一物理机上存储的所述第一数据子集将被迁移到所述第三物理机的所述确定由所述第一物理机执行;并且阻止所述虚拟机对所述第一数据子集的读写访问同时维持所述虚拟机对其他所述数据子集的读写访问包括,由所述第一物理机阻止所述虚拟机对所述第一数据子集的读写访问。4.如权利要求3所述的方法,其特征在于,还包括:由所述第一物理机,向所述虚拟机提供所述第一数据子集向所述第三物理机迁移的通知;和其中,通过将所述第三物理机上的所述第一数据子集的地址范围逻辑地映射到所述虚拟机的相应逻辑地址范围来更新所述映射是响应于所述虚拟机接收由所述第一物理机提供的所述通知而完成的。5.如权利要求4所述的方法,其特征在于,所述通知指令所述虚拟机不访问所述第一数据子集。6.如权利要求4所述的方法,其特征在于,将所述第一数据子集从所述第一物理机迁移到所述第三物理机,以将所述数据子集存储在所述第三物理机上包括,直接将所述第一数据子集从所述第一物理机发送到所述第三物理机。7.如权利要求3所述的方法,其特征在于,还包括:由所述第三物理机,向所述虚拟机提供所述第一数据子集向所述第三物理机迁移的通知;和其中,通过将所述第三物理机上的所述第一数据子集的地址范围逻辑地映射到所述虚拟机的相应逻辑地址范围来更新所述映射是响应于由所述虚拟机接收所述通知而完成的。8.如权利要求2所述的方法,其特征在于:所述第一物理机上存储的所述第一数据子集将被迁移到所述第三物理机的所述确定由所述虚拟机执行;并且将所述第一数据子集从所述第一物理机迁移到所述第三物理机,以将所述数据子集存储在所述第三物理机上包括:通过所述虚拟机指令所述第一物理机将所述第一数据子集发送到所述虚拟机;和通过所述虚拟机将从所述第一物理机接收的所述第一数据子集发送到所述第三物理机。9.如权利要求8所述的方法,其特征在于,所述第一物理机和所述第三物理机存储所述数据子集而不引用所述虚拟机的地址。10.如权利要求2所述的方法,其特征在于,还包括,在将所述第一数据子集从所述第一物理机迁移到所述第三物理机之后,恢复所述虚拟机对所述第一数据子集的读写访问。11.如权利要求2所述的方法,其特征在于:所述第一物理机上存储的所述第一数据子集将被迁移到所述...

【专利技术属性】
技术研发人员:泰勒·桑德森
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:美国,US

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

1