托管磁盘和非托管磁盘之间的区别

Difference between Managed and Unmanaged Disk

有人能告诉我托管磁盘和非托管磁盘之间的主要优点和区别、托管磁盘和非托管磁盘的各种优缺点以及我如何最好地使用它吗?

本质上,托管磁盘更易于使用,因为它们不需要您创建存储帐户。我认为 Azure 仍然创建了一个,但是这个细节对你隐藏了。

不必管理存储帐户的好处是存储帐户有限制,例如最大 IOPS,因此如果您在存储帐户中放置太多磁盘,则可能会达到 IOPS 限制。 Azure 会为你处理这件事。

如果可用性集中有 VM,Azure 将确保磁盘位于不同的 "stamps" 上,确保磁盘分散开来,这样磁盘就不会出现单点故障。

至于Con,我遇到过两个(但可能还有更多):

  1. 拍摄快照时,它们是完整快照,而不是增量快照,所以 这会增加存储成本。

  2. 如果您在两个 Azure 区域之间设置灾难恢复,使用恢复服务,托管磁盘尚不支持。

    • 现在支持用于 Azure 站点恢复的托管磁盘

我想强调使用托管磁盘的一些好处:

  1. 简单且可扩展的 VM 部署:托管磁盘允许您在订阅中创建多达 10,000 个 VM 磁盘,这将使您能够在单个订阅中创建数千个 VM。

  2. 可用性集的更高可靠性:托管磁盘通过确保可用性集中 VM 的磁盘彼此充分隔离以避免单点故障,为可用性集提供更好的可靠性。

  3. 高度耐用且可用。

  4. 粒度访问控制:您可以使用 Azure 基于角色的访问控制 (RBAC) 将托管磁盘的特定权限分配给一个或多个用户。托管磁盘公开各种操作,包括读取、写入 (create/update)、删除和检索磁盘的共享访问签名 (SAS) URI。

  5. Azure 备份服务支持:将 Azure 备份服务与托管磁盘结合使用来创建具有基于时间的备份、简单的 VM 还原和备份保留策略的备份作业。

  6. 是否仍支持非托管磁盘:是。两者都支持非托管和托管磁盘。我们建议您为新工作负载使用托管磁盘,并将当前工作负载迁移到托管磁盘。

参考Azure Managed Disks Overview了解更多详情。

Azure 中的托管和非托管驱动器是不同的概念。

Unmanaged 方法将驱动器视为存储帐户下提供的服务,您可以使用此 "service" 将其连接到您的 VM,但从管理角度来看是完全不同的实体. 与此方法相反,managed 驱动器是连接到 VM 的 HDD,其背后的存储帐户由 Azure managed,因此您应该获得适当的性能为您的磁盘大小。事实上,因为 VM 有自己的 IOPS 限制,与硬件配置文件大小相关联,仅调整磁盘大小通常不会为您提供更好的性能。 由于托管驱动器更新且提供更多 "sophisticated" 服务,因此它们也更昂贵。

如果您对此主题感兴趣,我根据 az 命令行选项 here. There is also nice practical differences summary here

上可用的选项做了非常完整的比较

托管磁盘:

托管磁盘提供了增强的可管理性和高可用性,它提供了以下功能。

简单 - 从客户那里提取与 VM 磁盘关联的底层存储 account/blob。无需管理 IaaS VM 的存储帐户

默认安全 – 基于角色的访问控制,默认存储加密和使用自己的密钥加密

存储帐户限制不适用 – 由于存储帐户 IOPS 限制没有节流

大规模 - 每个区域每个订阅 20,000 个磁盘

更好的存储弹性 - 防止由于存储导致​​的单点故障 支持标准和高级存储磁盘

非托管磁盘:

可用性较低:非托管磁盘无法防止单个存储缩放单元中断

升级过程复杂: 如果要在非托管磁盘上从标准升级到高级,过程非常复杂。

除了这种意外停机之外,安全性是非托管磁盘的缺点。但是,托管和非托管之间的成本差异取决于您的工作负载用例