Azure VM 在启动后恰好 1 小时重新启动

问题描述

问题:
从我们的自定义映像(来自存储帐户的 VHD 文件)创建的所有 VM,都将在首次在 Azure 中启动后整整 1 小时重新启动。

症状:

  • 在 1 小时重新启动后,虚拟机将从那时起始终保持 UP。
  • 但是,如果您停止并取消分配虚拟机,然后再启动它……它会在 1 小时后重新启动。
  • VM 中唯一的证据是 svchost.exe关闭事件,没有任何细节或附近的事件可以帮助缩小根本原因。

重现步骤:
1- 在本地 Hyper-V 中,创建并设置一个 Win10 VM。 (可选)根据您的需要自定义壁纸。不要系统准备。

2- 关闭本地 VM,然后使用“编辑磁盘”将其转换为固定大小的 VHD 格式。

3- 将 VHD 上传到您的 Azure 存储帐户。

4- 注册一个图像,指向上传到存储 blob 中的 VHD。

5- 从该映像部署 VM。启动1小时后,它会意外重启。

解决方法

对于拥有更多 Azure 经验的人来说,问题很明显——Azure 中的“图像”意味着 VHD 是一个“通用图像”,一个已经执行了 sysprep 的图像。

如果您要基于非通用 VHD 创建 VM,则需要执行两个步骤:
1- 创建一个新磁盘,并以您的存储帐户中的 VHD 为基础。
2- 从磁盘中,选择“创建 VM”。

在我们的情况下,VHD 是高度特定和定制的,适用于自助服务终端类型的操作。运行 sysprep 进行泛化并不是一种允许我们保留已应用的所有配置和自定义的选项。

因此,如果您在类似的船上,您可以从 VHD 创建一个磁盘,然后使用该磁盘创建一个 VM。 1 小时后不再出现意外重启。

有关从磁盘(或磁盘快照)创建 VM 的官方文档供参考:
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/create-vm-specialized-portal

作为参考,将 VHD 概括为用作 Azure“映像”的步骤:
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/prepare-for-upload-vhd-image

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...