Microsoft Azure的计算资源其实可以理解为运行在Azure数据中心中成千上万的Rack。

Rack上的多台物理服务器本身需要运行操作系统,这个操作系统可以理解为Host OS,即物理服务器的操作系统。

物理服务器通过特殊版本的Hyper-V,同时运行多个Azure VM虚拟机,这些虚拟机就是Guest OS,即虚拟机的操作系统。

用户只能够接触到Guest OS而无法接触到Host OS。

Microsoft Azure所有的计算功能都是基于虚拟机完成的,既然是虚拟机那么就会存在一个操作系统版本的文件。目前Microsoft Azure平台提供了一种名为Guest OS的机制来控制虚拟机中所安装的操作系统版本。

我们知道,整个Microsoft Azure数据中心是基于Microsoft Azure Server 2008 R2 Hyper-V构建的。当用户申请了一个计算单元之后,数据中心将按照需求分配一个或多个虚拟机,而每一个虚拟机都会有一个操作系统主版本,目前包括Guest OS 1.x 和 Guest OS 2.x,分别对应Windows Server 2008和Windows Server 2008 R2两大类操作系统。在此基础上,由于Windows 操作系统本身的不断更新, Azure平台也会定期为虚拟机进行操作系统升级,只不过没有普通的Windows 更新那么频繁。一次Azure平台虚拟机的更新会对应出一个新的Guest OS小版本,所以使用者在申请Azure虚拟机的时候可以指定某个版本的Guest OS,也就是安装了某些更新的Windows操作系统;可以指定使用最新版本的Guest OS,即完成了所有更新的Windows系统。对于前者,当平台有新版本Guest OS出现的时候,将会自动为用户升级虚拟机上的操作系统。而对于后者,除非用户指定,否则Azure是不会为用户升级的。

另外需要注意的一点是,Guest OS主版本之间是不会自动升级的。例如当前Guest OS 1.x的最新版本是1.18,并且用户指定其虚拟机使用Guest OS 1.x的最新版本,那么如果出现Azure平台提供了1.19,用户的虚拟机将会自动升级到这个版本。但是如果出现了Guest OS 2.1,由于其主版本不一致,所以用户的虚拟机也不会被升级。