【问题标题】:Azure VM reboots exactly 1 hour after startupAzure VM 在启动后正好 1 小时重新启动
【发布时间】:2021-02-11 04:18:16
【问题描述】:

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

症状:

  • 重启 1 小时后,VM 将始终保持 UP。
  • 但是,如果您停止并取消分配 VM,然后启动它...它将在 1 小时后重新启动。
  • VM 内唯一的证据提示是来自 svchost.exe 的关闭事件,没有任何有助于缩小根本原因的详细信息或附近事件。

复制步骤:
1- 在本地 Hyper-V 中,创建并设置 Win10 VM。可以选择自定义您认为合适的壁纸。不要系统准备。

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

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

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

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

【问题讨论】:

    标签: azure virtual-machine reboot hour


    【解决方案1】:

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

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

    在我们的情况下,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

    【讨论】:

    • 我觉得这很有趣,但我现在可以问一下,如果做错了什么,它为什么会关闭?
    • @F*Kamp,我只能添加观察结果,即在通过映像部署非通用 VHD 时也没有安装 Azure VM 工具。虽然使用“新磁盘”方法加载相同的 VHD,但 VM 工具确实可以成功安装。您还可以在门户中观察正在报告的 VM 代理统计信息。因此,我只能猜测它与未安装 Azure VM 工具有关。是的,在了解磁盘解决方案之前,我们确实尝试过手动安装工具,但这并没有什么不同。