虚拟机-保留主机更新的制作方法

文档序号:8501108阅读:307来源:国知局
虚拟机-保留主机更新的制作方法
【专利说明】
【背景技术】
[0001]重新引导操作系统涉及关闭正在运行的操作系统以及立即启动它。有数种用于重新引导操作系统的原因。例如,硬件维护和升级通常要求操作系统在可以修改硬件之前离线。更频繁地,需要重新引导以应用代码和配置更新,并且操作系统在没有重新启动的情况下不能采用这些更新。
[0002]重新引导操作系统会干扰在系统上运行的应用,这必须关闭客户端连接,将它们的状态提交到存储器,并关闭。在重新启动期间,那些应用必须随后恢复它们的状态,重建存储器高速缓存,并恢复接受客户端连接。因为重新引导不仅影响在主机分区上操作的应用,而且还影响在托管的虚拟机上运行的应用,这些破坏在虚拟化环境中被放大。
[0003]在重新引导期间,在虚拟机上运行的应用将在关闭虚拟机、关闭主机、运行固件通电自检(POST)、启动主机、启动虚拟机,以及启动应用所需的时间内离线。在某些情况下,此运行中断的持续时间可以大约三十分钟或更多。如果服务级别协议(SLA)要求应用的特定的可用性,则由主机操作系统重新引导所引起的停机时间将消耗SLA的停机时间预算的至少一部分。这将在SLA停机时间预算内为在频率和持续时间方面不可预测的非计划的运行中断留下较少的时间。
[0004]在云环境中,服务通常要求在单独的主机服务器上运行的至少两个虚拟机满足计算-可用性SLA。使用多个分布式虚拟机允许云平台更新托管第一虚拟机的第一服务器时第二虚拟机继续在第二服务器上运行。可以在已更新的第一虚拟机再次运行之后更新第二服务器。然而,重新引导的服务器上的虚拟机会丢失存储器中的高速缓存。在云环境中,重新引导停机时间会导致容量降低,而并非彻底的运行中断。另外,如果只有两个虚拟机用于支持一个服务,则在更新期间存在彻底运行中断的风险。例如,当一个服务器正在被更新时,该主机上的虚拟机不可用,如果托管其他虚拟机的服务器在更新期间发生故障,则其他虚拟机也将不可用。
[0005]取决于部署的服务的拓扑、在重新引导期间由硬件复位所引起的任何服务器故障以及关闭虚拟机需要花费的时间长度,可包括大致一千台服务器的集群的端对端更新要花12-24小时。除非所有服务器都并行地更新(这可能违犯消费者SLA),否则集群的配置在端对端更新期间不一致且集群可能会暴露于利用更新来修复的安全和可靠性问题。
[0006]尽管横向扩展(Scale-OUt)PaaS服务在更新期间具有降低的容量,但是具有包括单一虚拟机(包括绝大多数基于IaaS的层)的层的服务经历彻底的运行中断。使用三十分钟作为虚拟机在更新期间离线的时间,每个月更新一次,对于具有有99.9%年可用性SLA的应用而言在一年内只允许有2.75小时的未计划的停机时间。给定软件的运行速率和硬件事件和更新时间的可变性以及非计划的运行中断平均探测时间(MTTD)和平均解决时间(MTTR),平台不大可能满足用于非常高百分比的有月更新的消费者的该SLA。
[0007]为减轻主机导致的重新引导对虚拟机的影响,大多数小规模的虚拟化平台实现了实时迀移,这会使虚拟机能从一个服务器无缝地移动到另一个服务器,以便避免主机的计划的重新引导。实时迀移的缺点是,它给整个系统管理增加大量的复杂性,给网络资源增加负担,并延长应用更新所需的时间。重新引导一组服务器要求迀移每个虚拟机至少一次。并且除非空的服务器与将被迀移的每一个托管虚拟机配对,否则虚拟机的迀移会变为瓦片搅乱(tile shuffle)游戏并且服务器更新会变为串行操作。
[0008]虚拟机挂起-更新-恢复(VM-SUR)是基于现有的虚拟机技术来关闭虚拟机的替代方案。利用此方法,主机OS挂起虚拟机,将它们的状态(包括RAM和虚拟CPU)保存到磁盘,将服务器重新启动到已更新的主机OS,并随后恢复虚拟机。这允许虚拟机保留它们的存储器中的高速缓存,并避免虚拟机关机和重新启动。VM-SUR的缺点是被托管在服务器上的所有虚拟机的RAM必须读和写到本地存储器作为主机OS更新的一部分,在该时间期间虚拟机被挂起。使用反映当代云硬件的大致的数量,将100GB的RAM保存并恢复到具有100MB/s的吞吐量的本地存储将要花大约三十分钟。该破坏并不比由典型的关闭/重新启动所导致的破坏好,尽管虚拟机保留它们的高速缓存,但是停机时间将长到足以导致单实例虚拟机的可见的运行中断。
[0009]由于周围的应用状态可能会在这期间急速地变化,主机仍将有义务给虚拟机完成正在处理的(in-flight)工作并适度地准备的机会,延长了停机时间。假设对于本地存储有10倍吞吐量改善,更新持续时间仍至少三分钟,远超出了大多数客户端超时。

【发明内容】

[0010]提供本
【发明内容】
是为了以精简的形式介绍将在以下详细描述中进一步描述的一些概念。本
【发明内容】
并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
[0011]虚拟机-保留主机更新技术通过将虚拟机保留原样并只将它们挂起长到足以重新启动主机操作系统来最小化主机操作系统更新期间的虚拟机停机时间。各实施例利用虚拟机保存/恢复技术,并避免保存和恢复RAM的内容。此方法改善了所有虚拟机的可用性,且不受限于单实例层。
[0012]在一个实施例中,在正在运行一个或多个虚拟机的计算机系统上加载已更新的主机操作系统。计算机系统挂起所有正在运行的虚拟机,并将虚拟机中的每一个虚拟机的分配图和状态记录到RAM或本地文件存储中。当虚拟机被挂起时,它们被驻留在RAM中。当虚拟机被挂起时,虚拟机高速缓存也可以被维持。
[0013]活动的主机操作系统随后被关闭并且执行被转移到加载器。加载器将已更新的主机操作系统的内核读入RAM中。在调用时,活动的主机操作系统将虚拟机的分配图传递到已更新的操作系统。分配图包括恢复虚拟机的指令。
[0014]由已更新的主机操作系统加载虚拟机中的每一个虚拟机的状态。已更新的主机操作系统随后恢复虚拟机和在虚拟机上运行的应用的操作。
[0015]附图简沐
[0016]为进一步阐明本发明的各实施例的上述及其他优点和特征,将参考附图,呈现对本发明的各实施例的更具体的描述。应该理解,这些附图只描述了本发明的典型的实施例,因此,不应该被视为限制本发明的范围。将通过使用附图并利用附加特征和细节来描述和解释本发明,在附图中:
[0017]图1示出了根据一实施例的托管一个或多个虚拟机的服务器。
[0018]图2示出了已更新的主机操作系统映像被存储到在其上的存储器的服务器。
[0019]图3示出了在活动的主机操作系统被删除并且加载器将已更新的主机操作系统的内核读入RAM之后的服务器。
[0020]图4示出了在加载器将执行转移到已更新的主机操作系统入口点之后的服务器。
[0021]图5是用于在保留在主机服务器上运行的虚拟机时更新主机操作系统的过程或方法的流程图。
[0022]图6示出了根据一实施例的用于更新主机操作系统的计算和网络环境的示例。
【具体实施方式】
[0023]图1示出了托管一个或多个虚拟机(VM) 102的服
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1