使得计算机具有高可用性的方法和计算机系统技术方案

技术编号:4262356 阅读:247 留言:1更新日期:2012-04-11 18:40
本发明专利技术提供了一种利用计算机获得高可用性的方法及其计算机系统,该系统包括:至少两个计算机,包括主计算机和仆计算机,并且每个计算机包含有虚拟机容器;在所述虚拟机容器上运行的虚拟机;使得这所述虚拟机容器执行虚拟机同步操作的通信信道,其中所述虚拟机容器的虚拟机同步操作通过虚拟机执行I/O指令来触发。

【技术实现步骤摘要】

本专利技术涉及一种容错计算机系统,具体而言,本专利技术涉及一种如何使得 计算机具有高可用性的方法和计算机系统。
技术介绍
通常,计算机系统经常会由于各种原因导致各种故障,使得用户不能及 时地完成相关的工作。计算机系统的这种故障被称为不可用性。本领域的技 术人员一直在为克服计算机系统的各种情况的不可用性进行努力,以便使得 计算机系统具有较高的可用性,或者说使得计算机系统在使用过程中具有高 可靠性以及低故障率。为此,本领域中常用的方法就是为执行任务的主计算机配备一 台备用计 算机。主计算机执行用户所请求的任务并将其所执行的各种操作告知备用计 算机,以便在主计算机出现故障时,备用计算机能够接管主计算机所需提供 的服务。这样,提供给用户的服务不会因为主计算机的硬件故障而中断。但 是,这种容错解决方案通常需要在两台计算机中安装特定的计算机硬件或者 需要修改计算机的操作系统,这为那些不需要面对容错问题的用户增加了不 必要的成本。为此, 一种现有技术提出了在两台物理机上构建多个虚拟机,两台物理机上的虚拟机互为备份,通过虚拟机监视器获取虚拟机的1/0操作, 并通过硬件支持的RR (恢复)寄存器记录指令执行的数量,从而执行操作的 备份。在其中一个物理机的故障消除后,RR寄存器清零,使得主虚拟机与备 份虚拟机进行同步。尽管这种方案解决了用户在成本以及操作程序的更新和 修改方面的问题,但是其同步的速度并不能令用户满意。另 一种现有的容错计算机系统是通过在两台物理机中构建主虛拟机以及 仆虚拟机,利用两个虚拟机之间的同步进行双机热备,从而实现容错的目的。 其中,虚拟机之间通过同步操作来实现虚拟机的同步。这种现有技术要求仆 虚拟机复制主虚拟机的所有操作,即虚拟机之间频繁地处于同步触发状态, 这使主虚拟机在实现虚拟机同步方面花费太多资源(CPU等),相应地减少了主计算机执行主要任务所需要的资源,影响了主计算机的主要性能。本专利技术的目的就是提供一种解决上述现有技术中技术问题的途径。具体 而言,本专利技术目的是提供一种使得计算机具有高可用性的系统以及方法。
技术实现思路
总体而言,本专利技术提供了一种使得计算机具有高可用性的方法,该方法包括提供具有主虚拟机容器的主计算机以及具有仆虚拟机容器的仆计算机; 在所述主虚拟机容器和仆虚拟机容器上分别运行主虚拟机和仆虚拟机;以及 通过主计算机和仆计算机之间的通信信道使用I/O指令作为处理边界来使得 所述主虚拟机和仆虚拟机同步。相应地,本专利技术提供了一种使得计算机具有高可用性的计算机系统,该 系统包括具有主虚拟机容器的主计算机和具有仆虚拟机容器的仆计算机、 分别在所述主虚拟机容器和仆虚拟机容器上运行的主虚拟机和仆虚拟机、主 计算机和仆计算机之间的通信信道,其中所述主虚拟机通过所述通信信道使 用1/0指令作为处理边界来触发与仆虚拟机的同步。根据本专利技术的另一个方面,提供了一种计算机,包括虚拟机容器以及在 所述虚拟机容器上运行的虚拟^^,所述虚拟机包括指令队列、主存以及曰 志存储器,其中,虚拟机将主存中的命令加载到其指令队列,执行指令队列 中的各种指令以及将数据写入主存,并将指令队列中的各种命令以日志存储 指令的形式写入虚拟机的日志存储器中,其中所述虚拟机用指令队列中的I/O 指令作为处理边界来触发与另 一台计算机的虚拟机同步操作。附图说明下面参照附图仅作为示例详细描述本专利技术的实施例,其中图1所示的是根据本专利技术一个实施例的计算机系统架构的示意图2所示的是根据本专利技术一个实施例的计算机系统的软件配置的示意图3是根据本专利技术一个实施例的使得至少两台计算机之间同步的方法的 流程图。具体实施方式下面结合说明书附图对本专利技术进行详细的描述。计算机系统的高可用性意味着即使在其中 一个计算机存在故障时该计算 机系统也能够连续地进行操作。本专利技术就提供了 一种具有高可用性的计算机 系统。图1所示的是一种具有高可用性的计算机系统的实施例。如图l所示, 计算机系统由至少两台物理机(计算机)构成,其中一台作为主物理机1, 另一台作为仆物理机6。这两台物理机例如通过服务器11或其他类似的通信信道彼此进行数据通信。服务器11还包括SAN存储器。每个物理机中都包 含有一个虚拟机容器。主物理机上的虚拟机容器为主虚拟机容器2,仆物理 机上的虚拟机容器为仆虚拟机容器7。每个虚拟机容器都有各自的主存3、 8 以及日志存储器4、 9。两个虚拟机容器上的虚拟机上运行着相同的操作系统 以及相同的应用程序。虚拟机在运行应用程序的过程中将各种指令运行的结 果存储起来,并且将应用程序的操作的日志(journal)存储在日志存储器4、 9中。虚拟机执行排列在各自指令队列5、 10中的指令,并将执行的结果写 入主存。根据本专利技术,虚拟机的行为分为两种,即存储器(或寄存器)读/写 操作以及I/0操作(例如盘I/0)。根据本专利技术,计算机系统的主虛拟机通过 指令队列中的I/O操作来触发主虚拟机和仆虛拟机之间的同步操作,也就是, 本专利技术通过I/0操作的发生来触发同步操作。主虚拟机在执行指令队列5中 的指令过程的同时,将两个相邻的同步点(1/0指令)之间各种命令以日志存 储指令的形式保存在主虚拟机容器的日志存储器4中。在主虚拟机执行指令 队列5中的指令的过程中,如果遇到I/0操作指令(同步点)时,将存储器日志 存储器中存储的日志存储指令传输给仆虚拟机容器的日志存储器9,也就是, 将日志存储器4的内容拷贝到日志存储器9中,供仆虚拟机执行。通过这种 方式,两台虚拟机之间的同步能够高效快速地实现。图2是所示的是根据本专利技术的计算机系统的软件配置的示意图。如图2 所示,物理机1和6分别包括各自的CPU、存储器以及输入输出装置的硬件 集成13和15,操作系统14和16分别运行在相应的硬件集成上。虚拟机容 器2和7分别运行在相应的操作系统14和16上。虚拟机容器2和7彼此进 行同步。每个虚拟机容器上分别运行一个或多个应用程序17和18,每个虚 拟机容器都占用 一定的CPU空间。下面,对两台物理机中的虚拟机的同步操作过程进行详细的描述。在正 常状态下,只有一个虚拟机容器为客户提供服务。主计算机通过客户IO信道CPU状态、主存、存储器存取、时钟以及中断请求处于同步状态。仆虚拟机容器保持存储器和10配置的复本(replica)。仆虚拟机容器能够被动地存取 客户IO信道。两个虚拟机容器的同步包括CPU和主存状态以及存储器存 取的同步、时钟同步、中断请求的同步以及批同步。CPU和主存状态以及存 储器存取的同步,就是当两个虚拟机容器的CPU在相同的状态语境内从相同 程序中的相同程序计数器开始运行时,对于运算和逻辑指令,它们在每个指 令之后需要产生完全相同的状态类型,并且以相同的方式存取该存储器。时 钟同步就是尽管运算和逻辑执行必须是相同的,但是当时间漂移(shift)时 执行时间会不同。因此,当一个CPU到达一个点以便提取当前时间戳(stamp) 时,它必须等待其对应的CPU—起到达该点。随后这一对同步虚拟机容器在 时间戳方面达成一致,并且将以相同的值将其报告给两个处理器。中断请求 的同步就是当两个虚拟机容器打算对其虚拟处理器发出 一个中断(例如盘存 取完全中断)时,其必须等待其对应虚拟机容器也发出这种本文档来自技高网
...

【技术保护点】
一种使得计算机具有高可用性的方法,该方法包括:提供具有主虚拟机容器的主计算机以及具有仆虚拟机容器的仆计算机;在所述主虚拟机容器和仆虚拟机容器上分别运行主虚拟机和仆虚拟机;以及通过主计算机和仆计算机之间的通信信道使用I/O指令作为处理边界来使得所述主虚拟机和仆虚拟机同步。

【技术特征摘要】
1.一种使得计算机具有高可用性的方法,该方法包括提供具有主虚拟机容器的主计算机以及具有仆虚拟机容器的仆计算机;在所述主虚拟机容器和仆虚拟机容器上分别运行主虚拟机和仆虚拟机;以及通过主计算机和仆计算机之间的通信信道使用I/O指令作为处理边界来使得所述主虚拟机和仆虚拟机同步。2. 如权利要求l所述的方法,其中,使得所述主虚拟机和仆虚拟机同步 的步骤包括使得主虚拟机和仆虚拟机的CPU寄存器状态及主存同步。3. 如权利要求1或2所述的方法,其还包括主虚拟机从其主存中将指 令加载到其指令队列,执行指令队列中的各种指令以及将数据写入主存,并 将各种指令以日志存储指令的形式写入主虚拟机中日志存储器中。4. 如权利要求3所述的方法,其中,所述使用1/0指令作为处理边界来 使得所述主虚拟机和仆虚拟机同步包括在遇到一条I/O指令后将在所述一 条I/O指令和紧接于所述一条I/O指令之前的一条I/O指令之间的、存储在曰 志存储器中的日志存储指令发送到仆虚拟机的日志存储器。5. 如前权利要求4所述的方法,还包括仆虚拟机执行其日志存储器中6. —种使得计算机具有高可用性的计算机系统,该系统包括具有主虚 拟机容器的主计算机和具有仆虚拟机容器的仆计算机、分别在所述主虚拟机 容器和仆虚拟机容器上运行的主虚拟机和仆虚拟机、主计算机和仆计算机之 间的通信信道,其中所述主虚拟机通过所述通信信道^f吏用I/O指令作为处理 边界来触发与仆虚拟机的同步。7. 如权利要求6所述的计算机系统,其中,所述主虚拟机与所述仆虚拟 机之间的同步包括主虚拟机和仆虚拟机的CPU寄...

【专利技术属性】
技术研发人员:张剑鸣黄剑向哲金凌夏寅贲
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有1条评论
  • 来自[北京市联通] 2014年12月09日 03:02
    得计指计谋获得成功语出庄子·徐无鬼於蚁弃知於鱼得计於羊弃意
    0
1
相关领域技术
  • 暂无相关专利