&引用;DiskImageNotReady“;使用ARM模板和JSON在Azure中创建VM时出错
我正在尝试使用ARM模板部署3个azure Ubuntu虚拟机。它们是作为资源组、存储帐户、SQL Server等大型基础架构部署的一部分进行部署的。除了创建VM之外,一切都很好。在使用单个VM进行测试期间,脚本正常工作,但使用3时,我遇到以下错误-&引用;DiskImageNotReady“;使用ARM模板和JSON在Azure中创建VM时出错,json,powershell,azure,cloud,Json,Powershell,Azure,Cloud,我正在尝试使用ARM模板部署3个azure Ubuntu虚拟机。它们是作为资源组、存储帐户、SQL Server等大型基础架构部署的一部分进行部署的。除了创建VM之外,一切都很好。在使用单个VM进行测试期间,脚本正常工作,但使用3时,我遇到以下错误- New-AzureRmResourceGroupDeployment : 16:52:57 - Resource Microsoft.Compute/virtualMachines 'xxxV3Monitor1' failed with m
New-AzureRmResourceGroupDeployment : 16:52:57 - Resource Microsoft.Compute/virtualMachines 'xxxV3Monitor1' failed with message '{
"status": "Failed",
"error": {
"code": "ResourceDeploymentFailure",
"message": "The resource operation completed with terminal provisioning state 'Failed'.",
"details": [
{
"code": "DiskImageNotReady",
"message": "Disk image https://xxxxxx.blob.core.windows.net/rootvhd/v1ubuntudocker.vhd is in Pending state. Please retry when image is ready."
}
我们正在使用的自定义根VHD映像似乎由于处于“挂起”状态而失败,我假设这是文件上的某个锁,因为它正被用于创建另一个VM
非常感谢您的帮助。谢谢 我假设在创建虚拟机之前,您正在移动虚拟机映像。 如果是,请在移动后和启动部署脚本之前尝试以下代码: ($blob1是您调用Start-AzureStorageBlobCopy命令的变量)
这将每分钟更新一次状态。要补充一点,我已经尝试将每个VM设置为具有上一个VM的依赖项,以错开构建,但这似乎没有帮助。
### Retrieve the current status of the copy operation ###
$status = $blob1 | Get-AzureStorageBlobCopyState
### Print out status ###
$status
### Loop until complete ###
While($status.Status -eq "Pending"){
$status = $blob1 | Get-AzureStorageBlobCopyState
Start-Sleep -s 60
### Print out status ###
$status
}