我认为official Azure instructions on how to capture a VM image必须不正确或不完整。我自己进行了各种测试(详见下文),并且有超过二十几个人在页面上抱怨指令不起作用和/或损坏他们的VM。当然,指令中缺少某些内容,因为人们必须能够从Azure VM中捕获图像。
http://www.windowsazure.com/en-us/manage/windows/how-to-guides/capture-an-image/
页面上的说明非常简单:
这听起来很简单,但VM实际上从未关闭,因此您无法实际点击“捕获”按钮。如果您手动关闭实例,即使在等待数小时后,生成的图像也无法正常工作,并且原始vhd将在此过程中被销毁。
任何人都可以确认您能够使用此工作流程或其他工作流程捕获正在运行的Azure实例吗?如果是这样,你能告诉我你做的与我正在做的不同吗?
详细信息 - 我运行的测试如下:
测试1 - 小实例上的Win2k8 R2
测试2 - 大型实例上的Win2k8 R2
TEST 3 - 小型实例上的Win2k12数据中心版
测试4 - 使用Windows更新的小型实例上的Win2k8 R2
TEST 5 - 使用Visual Studio 2012 Update 3的小型实例上的Win2k8 R2
TEST 6 - 具有完全配置的IIS服务器的大型实例上的Win2k8 R2
测试7 - 具有完全配置的IIS服务器的大型实例上的Win2k8 R2
答案 0 :(得分:9)
对您的工作流程进行一次简单的更改:在sysprep期间,选择退出而不是关闭。这样就完成了sysprep进程,但之后只退出了sysprep应用程序。
tl; dr:在命令行上运行以下命令:
c:\windows\system32\sysprep\sysprep.exe /generalize /oobe /quit
此时,您只需在门户中选择正在运行的VM并将其关闭(只需要几分钟)。然后,您可以查看它,它将显示为已停止(已取消分配)。此时,按照您指向的教程中的描述创建图像。您将为其命名(例如"我的专业图片"),单击复选框,说明它已被sysprepped,然后单击确定。您的图片已创建,您的原始vhd已删除(现在您已拥有它的通用版本),图片已在您的订阅中注册为图库中的可选图片(这需要几分钟),您就可以了完成。
此时,从图库中创建新图像。查看我的图片 - 您会看到列出的全新图片(在尝试此操作之前可能需要等待一分钟左右 - 它可能不会立即显示在中列表)。
现在只需给它一个用户名和密码,你应该全部设置。
注意:如果您担心在此步骤中丢失虚拟机(例如出现问题),您可以先制作vhd的副本。您需要使用PowerShell(或基于节点的跨平台命令行工具),这两者都可以从windowsazure.com downloads页面下载。然后,您可以将vhd复制到全新的blob,它实际上是为您备份的。如果出现问题,您可以使用备份映像作为新虚拟机的基础(它还不会被sysprep),或者复制它(等等)。要执行此操作,您需要vhd的网址,该网址显示在正在运行的VM的信息中心页面的磁盘部分中。