我已经使用我的Azure的vhd在Azure上创建了一个VMSS。
如何将VMSS的源vhd更改为新的vhd?
获取以下错误:

发布于 2017-09-04 06:30:53
我们可以使用Update-AzureRmVmss和Update-AzureRmVmssInstance来升级VMSS实例。
如果我们想使用自定义映像来升级Azure VMSS实例,我们应该确保此VMSS通过自定义映像创建。
如果我们从Azure市场创建VMSS,我们就不能使用自定义映像来升级Azure VMSS实例。
这是我的测试:
1.我通过自定义映像创建VMSS,并使用VMSS 模板创建它(托管磁盘)。

2,创建另一个VM映像,并使用此脚本获取$vmss,并使用Powershell升级VMSS实例:
$rgname = "vmsss"
$vmssname = "jasonvmss"
$instanceid = "1"
$newimagereference = "/subscriptions/5384xxxx-xxxx-xxxx-xxxx-xxxxe29axxxx/resourceGroups/jasonwin/providers/Microsoft.Compute/images/myImage"
$vmss = Get-AzureRmVmss -ResourceGroupName $rgname -VMScaleSetName $vmssname
$vmss.virtualMachineProfile.storageProfile.imageReference.id = $newImageReference
Update-AzureRmVmss -ResourceGroupName $rgname -Name $vmssname -VirtualMachineScaleSet $vmss
Update-AzureRmVmssInstance -ResourceGroupName $rgname -VMScaleSetName $vmssname -InstanceId $instanceId这是我的截图:

此外,我们还可以找到VMSS实例的状态:

因此,作为解决办法,我们可以使用模板或PowerShell创建带有自定义映像的Azure VMSS ,然后使用此脚本升级Azure VMSS实例。
注意事项:在我的测试中,我使用模板创建VMSS托管磁盘,所以我们应该使用$vmss.virtualMachineProfile.storageProfile.imageReference.id
如果您创建的VMSS是非托管磁盘,我们应该使用这个$vmss.virtualMachineProfile.storageProfile.osDisk.image.uri= $newURI。
这里是关于升级VMSS实例的官方文章,请参考它。
发布于 2017-09-01 13:09:50
按照一般的VMSS上的常见问题和VM,VM运行在VHD之上。因此,如果您有一个新的VHD,那么您可以简单地删除旧的VMSS,并创建一个新的VMSS。
以下是我对你处境的设想。
这个问题本身似乎很简单,除非你要求别的东西,而我是在自欺欺人:)
如果这个问题是别的问题,那么这个问题需要解释得更多一些,这样其他更有经验的人才能帮助你。
https://stackoverflow.com/questions/46000566
复制相似问题