云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

香港带宽_网站网络建设_返利

小七 141 0

推进无冲击和低冲击维修技术

"这篇文章延续了我们的可靠性系列文章,该系列文章是我在7月份的博客文章中开始的,重点介绍了一些正在进行的改进平台可用性的计划,作为我们提供一套可信的云服务的承诺的一部分。今天,我想双击我们在无影响和低影响更新技术(包括热修补、内存保留维护和实时迁移)方面所做的投资。在过去的一年中,我们已经为主机基础架构部署了几十个安全性和可靠性补丁,其中许多都是在没有对客户造成影响或停机的情况下实施的。下面的帖子是由我们的核心操作系统团队的johnslack撰写的,他是下面讨论的几个更新技术的程序经理本文由负责这些技术的工程团队的Apurva Thanky、cristinadelamo Casado和shantanusrivastava共同撰写。 我们定期更新Azure主机基础设施,以提高平台的可靠性、性能和安全性。虽然这些"维护"更新的目的各不相同,但它们通常涉及更新托管环境中的软件组件或停用硬件。如果我们回到五年前,应用这些更新的唯一方法是完全重新启动整个主机。这种方法一次让客户虚拟机(VM)停机几分钟。从那时起,我们投资了各种技术,以尽量减少更新车队时对客户的影响。今天,主机操作系统的绝大多数更新都是在适当的位置部署的,使用热修补程序绝对透明,对客户的影响为零。在更新无法热修补的少数情况下,我们通常使用低影响内存保护更新技术来展开更新。即使有了这些技术,仍有一些罕见的情况下,我们需要进行更有效的维护(包括疏散故障硬件或停用旧硬件)。在这种情况下,我们结合使用实时迁移、虚拟机内通知和提供客户控制的计划内维护。多亏了对这一领域的持续投资,我们正处在一个绝大多数主机维护活动不会影响受影响基础设施上托管的vm的阶段。我们写这篇文章是为了让我们对确保Azure更新的影响最小而使用的不同技术保持透明。方案A:热修补功能级别的"热"修补提供了对正在运行的代码进行有针对性的更改的能力,而不会对客户vm造成任何停机时间。它通过将主机上函数的所有新调用重定向到该函数的更新版本来实现这一点,因此它被认为是一种"无影响"的更新技术。只要可能,我们使用热修补来应用主机更新,完全避免对运行在该主机上的vm造成任何影响。我们从2017年开始在Azure中使用热补丁。从那时起,我们就努力拓宽我们可以热修补的范围。例如,我们更新了主机操作系统,以便在2018年对hypervisor进行热修补。展望未来,我们正在探索固件热补丁。这是一个行业通常没有关注的地方。固件一直被视为'如果你需要更新它,重启服务器',但我们知道这会给客户带来糟糕的体验。我们一直在与硬件制造商合作,考虑我们自己的固件,使他们热补丁和增量更新。某些大型主机更新包含无法使用功能级热修补应用的更改。对于这些更新,我们努力使用内存保留维护。方案二:保持记忆内存保护维护包括"暂停"来宾虚拟机(同时将其内存保留在RAM中),更新主机服务器,然后恢复虚拟机并自动同步其时钟。我们在2018年首次使用了Azure的内存保护维护。从那时起,我们在三个重要方面改进了这项技术。首先,我们针对主机组件开发了影响较小的内存保留维护变体,这些组件无需重启主机即可进行维护。其次,我们缩短了客户体验暂停的时间。第三,我们扩展了可以通过内存保留维护进行更新的VM类型的数量。由于一些技术上的原因,我们仍然保留了一些VM的变体,比如说,在维护VM的时候,我们会继续使用一些VM或VM。在极少数情况下,我们需要进行更有效的维护(包括主机重新引导、虚拟机重新部署),客户会提前得到通知,并有机会在适合其工作负载的时间执行维护。方案三:自助维护自助服务维护包括为客户和合作伙伴提供一个时间窗口,在这段时间内,他们可以选择何时启动对其虚拟机的有效维护。这个初始的自助服务阶段通常持续一个月左右,使组织能够按照自己的时间表执行维护,这样就不会或将对用户的中断降到最低。在这个自助服务窗口的末尾,一个计划的维护阶段开始了,这是Azure自动执行维护的地方。在这两个阶段中,客户可以通过在Azure服务运行状况中或通过在PowerShell/CLI中查询来完全了解哪些vm已经或尚未更新。Azure在2018年首次提供自助维护服务。我们通常看到管理员利用自助服务阶段,而不是等待Azure自动对其vm执行维护。除此之外,当客户拥有完整的主机时,无论是使用Azure专用主机还是独立虚拟机,我们最近开始提供对所有非零影响平台更新的维护控制。这包括无需重新启动的更新,只会导致几秒钟的暂停。它对于运行超敏感工作负载的vm非常有用,这些负载即使持续几秒钟也无法维持任何中断。客户可以在35天的滚动窗口中选择何时应用这些非零影响更新。这项功能是公开预览,更多信息可以在这篇专门的博客文章中找到。有时就地更新技术是不可行的,比如当主机显示出硬件降级的迹象时。在这种情况下,最好的选择是通过客户控制(通过计划的维护)或通过实时迁移来启动VM到另一个主机的移动。计划D:实时迁移实时迁移包括将正在运行的客户虚拟机从一个"源"主机移动到另一个"目标"主机。实时迁移首先是在虚拟机仍在运行时将VM的本地状态(包括RAM和本地存储)从源移动到目标。一旦本地状态的大部分被移动,来宾虚拟机将经历短暂的暂停,通常持续5秒或更少。暂停之后,虚拟机继续在目标主机上运行。Azure在2018年首次开始使用实时迁移进行维护。今天,当Azure机器学习算法预测即将发生的硬件故障时,可以使用实时迁移将来宾vm提前移动到不同的主机上。在其他主题中,Igal Figlin最近的Ignite 2019会议"在Azure中构建弹性应用程序"中涵盖了计划的维护和人工智能操作,并进一步了解如何利用Azure提供的各种弹性服务来帮助您构建具有内在弹性的应用程序。Azure维护的未来总之,Azure执行维护的方式因应用的更新类型而异。不管具体情况如何,Azure总是以确保对客户工作负载的影响最小为目标来进行维护。这篇文章概述了我们实现这一目标所使用的几种技术,我们正在努力工作,继续改善客户体验。展望未来,我们在基于机器学习的洞察力和自动化方面投入大量资金,以保持可用性和可靠性。最终,这种"人工智能操作"模型将执行预防性维护,启动自动缓解措施,并在事故期间比我们的人类工程师更有效地确定促成因素和依赖性。我们期待着在我们不断学习和发展的过程中分享更多关于这些主题的信息。