Azure更改硬件

Big*_*s79 2 azure

我有一个使用CPU ID,网络MAC和磁盘卷序列号进行验证的产品。基本上,第一次安装我的产品时,会记录这些值,然后在加载应用程序时,会将这些当前值与旧值进行比较。

最近发生了一件非常神秘的事情。在几周内未重启的Azure VM内,我的应用程序加载失败,因为其中一些值不同。不幸的是,发现错误的人删除了VM,然后才引起我的注意。

我的问题是,当运行Azure VM时,哪些硬件资源可能会更改?那有可能吗?

谢谢!

Rob*_*ini 5

要回答这个问题,需要简短介绍一下Azure的工作方式。

在每个数据中心中,都有数千台单独的计算机。每台计算机都运行一个虚拟机管理程序,该虚拟机管理程序允许多个操作系统共享相同的基础硬件。

启动角色时,Azure将寻找可用资源-磁盘空间,CPU RAM等,并在可用资源中启动相应OS VM的副本。我从您的问题中了解到,这是VM角色-因此,此VM是您上载或创建的VM。

只要您的VM正在运行,虚拟机管理程序提供的基础虚拟资源就不可能更改。(需要注意的是,即使Windows Server 2012的管理程序在运行,它们也可以在网络上移动虚拟机。Azure是否利用了这一点,我不知道)

现在,即使角色停止,Azure也会继续向您收费,因为它认为您的角色“已部署”。因此,从理论上讲,那些基础资源仍然“属于”您的角色。

这不能保证。出于多种原因,Azure可能决定在另一套虚拟化硬件上启动VM-硬件故障位居第一,容量不足位居第二。

您的资源甚至有可能(不太可能)由不同的硬件节点提供。

另外要考虑的一点是,灾难恢复(或其他重大事件)可能是Azure策略,其中包括将您的角色转移到完全在单独的数据中心中运行。

我的观点是,底层硬件是虚拟的,否则对其进行处理是最不明智的。角色受Azure管理例程的支配,我们无法预先预测它们可能做出的决定。

因此,您的问题的答案是所有基础资源都可能发生变化。这是非常非常有可能的。