我认为有关如何捕获VM映像的官方Azure说明必须不正确或不完整.我自己进行了各种测试(详见下文),并且有超过二十几个人在页面上抱怨指令不起作用和/或损坏他们的VM.当然,指令中缺少某些内容,因为人们必须能够从Azure VM中捕获图像.
http://www.windowsazure.com/en-us/manage/windows/how-to-guides/capture-an-image/
页面上的说明非常简单:
- 远程桌面进入Azure VM
- 打开管理员命令窗口
- 使用指示的设置运行sysprep(Out-Of-Box-Experience,Generalize,Shutdown)
- 点击OK
- 等待系统关闭VM
- 单击门户中的捕获.
这听起来很简单但VM实际上从未关闭过,所以你实际上无法点击capure按钮.如果手动关闭实例,即使在等待数小时后,生成的图像也无法工作,并且原始vhd在此过程中被销毁.
任何人都可以确认您能够使用此工作流程或其他工作流程捕获正在运行的Azure实例吗?如果是这样,你能告诉我你做的与我正在做的不同吗?
详细信息 - 我运行的测试如下:
测试1 - 小实例上的Win2k8 R2
- 在美国西部地区启动Win2k8 R2的小型实例
- 远程桌面进入图像
- 使用OOBE运行sysprep,概括,关闭
- Azure仪表板显示sysprep 15分钟后完成的所有CPU活动,设备空闲,稳定状态为0.41%cpu
- 等待几个小时(在此实例上写完> 2.5小时,其他测试时> 12小时)
- Azure VM仍在运行,实例的捕获按钮在门户中不可用
测试2 - 大型实例上的Win2k8 R2
- 与测试1相同但在大型实例上
- 除了15分钟后稳态CPU利用率为0.08%以外,结果相同
TEST 3 - 小型实例上的Win2k12数据中心版
- 与测试1相同但运行Win2k12数据中心
- 测试1的结果与稳态CPU利用率为4.2%相同
测试4 - Windows实例更新的小型实例上的Win2k8 R2
- 与测试1相同的步骤,但重复运行Windows Update,直到运行sysprep之前没有更多可用更新
- 与测试1相同的结果
TEST 5 - 使用Visual Studio 2012 Update 3在Small实例上运行Win2k8 R2
- 与测试1相同的步骤,但在运行sysprep之前安装VS2012 Ultimate和VS2012 Update 3
- 与测试1相同的结果
测试6 - 具有完全配置的IIS服务器的大型实例上的Win2k8 R2
- 在大型实例上配置我们的标准服务器配置(IIS,.NET 4.5)
- 运行我们的标准Web服务测试
- 使用OOBE运行sysprep,概括,关闭
- 等待4个小时,允许sysprep运行
- 使用portal关闭实例
- 使用门户来捕获实例
- 生成的图像不起作用(配置机器在几小时后超时) …