首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure VM ScaleSet的VHD更新

Azure VM ScaleSet的VHD更新
EN

Stack Overflow用户
提问于 2017-09-01 12:46:22
回答 2查看 532关注 0票数 2

我已经使用我的Azure的vhd在Azure上创建了一个VMSS。

如何将VMSS的源vhd更改为新的vhd?

获取以下错误:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-04 06:30:53

我们可以使用Update-AzureRmVmssUpdate-AzureRmVmssInstance来升级VMSS实例。

如果我们想使用自定义映像来升级Azure VMSS实例,我们应该确保此VMSS通过自定义映像创建。

如果我们从Azure市场创建VMSS,我们就不能使用自定义映像来升级Azure VMSS实例。

这是我的测试:

1.我通过自定义映像创建VMSS,并使用VMSS 模板创建它(托管磁盘)。

2,创建另一个VM映像,并使用此脚本获取$vmss,并使用Powershell升级VMSS实例:

代码语言:javascript
复制
$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实例的官方文章,请参考

票数 3
EN

Stack Overflow用户

发布于 2017-09-01 13:09:50

按照一般的VMSS上的常见问题和VM,VM运行在VHD之上。因此,如果您有一个新的VHD,那么您可以简单地删除旧的VMSS,并创建一个新的VMSS。

以下是我对你处境的设想。

  1. 运行在VHD1之上的VMSS
  2. 现在我有VHD2了。
  3. 使用VHD2作为基础创建新的VMSS。
  4. 删除运行在VHD1上的VMSS
  5. 如果不再需要删除VHD1,也可以删除它,或者将其推送到某个备份以供以后重用。

这个问题本身似乎很简单,除非你要求别的东西,而我是在自欺欺人:)

如果这个问题是别的问题,那么这个问题需要解释得更多一些,这样其他更有经验的人才能帮助你。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46000566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档