跨群集边界的服务迁移的制作方法

文档序号:9333028阅读:314来源:国知局
跨群集边界的服务迁移的制作方法
【专利说明】跨群集边界的服务迁移
[0001]
[0002]大规模数据中心一般包括运行标准软件包的集合的硬件机器的有组织群集,诸如web服务器、数据库服务器等等。出于容错和管理原因,数据中心中的机器一般被分成多个群集,所述多个群集独立地由协调各软件应用的各资源的一框架监控和管理。在一实施例中,框架可以是例如供应、支持、监控和命令构成数据中心的各虚拟机(VM)和物理服务器的Windows Azure?结构控制器。
[0003]在现有的数据中心中,每个承租者在其整个生命周期被部署至单个群集,允许承租者的部署被单个框架管理。然而,该配置可以限制承租者的成长,因为扩展被限制于该单个群集内的机器。承租者和群集间的紧密耦合要求数据中心操作者将群集的容量维持在一级别,该级别将满足部署在该群集上的承租者的潜在的将来要求。通常,这导致群集在预期可能的将来需求时以低电流利用率进行操作。即使多余容量被维持时,这仅仅改进了承租者的将来需求将被支持的可能性。不保证承租者规模请求将被限制于已保留的容量并且,因此,有时承租者可能不能获得所需的容量。
[0004]将服务限制于一个群集也为该服务创建单个故障点。如果控制该群集的框架发生故障,则整个群集将发生故障,并且该群集上所支持的所有服务都将不可用。
[0005]概述
[0006]提供本概述是为了以精简的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
[0007]本发明的各实施例允许承租者的服务有停机时间或无停机时间地在多个群集间移动。服务与群集上的特定IP地址相关联。用户使用一域名接入服务,该域名通过域名系统(DNS)或其他网络位置服务转换成IP地址。在服务在各群集间移动时,服务的IP地址可能改变或可能不改变。
[0008]服务可以通过以下步骤有停机时间地被迀移:在新群集中发起服务的新实例;等待该新实例准备就绪;然后停止原始实例;并将服务的DNS名称指向与服务在新群集上的新部署相对应的IP地址。
[0009]或者,服务可以有停机时间地被迀移至新群集,并且保留原始IP地址。这会避免在DNS高速缓存被重新填充的同时对DNS及相关延迟重新编程的需求。
[0010]迀移服务的进一步替代方案是通过以下步骤来无停机时间地执行迀移:逐部分地移动服务使得服务在迀移过程期间总是在群集中的一者或两者中运行。
[0011]附图简沐
[0012]为了进一步阐明本发明的各实施例的以上和其他优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。本发明将通过使用附图用附加特征和细节来描述和解释,附图中:
[0013]图1是图示用于跨不同群集移动服务的承租者迀移器的框图。
[0014]图2图示了具有服务停机时间且需要DNS重新编程的服务迀移。
[0015]图3图示了具有服务停机时间但保留服务的IP地址的服务迀移。
[0016]图4图示了消除服务停机时间并保留服务的IP地址的服务迀移。
[0017]图5图示了用于承租者迀移的适当的计算和联网环境的示例。
[0018]详细描沐
[0019]图1是图示用于跨不同群集12、13移动服务的承租者迀移器11的框图。承租者迀移器11连接至数据中心中的所有群集。一旦数据中心操作者决定在各群集间移动服务,例如,为了平衡利用率或为了满足承租者需求,承租者迀移器11就标识该服务的正确目的地群集。目的地群集的选择可以基于各因素,诸如潜在目的地群集的利用、服务所作的当前需求等等。一旦标识了目的地群集,承租者迀移器11就通过在原始群集和新群集上创建/删除VM 14、15上的实例来移动服务。
[0020]承租者迀移器11控制如操作者所选择的那样是有停机时间还是没有停机时间地执行迀移。如果新IP地址被指派给服务则承租者迀移器11可以请求对DNS记录的更新,或者如果服务保持相同地址时则承租者迀移器11可以将IP地址移至新群集。服务存在性在迀移期间是互斥的。例如,当服务被迀移时,承租者迀移器11确保从顾客角度来看服务的两个实例绝不会都在运行。
[0021]图2图示了根据一实施例的具有服务停机时间且需要DNS重新编程的服务迀移。承租者迀移器21已标识在群集22上运行的要被移至群集23的服务。旧服务被指派群集22上的一个旧IP地址。在步骤201中,承租者迀移器21标识并复制来自群集22的服务人工产物,诸如代码、比特、证书、型号等。通过使用这些人工产物,在步骤202中在群集23上创建新服务,但该服务未被启动。
[0022]承租者迀移器21在步骤203中指示新群集23来发起新服务群集23在步骤204中选择适当的节点并且设立VM来运行该服务。群集23上的新IP地址被指派给该新服务。群集23在此时不启动该服务。承租者迀移器21在步骤206中等待该服务在新群集上被发起,这例如在步骤205中指示。
[0023]—旦新服务已被发起,承租者迀移器21就在步骤207中停止旧服务,并接着在步骤208中启动新服务。在步骤209中从群集22删除旧服务,这为该群集上运行的其他服务打开空间以扩展或被添加。
[0024]然后,承租者迀移器在步骤210中更新中央DNS记录以使该服务的域名指向群集23上的适当的新IP地址。DNS记录更新可以用步骤207和208同时执行,而同时旧服务被停止且新服务被启动。
[0025]在步骤207中停止旧服务和在步骤208中启动新服务之间有一时间段服务将对于用户不可用。此外,如果用户使用域名来接入服务,则在DNS记录从服务的域名的旧IP地址被更新至新IP地址的同时,可能有附加延迟。由于DNS支持跨互联网分布的许多本地高速缓存,因此需要时间来更新全部这些高速缓存。一旦中央DNS记录被更新,则本地DNS高速缓存被清除并且用新IP地址来更新。在这些更新发生之前,用户将被定向至旧群集22,该旧群集22不再运行服务并,因此,使用该服务的尝试将失败
[0026]图3图示了根据一实施例的具有服务停机时间但保留服务的IP地址的服务迀移。承租者迀移器31已标识在群集32上运行的要被移至群集33的服务。旧服务被指派群集32上的一个IP地址。在步骤301中,承租者迀移器31标识并复制来自群集32的服务人工产物,诸如代码、比特、证书、型号等。通过使用这些人工产物,在步骤302中在群集33上创建新服务,但该服务未被启动。
[0027]承租者迀移器31在步骤303中指示新群集33来发起新服务。群集33在步骤304中选择适当的节点并且设立VM来运行该服务。群集33在此时不启动该服务。承租者迀移器31在步骤306中等待该服务在新群集上被发起,这例如在步骤305中指示。
[0028]一旦新服务已被发起,则承租者迀移器31在步骤307中停止旧服务。在步骤308中,服务的IP地址从群集32移除。
[0029]服务的IP地址在步骤309中被添加至群集33,并且群集33上的新服务在步骤310上被启动。
[0030]最后,在步骤311中从群集32删除旧服务,这为该群集上运行的其他服务打开空间以扩展或被添加。
[0031]由于服务的IP地址尚未改变,因此承租者迀移器不需要如同图2所示的过程中所需的那样更新DNS记录。因此,在步骤307中停止旧服务和在步骤310中启动新服务之间有一时间段服务将对于用户不可用。然而,一旦新服务被启动,用户可能仍使用域名接入该服务,而不等待任何DNS记录更新延迟。本地DNS高速缓存将是准确的,因为服务的域名将仍旧与服务的相同IP地址相关联。
[0032]图4图示了根据一实施例的消除服务停机时间且保留服务的IP地址的服务迀移。承租者迀移器41已标识在群集42上运行的要被移至群集43的服务。旧服务被指派群集42上的一个旧IP地址。在步骤401中,承租者迀移器41标识并复制来自群集42的服务人工产物,诸如代码、比特、证书、型号等。通过使用这些人工产物,在步骤402中在群集43上创建新服务,但该服务未被启动。
[0033]承租者迀移器41在步骤403中指示新群集43来发起新服务。群集43在步骤404中选择适当的节点并且设立VM来运行该服务。同一 IP地址在群集42和群集43两者上用于该服务。承租者迀移器41在步骤406中等待该服务在新群集上被发起,这例如在步骤405中指示。
[0034]一旦新服务已被发起,则承租者迀移器41在步骤407中停止旧服务的一部分。然后,承租者迀移器41在步骤408中启动新服务的相应部分。网络也在步骤408中按需被更新以连接旧服务和新服务的已启动部分以及负载平衡器及其他路由组件,以允许它们跨群集42、43指向已启动的服务。不像图2和3所示的过程,服务的仅仅一部分(例如,所选数量的VM或实例)在步骤407中被停止且然后在步骤408中被启动。承租者迀移器在步骤409中等待在新群集上被启动的该部分准备就绪供使用。
[0035]一旦新部分在步骤409中准备就绪,则承租者迀移器对于服务的下一部分重复(步骤410)步骤407 - 409。这些步骤在循环410中继续,直到该服务的全部已经零碎地从旧群集42移至新群集43。在一实施例中,在每次经过循环410期间逐一地移动值得服务的一个更新域。承租者会准备好在对服务的升级期间丢失升级域,因此那些分段可用于分割该服务用于群集间的迀移。
[0036]在服务的所有部分已经在循环410中被移动之后,在步骤411中从群集42删除旧服务。
[0037]由于服务的IP地址尚未改变,因此承租者迀移器不需要如同图2所示的过程中进行的那样更新DNS记录。不存在服务在两个群集上均被停止的时间段。因此,服务将没有停机时间而总是对于用户可用。
[0038]图5解说了其上可以实现图1-4的示例的适当的计算和联网环境的示例。例如,承租者迀移器11和/SVM 14、15可以主
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1