[Azure]ARM模式下批量清理未使用的托管磁盘

原创 2017年10月11日 16:06:25

Azure ARM模式下提供了托管磁盘这种磁盘管理方式,虚拟机不用了之后删除掉,磁盘会残留下来造成资源浪费,可以使用下面的脚本进行批量清理。

脚本调用 Invoke-Parallel 来实现并发操作,提高清理效率。内容和思路比较简单,脚本内容如下:

$scriptSrc = "http://danielnorthstorage.blob.core.chinacloudapi.cn/fordownload/Invoke-Parallel.ps1";
$dest = ".\tmpScript.ps1";
$wc = New-Object System.Net.WebClient;
$wc.DownloadFile($scriptSrc, $dest);

# import the functions in the script file
. ".\tmpScript.ps1";

$subscriptions = Get-AzureRmSubscription;

foreach($subscription in $subscriptions)
{
    if ($subscription.State -eq "Disabled")
    {
        continue;
    }
    Write-Host ("Subscription : {0}" -f $subscription.SubscriptionName);
    [void](Select-AzureRmSubscription -SubscriptionName $subscription.SubscriptionName);
    $disks = Get-AzureRmDisk;
    $unUsedDisks = $disks | where {$_.OwnerId -eq $null};
    Write-Host "Remove managed disks:";
    foreach ($unUsedDisk in $unUsedDisks)
    {
        Write-Host ("Removing managed disk {0}(ResourceId:{1})" -f $unUsedDisk.Name, $unUsedDisk.Id);
    }
    $unUsedDisks | Invoke-parallel -ImportVariables -NoCloseOnTimeout -ScriptBlock { [void](Remove-AzureRmDisk -ResourceGroupName $_.ResourceGroupName -DiskName $_.Name -Force); };
}

Remove-Item -Path ".\tmpScript.ps1";

测试下来运行效率挺高,7个订阅下的100多块未使用的托管磁盘2分钟左右就清理干净了。调用的时候遇到 Invoke-Parallel 方法调用报错,有几块磁盘没有清理掉,等执行完了再执行一次清理掉残留的就好了。


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qwertyupoiuytr/article/details/78204848

Azure China下托管磁盘的使用

现在世纪互联运行的Azure China Cloud官网上还没有发布托管磁盘的信息,但是创建虚拟机的时候我们已经可以看到,托管磁盘成为了默认可选项,而且EA用户通过EA portal中的价目表也可以搜...
  • m0_37973810
  • m0_37973810
  • 2017-08-17 13:33:21
  • 384

有关 Azure IaaS VM 磁盘以及托管和非托管高级磁盘的常见问题解答

本文将对有关 Azure 托管磁盘和 Azure 高级存储的一些常见问题进行解答。 托管磁盘 什么是 Azure 托管磁盘? 托管磁盘是一种通过处理存储帐户管理来简化 Azure I...
  • zangdalei
  • zangdalei
  • 2017-12-05 14:28:09
  • 262

通过powershell来创建Azure虚拟机

一:使用power hell命令创建虚拟机 1-登陆订阅 2-创建资源组 3-创建网络资源--虚拟网络,子网,公共ip地址 4-创建网络安全组--网络安全组规则 5-创建网络接口 6-实用...
  • haerbinyege
  • haerbinyege
  • 2017-12-25 11:35:20
  • 71

在Windows Azure上使用WAS和IIS托管服务

Adoption Program Insights 系列描述了微软服务咨询的经验 (包含在Windows Azure Technology Adoption Program内,该项目旨在帮助客户开发W...
  • azurechina
  • azurechina
  • 2011-06-29 18:21:00
  • 2464

基于 Azure 托管磁盘配置高可用共享文件系统

在当下,共享这个概念融入到了人们的生活中,共享单车,共享宝马,共享床铺等等。其实在 IT 界,共享这个概念很早就出现了,通过 SMB 协议的 Windows 共享目录,NFS 协议的网络文件系统等等。...
  • zangdalei
  • zangdalei
  • 2017-09-18 15:41:33
  • 277

理解托管磁盘的原理与优势

Azure 托管磁盘,是指将虚拟机使用的虚拟磁盘文件(VHD)和存储账号交由 Azure 来规划和控制的服务。 此功能的上线,意味着用户能更方便地管理 Azure 虚拟机的存储。Azure 托管磁盘将...
  • zangdalei
  • zangdalei
  • 2017-09-18 15:49:12
  • 348

将 Azure VM 迁移到 Azure 中的托管磁盘

Azure 托管磁盘无需单独管理存储帐户,从而简化了存储管理。 还可以将现有的 Azure VM 迁移到托管磁盘,以便受益于可用性集中 VM 的更佳可靠性。 它可确保可用性集中不同 VM 的磁盘完全相...
  • zangdalei
  • zangdalei
  • 2017-12-06 10:30:17
  • 73

Azure ASM/ARM比较

Azure经典模式ASM过渡到资源管理模式ARM,紧耦合过渡到松耦合。     ASM:            1:混合对象的管理方式,并且都同属于一个管理实例中。            2:必须能连...
  • Denny_Duan77
  • Denny_Duan77
  • 2017-04-10 16:19:56
  • 933

Azure虚拟机挂载数据磁盘

Azure动手实验 说明 Azure虚拟机由于存在临时磁盘,默认Windows为D盘,Linux为/dev/sdb1,临时盘中的数据不能长期保留,而我们在使用过程中又不希望数据丢失,所以需要挂载新的数...
  • m0_37973810
  • m0_37973810
  • 2017-06-07 10:42:45
  • 626

[Azure]ARM模式下删除虚拟机挂盘修复后恢复的脚本(托管磁盘)

使用Azure虚拟机经常会遇到无法连接的问题,比如我们修改了虚拟机防火墙,修改了注册表,修改了配置文件,系统磁盘文件系统挂掉了等等。 遇到这种问题的时候,由于Azure没有开放控制台登录虚拟机的功能...
  • qwertyupoiuytr
  • qwertyupoiuytr
  • 2017-08-17 20:15:28
  • 239
收藏助手
不良信息举报
您举报文章:[Azure]ARM模式下批量清理未使用的托管磁盘
举报原因:
原因补充:

(最多只允许输入30个字)