谷歌如何避免虚拟机迁移所带来的云宕机问题?

去年4月发现的安全漏洞Heartbleed影响了互联网上17%的Web服务器。为修复这个漏洞,不少云服务供应商重启云虚拟机,这导致部署在不同公有云服务提供商上的用户基础设施受到了宕机故障的影响。

去年10月,主要云服务提供商包括亚马逊网络服务(AWS)、Rackspace和IBM SoftLayer都需要为 Xen管理器漏洞问题打补丁。

今年年初,新的Xen管理器安全问题将迫使AWS和Rackspace在五个月内第二次重启云服务器。在这次重启当中,AWS 10%的EC2实例将受到影响,并得到更新。Rackspace公司则表示,这次更新需要重点维护,并将影响其部分第一代和下一代云服务器。其OnMetal云服务器并不会受到影响。

此外,今年1月,Verizon公司将其所有云服务下线,以进行基础设施的升级。该公司后来表示,这次升级包含有一项变更,这将可让公司将来在无需下线的情况下升级基础设施。

谷歌“透明维护”为重启保驾护航

然而,谷歌在云服务系统重启方面似乎更进一步。据外国媒体报道,自2013年较晚时候引入“透明维护”(transparent maintenance)技术之后,该搜索巨头公司就不需要将运行在其计算引擎云中的客户虚拟机下线。这种“透明维护”技术是一种将虚拟机从一个主机迁移到另外一个主机,以修补基础设施的一种方式。

谷歌虚拟机迁移技术负责人Miche Baker-Harvey在这周出版的一则博文中解释了谷歌是如何做到这一点的。实时VM迁移帮助谷歌解决了许多问题,从普通服务器、网络或数据中心电力基础设施维护到安全更新、系统配置变化、或主机操作系统和BIOS更新等。

这些都是谷歌工程师需要在迁移的过程中解决的问题。然而,他们发现,一旦这种做法付诸实践,实时迁移在其他某些情况下也是有益的。在其中一个案例中,一些服务器面临着电池过热问题,并影响了邻近的服务器。在让故障服务器停机,以更换电池之前,他们将虚拟机迁移到一个不同的机器。

从一个较高的层面来看,他们使用的流程很简单:将尽可能多的状态数据复制到目标虚拟机,同时让源虚拟机保持运行,然后将剩下的数据迁移到目标虚拟机。这样,中间造成的中断过程就非常短,对于客户来说,完全感觉不到其中的影响。这个迁移工作将记录在客户的日志里面。

自推出“透明维修”理念以来,谷歌已经完成了数万次虚拟机的迁移。 “自引入迁移以来,许多虚拟机一直在运行。它们中的不少都被迁移了多次,”Baker-Harvey写道。