是否可以在 Azure 中的虚拟机上更改图像 运行 而无需重新创建它

Is it possible to change the image running on a virtual machine in Azure without recreating it

我们的开发环境有一堆虚拟机 运行我们软件的不同版本。我希望能够替换 VM 上 运行ning 的托管映像,而不必销毁并重新创建它。

图像是使用 packer 创建的,它为它们提供了正确的软件和依赖项。

当前工作流程示例:

机器 A 运行正在 Managed Image v2.5 上运行,运行 软件依赖于 Tomcat 10。 要修复 v2.2 中的错误,它依赖于 Tomcat 9,因此在不更改依赖项的情况下无法在同一 VM 上 运行,我必须:

  1. 销毁虚拟机
  2. 使用相同的参数(名称、大小等)重新创建它,但基于 Managed Image v2.2
  3. 附加网络接口和磁盘
  4. 重新启动它

如果觉得应该有一个更简单的解决方案,可以热交换映像,而无需重新创建完整的虚拟机。我研究过交换 OS 磁盘,但我想不出一个解决方案可以使用托管映像而不是 VHD。

根据官方文章,不支持。

Microsoft does not support an upgrade of the operating system of a Microsoft Azure virtual machine. Instead, you should create a new Azure virtual machine that is running the supported version of the operating system that is required and then migrate the workload.

官方文章:https://support.microsoft.com/en-us/help/2721672/microsoft-server-software-support-for-microsoft-azure-virtual-machines

您可以使用 windows 服务器迁移工具来帮助您进行角色和功能的迁移 Install, use, and remove Windows Server migration tools

讨论了类似问题