是否可以在 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 上 运行,我必须:
- 销毁虚拟机
- 使用相同的参数(名称、大小等)重新创建它,但基于
Managed Image v2.2
- 附加网络接口和磁盘
- 重新启动它
如果觉得应该有一个更简单的解决方案,可以热交换映像,而无需重新创建完整的虚拟机。我研究过交换 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.
您可以使用 windows 服务器迁移工具来帮助您进行角色和功能的迁移
Install, use, and remove Windows Server migration tools
讨论了类似问题
我们的开发环境有一堆虚拟机 运行我们软件的不同版本。我希望能够替换 VM 上 运行ning 的托管映像,而不必销毁并重新创建它。
图像是使用 packer
创建的,它为它们提供了正确的软件和依赖项。
当前工作流程示例:
机器 A 运行正在 Managed Image v2.5
上运行,运行 软件依赖于 Tomcat 10
。
要修复 v2.2
中的错误,它依赖于 Tomcat 9
,因此在不更改依赖项的情况下无法在同一 VM 上 运行,我必须:
- 销毁虚拟机
- 使用相同的参数(名称、大小等)重新创建它,但基于
Managed Image v2.2
- 附加网络接口和磁盘
- 重新启动它
如果觉得应该有一个更简单的解决方案,可以热交换映像,而无需重新创建完整的虚拟机。我研究过交换 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.
您可以使用 windows 服务器迁移工具来帮助您进行角色和功能的迁移 Install, use, and remove Windows Server migration tools