关于Azure存储账户中存储虚拟机VHD文件的注意事项

我们在使用Azure时经常都会在Azure存储账户中放一些文件,包括Azure虚机的VHD文件也都是放在存储账户中的。建议用户要注意监控Azure存储账户的每秒请求数量等指标,以免超出上限而导致触发限制机制。

  • 每个Azure存储账户可以提供最多200 TB的存储,以及上至每秒20000个请求
  • Azure存储账户中的每个blob对象,可以提供上至每秒500个请求或者是每秒60MB的数据传输,注意超过这两项其中任何一项即会触发限制机制。

对于标准级别的虚机,建议在一个存储账户下最多不要放置超过40个活跃使用的VHD文件(20,000/500)。注意,当使用一个自定义的镜像创建虚机时,新的虚机文件首先会被自动放置在与镜像所属的同一个存储账户中。这样有可能会导致同一个存储账户中积累过多的虚机及VHD文件。所以当需要基于同一个镜像来创建很多个虚机的时候,建议将虚机创建完毕后尽快迁移到其它的存储账户中。

以下链接的文档中包含有详细的关于Azure订阅以及各项服务的限制、额度和约束等,建议一定要仔细监控Azure账户的使用情况,确保不会超出这些限制。

https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/?rnd=1#storagelimits

下面这个powershell示例脚本可以用来监控存储账户中的VHD文件个数。建议一定要定期检查监控所有存储账户中的VHD文件个数,以免超出上面链接文档中所列出的各项限制指标。

Get-AzureDisk|Group-Object { $_.MediaLink.Authority.Split('.')[0]}|select Name,Count

 如果在现有的Azure部署环境中已经存在同一个存储账户中有过多VHD文件的情况,那么建议要尽快将这些VHD文件迁移至其它的存储账户,以免触发限制机制。建议可以参考如何将虚拟机迁移至新的存储账户这篇文章来迁移虚机。