我有一个存储在 Azure 中的映像,我想从中启动多个虚拟机。我创建了一个模板,它将为我创建必要的资源,除了创建虚拟机之外,所有资源都成功。
使用 CreateOption.FromImage 运行部署大约 40 分钟,直到出现错误:
VM“vmName”的操作系统配置未在分配的时间内完成。但是,检测到 VM 来宾代理正在运行。这表明来宾操作系统尚未准备好用作 VM 映像(使用 CreateOption=FromImage)。要解决此问题,请按原样使用 CreateOption=Attach 的 VHD 或正确准备它以用作映像
改变CreateOption.FromImage
to CreateOption.Attach
立即给我以下错误:
如果 VM 是从平台或用户映像创建的,则无法附加现有操作系统磁盘。
我想通过模板实现的目标:
- 指向主图像
- 为母版副本提供所需的目的地
- 将主映像复制到目标位置
- 创建虚拟机
- 将副本附加到 VM
以下是我用来部署的模板的 VM 部分:
{
"apiVersion": "2015-06-15",
"type": "Microsoft.Compute/virtualMachines",
"name": "[parameters('vmName')]",
"location": "[resourceGroup().location]",
"tags": {
"displayName": "VirtualMachine"
},
"dependsOn": [
"[concat('Microsoft.Network/networkInterfaces/', parameters('nicName'))]"
],
"properties": {
"osProfile": {
"computerName": "[parameters('vmName')]",
"adminUsername": "[parameters('adminUsername')]",
"adminPassword": "[parameters('adminPassword')]"
},
"hardwareProfile": {
"vmSize": "[variables('vmSize')]"
},
"storageProfile": {
"osDisk": {
"name": "[parameters('OSDiskName')]",
"osType": "windows",
"caching": "ReadWrite",
"createOption": "FromImage",
"image": {
"uri": "[concat('https://', parameters('storageAccountName'), '.blob.core.windows.net/', parameters('sourceStorageContainerName'), '/', parameters('sourceVHDName'), '.vhd')]"
},
"vhd": {
"uri": "[concat('https://', parameters('storageAccountName'), '.blob.core.windows.net/', parameters('vhdStorageContainerName'), '/', parameters('OSDiskName'), '.vhd')]"
}
}
},
"networkProfile": {
"networkInterfaces": [
{
"id": "[resourceId('Microsoft.Network/networkInterfaces', parameters('nicName'))]"
}
]
}
}
}