none
如何使用powershell查询存储账户内已分离的虚拟磁盘 RRS feed

  • 问题

  • 各位好,如题,此前在协助一个客户对存储账户内的VHD进行清理的时候,遇到一个问题,客户属于比较早使用Azure,在ASM环境里面,删除了此前因为项目需求创建的多台VM,但由于只删除了VM没有删除VHD,导致大量闲置的VHD一直存放在存储账户内,最近在协助客户做管理的时候,发现大量的vhd,租约可用状态(arm环境去查看)为可用,利用powershell命令 “Get-AzureDisk | Where-Object {$_.AttachedTo –eq $null} ” 及 “Get-AzureDisk | where-Object {$_.MediaLink.Host.Contains($storageAccountName)} | Where-Object -Property AttachedTo -EQ $null | Format-List -Property DiskName” 都无法把所有的虚拟磁盘GET出来(即get出的数量,与存储账户的内容对等),由于本人对powsershell仍在初级阶段,所以敢问各位高人,是否还有更好的powershell命令可以get出已分离的磁盘,或者说,以上的命令所get出来的磁盘就是已经被分离的。

    另外附图,为何在vhds内,会有页blob,也会有几十b的块blob存在

    2018年1月9日 10:21

答案

  • Hi Tank,

    如果您之前创建的都是 ASM 模式的虚拟机, 那 Get-AzureDisk 是可以获取到所有 Azure Disks 的。

    通过条件 Where-Object {$_.AttachedTo –eq $null} 即可返回所有 Orphan Disks。

    > 另外附图,为何在vhds内,会有页blob,也会有几十b的块blob存在

    所有 Azure Disk 都是 页 Blob 存储的 .vhd 文件。

    .status 是一个 Json 格式的文件,用来记录虚拟机的相关信息的(包括您所安装的扩展信息),据我所知,该文件是在删除虚拟机时自动创建的,您可以手动将其删除。


    MSDN 社区技术支持
    如果该回复解决了您的问题,请及时点击“标记为答案”选项,如未解决请选择“取消标记为答案”,这会有利于其他人员来阅读您的帖子。如果您对MSDN 技术支持有任何的建议或意见,请随时联系 MSDNFSF@microsoft.com

    2018年1月10日 10:20
    版主