当主要服务器发生故障时导致在故障恢复期间在备用服务器处出现分组丢失。目前总是存在进入主要系统的分组流量中的在故障恢复间隔期间被丢失某些量。问题在于,当该信息丢失时,备用服务器具有上次提交的状态,因此该备用服务器将具有这样的老旧状态信息,其代表仅对于上次提交时的系统状态而言是准确的系统状态。一种解决方案是一种方法,在该方法中,要被递送给运行在主要虚拟机上的主要软件应用(例如虚拟化软件应用)的所有进入数据分组被持续监视,并被网络复制设备拷贝以用于同时递送给运行在备用系统上的软件应用的备份映像。
【技术实现步骤摘要】
【国外来华专利技术】
一个示例性方面涉及提高系统故障恢复性能。更具体地,一个示例性方面涉及在 (一个或多个)高可用性(HA)软件环境中的提高的系统故障恢复性能。
技术介绍
使用当前技术水平的虚拟机(VM)平台和技术进行的软件应用复制是向软件应用用户提供高可用性保证的非常强大且灵活的方式。应用供应商可以利用VM技术通过创建软件应用的同时但彼此独立运行的多个映像(image)(或拷贝)来向其解决方案提供可靠性。这些映像可以运行在同一实体设备上,例如通用应用服务器,或者运行在多个分离开的 VM容器内,或者它们可以跨越分离开的VM容器中的多个实体计算机而被开发。存在多种VM 复制方案,但是一般地,VM解决方案具有为用户递送软件服务的主要软件映像,并且具有位于备用服务器处的在发生故障的情况中可接任主要软件映像的辅助或第三备份映像。备份映像一般在离散时间间隔处被同步,以更新备份服务器的数据结构和数据库,从而跟踪自数据同步更新上次发生时起所发生的改变。该同步被称为“提交”(commit),并且这些解决方案极大地提高了软件应用供应商保证其用户将接收到对软件应用服务的可靠访问的能力。在高可用性环境中,主要(主动)和辅助(被动)系统一起工作来确保在紧凑锁步 (lock step)(例如tandem(公司名)和stratus (公司名)容错系统)或宽松锁步中(例如不太昂贵的集群)的状态的同步性。只要系统的某个层级存在状态改变,主要系统就将概括状态(summary state)发送给辅助系统,辅助系统使用该概括状态将其状态调节为与主要系统同步。当主要系统在能够发送自上次检查点起累积的任何信息之前发生故障时, 该信息通常基于其被接收到的日期而被辅助系统本地地重放,并且辅助系统试图在接任作为主要系统之前同步其自身。
技术实现思路
然而,在软件应用的VM复制中存在一个需要解决方案的重要问题。该问题是在主要系统发生故障时引起的在故障恢复期间在备用服务器处的分组丢失。目前总是存在进入主要系统的大量分组流量中的在故障恢复间隔期间丢失的某些量。在现有解决方案中,故障恢复期间的这种分组丢失是不可避免的。问题在于,当该信息丢失时,备用服务器具有上次提交的状态,因此该备用服务器将具有这样的老旧状态信息,其代表仅对于上次提交时的系统状态而言是准确的系统状态。克服该问题的尝试的一个现有示例是链路弹回(link bouncing)。Remus (http:// people, cs. ubc. ca/ brendan/papers/remus-nsdi08. pdf)试图通过将传出分组缓冲在主动缓冲器中来解决该问题。然而,Remus实现方式遭受了巨大的性能损失,因此其在大多数产品软件环境中不可用。在Remus中,性能损失的主因是正在丢失的网络分组的传输被4延迟直到下一检查点/提交为止。从先前的事实来看,用于通过数据进行故障恢复的基础实践是使用检查点间隔, 在检查点间隔期间,使得数据在备份服务器上是当前数据。然而如上面所讨论的,这些可用解决方案或者在故障恢复期间丢失数据,或者最好也只不过是它们在故障恢复期间缓冲传入数据,但它们会遭受极大的性能损失。根据一个示例性实施例,一种系统或机制被构建来实现如下方法要被递送给运行在主要虚拟机(VM)中的主要软件应用或系统(例如虚拟化软件应用)的所有进入数据网络分组被持续监视,并被网络复制设备或驱动器(NRD,Network Replication Device or driver)分支或拷贝,以用于同时递送给运行在备用系统或VM上的软件应用的备份映像。 为了实现使应用中断运行时间减少或变为零的目的,该数据实时地或接近实时地被NRD拷贝并递送给备用应用映像。NRD的第二示例性益处是其能够使因故障恢复事件期间的分组丢失引起的应用性能下降减少或变为零的能力。一个示例性实施例假设应用了本技术的VM 平台/系统包括当前的“现有技术水平的”检查点提交和故障检测机制。在准备好(一个或多个)检查点提交和故障检测系统后,网络复制NRD技术的基本逻辑可被实现为网络复制驱动器,该网络复制驱动器完全由共同驻留(co-resident) 在容纳软件应用映像和VM的一个或多个服务器上运行的软件和/或硬件来实现。替代地,或许在另一示例性实现方式中,NRD可被实现为(一个或多个)单独的“线路插件”(bump-in-the-wire)嵌入式计算设备,该嵌入式计算设备实体上独立于容纳软件应用 VM映像的一个或多个服务器被提供并部署。在容纳主要和辅助软件应用的虚拟化映像的主要和辅助实体服务器的超集(superset)情况中,一个示例性实施例还可以包括主要(主动)和辅助(备用)NRD。NRD可以在主动和/或备用服务器或装备中或者在网络中的某个其它位置处运行。根据一个示例性实施例,主动NRD将拷贝到达VM的分组,将目的地地址变为备用目的地,并且将分组转发给备用服务器设备。在此示例性实施例中,备用目的地可以是备用 DOMO (第零域,Domain Zero)位置,其中,该系统在管理程序环境中被实现。然而,一般地, 该位置可以是系统内的任何位置。备用NRD如下这样来缓冲分组-在检查点提交时,备用NRD将清除直到提交为止的缓冲器网络分组。-在故障检测时,备用NRD将缓冲器分组递送给用于虚拟机的新被激活的备用设备。示例性实施例使用一组分离开的线路插件缓冲设备,其中操作在概念上是相同的。但在实现时,分组在到达运行了主要VM的主要服务器之前被主要“插件(bump),,设备截取。它们然后被分支到第二线路插件设备以在故障恢复的情况中进行缓冲以用于备份/ 备用软件映像。利用线路实现方式中的插件,当主要设备发生故障时,即使是严重的硬件故障,插件设备也可以确保去往主要设备的进入流量不丢失。在发生故障时,辅助映像然后可被启动并且开始处理流量,该辅助映像具有如下能力由于去往主要映像的进入数据完全没有丢失,因此能完全复原(recover)主要映像的状态。另外,由于插件设备不限于仅在离散的、检查点提交间隔处形成数据镜像,因此不会牺牲性能。作为此情形的一部分,辅助插件设备和主要插件设备在故障恢复时可以交换角色,从主要插件设备交换为辅助插件设备,反之亦然。在发生故障之后像主要插件设备那样动作的辅助插件设备可以开始将数据镜像到先前作为主要插件设备并且现在起辅助插件设备的作用的插件设备。同时,发生故障的主要服务器可被替换并被重启,同时这两个插件设备可继续未经中断的操作。一旦主要服务器被替换/重启,系统现在就可以进行恢复“反向置换 (swapback) ”,其中,主动“备份”服务器将状态、流量和所有权会话操作提交回已被替换/ 重启的“主要”服务器。再次地,这将能够再次平衡利用两个实体上分离的插件设备,而不会丢失任何状态或可用性。与在前解决方案相比,本方法的一个示例性优点在于,即使面对着严重的主要硬件或软件映像故障,其也能够使多映像虚拟化软件应用向软件应用用户提供连续的未被中断的服务。另一示例性方面涉及将去往虚拟化软件映像的进入流量的处理与该虚拟化软件应用的主要操作分离开。另外,其它感兴趣方面可在如下想法中找到在实体上将该流量处理分离到执行该协作缓冲操作的独立部署的线路插件设备。另一示例性实施例涉及VM环本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:亨俊·李,
申请(专利权)人:阿瓦雅公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。