你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 托管磁盘是一种 Azure 磁盘存储,可简化 Azure 虚拟机的存储管理。 托管磁盘是 Azure 管理的块级存储卷。 它们类似于本地服务器中的物理磁盘,但它们在虚拟环境中运行。 使用托管磁盘时,必须指定磁盘大小类型并配置磁盘。 配置磁盘后,Azure 将管理后续作和维护任务。
本文假设作为架构师,你已查看 存储选项 ,并选择 Azure 磁盘存储作为工作负荷的存储服务。 本文中的指南提供了对应于 Well-Architected 框架支柱原则的架构建议。
本指南重点介绍如何对 Azure 托管磁盘做出决策。 但托管磁盘是 Azure 虚拟机的关键依赖项。 作为先决条件,请阅读并实施 Azure Well-Architected Framework 关于虚拟机和虚拟机规模集的观点中的建议。
技术范围
此次审查重点分析以下 Azure 资源的相关决策:
- Azure 磁盘存储
Reliability
可靠性支柱的目的是通过 建立足够的复原能力和从故障快速恢复来提供持续的功能。
可靠性设计原则 为各个组件、系统流和整个系统提供高级设计策略。
工作负荷设计清单
根据可靠性设计评审核对清单开始实施您的设计策略。 在记住 Azure 磁盘存储的特性和功能的同时,确定其与业务需求的相关性。 扩展策略以根据需要包含更多方法。
查看最佳做法,实现托管磁盘的高可用性。通过考虑这些建议以及它们与托管磁盘和虚拟机(VM)的配置的关系,优化应用程序以实现高可用性。
定义可靠性和恢复目标。 查看 Azure 服务级别协议(SLA)。 附加到 VM 的磁盘类型会影响 VM SLA。 对于最高 SLA,请仅对 OS 和数据磁盘使用 Azure 超级磁盘存储、Azure 高级 SSD v2 或高级 SSD 磁盘。 有关计算可靠性目标的指南,请参阅 有关定义可靠性目标的建议。
创建恢复计划。评估数据保护功能、备份和还原作以及故障转移过程。 决定是使用 Azure 备份、Azure Site Recovery 还是使用增量磁盘快照或还原点创建自己的备份解决方案。 自定义备份解决方案会增加成本。
监视潜在的可用性问题。 订阅 Azure 服务运行状况仪表板。 使用 Azure Monitor 中的磁盘存储指标来帮助防止磁盘限制。 手动检查 VM,以确保附加的磁盘没有达到其存储容量。 有关如何将这些指标集成到总体工作负荷运行状况监视策略的指南,请参阅 工作负载的运行状况建模。
使用故障模式分析。 考虑内部依赖项,例如虚拟网络或 Azure Key Vault 的可用性,以帮助最大程度地减少故障点。
配置建议
| Recommendation | Benefit |
|---|---|
|
跨多个可用性区域分配 VM 和磁盘。 在灵活的业务流程模式下使用区域冗余虚拟机规模集,或跨三个可用性区域部署 VM 和磁盘。 使用 区域均衡 来均衡跨区域分布实例。 |
在每个 Azure 区域中的物理独立位置预配 VM 和磁盘实例。 每个位置都能够容忍本地故障。 根据资源可用性,跨区域实例数可能不均衡。 区域均衡通过确保一个区域关闭时,其他区域有足够数量的实例来支持可用性。 每个区域中的两个实例在升级期间提供缓冲区。 |
| 使用 超级磁盘存储、高级 SSD v2 和高级 SSD 磁盘。 | 使用高级 SSD OS 磁盘和超级磁盘存储、高级 SSD v2 或高级 SSD 数据磁盘的单实例 VM 具有最高的运行时间 SLA。 |
| 为了获得最大可用性和持久性,请使用 区域冗余存储 (ZRS)磁盘,尤其是在 VM 之间共享磁盘时。 | ZRS 磁盘将可用性区域中故障的影响降到最低,并增加此类区域性故障的可恢复性。 如果某个区域发生故障,并且 VM 保持活动状态,ZRS 磁盘上的工作负荷将继续运行。 但是,如果中断确实会影响 VM,并且希望在中断解决之前恢复磁盘,则可以强制从失败的 VM 中分离 ZRS 磁盘。 然后,可以将 ZRS 磁盘附加到其他 VM。 在多个 VM 之间共享磁盘时,请使用 ZRS 磁盘来防止共享磁盘成为单一故障点。 |
| 实现其中一个 备份选项。 对于托管解决方案,请使用 备份 或 Site Recovery。 如果需要创建个性化的备份解决方案,请使用 还原点 或 快照。 | 确定适合你需求的理想备份选项,以帮助最大程度地提高环境的可恢复性。 |
| 如果您管理自己的快照,可以使用脚本将它们跨区域复制。 | 使用脚本简化将数据从一个区域传输到另一个区域。 如果无法使用 Site Recovery,请使用此选项。 使用此选项时,仍可以在其他区域中创建灾难恢复备份。 |
安全性
安全支柱的目的是为工作负荷提供 保密性、完整性和可用性 保证。
安全设计原则通过对 Azure 磁盘存储的技术设计应用方法,为实现这些目标提供了高级设计策略。
工作负荷设计清单
根据 安全设计评审清单 开始设计策略,并识别漏洞和控制,以提高安全态势。 扩展策略以根据需要包含更多方法。
限制导出或导入托管磁盘的功能。 使用此方法提高数据的安全性。 若要限制导出或导入功能,可以使用以下方法之一:
- 创建自定义基于角色的访问控制(RBAC)角色,该角色具有导入和导出所需的权限。
- 使用Microsoft Entra ID 身份验证。
- 设置专用链接。
- 配置 Azure 策略。
- 配置网络访问策略。
有关详细信息,请参阅 限制托管磁盘导入或导出。
利用加密选项。 默认情况下,托管磁盘使用服务器端加密(SSE)进行加密,这有助于保护数据并满足组织和合规性承诺。 可能需要其他配置和选项。 您可以:
- 将 SSE 与你管理的加密密钥配合使用。
- 在主机上启用加密。
- 启用静态双重加密。
有关详细信息,请参阅 Azure 磁盘存储的服务器端加密。
使用 Microsoft Entra ID 保护共享访问签名(SAS)。 与共享密钥和 SAS 相比,Microsoft Entra ID 提供额外的安全性,并且更易于使用。 仅向安全主体授予执行其任务所需的权限。
保护机密。 保护机密,例如客户管理的密钥和 SAS 令牌。 我们通常不建议使用这些形式的授权。 但是,如果使用密钥,请确保轮换密钥,尽早设置密钥过期,并安全地存储这些机密。
检测威胁。 启用 Microsoft Defender for Cloud ,以便在活动发生异常时触发安全警报。 Defender for Cloud 通过电子邮件通知订阅管理员。 电子邮件包含有关可疑活动的详细信息以及调查和修正威胁的建议。
使用标记和标签。 将标记和标签应用于重要磁盘,以帮助确保将适当的保护级别应用于磁盘。
强化所有工作负荷组件。 减少多余的攻击面并收紧配置,以帮助降低攻击的可能性。 正确保护与托管磁盘一起使用的任何相关资源,例如备份恢复保管库或 Azure 密钥保管库。
配置建议
| Recommendation | Benefit |
|---|---|
| 尽可能对托管磁盘使用 主机加密 。 | 主机加密为启用它的环境提供端到端加密。 加密从 VM 开始,并流向其附加磁盘。 |
| 在磁盘上应用 Azure 资源管理器锁 。 | 锁定磁盘以帮助防止删除磁盘,以免丢失数据。 |
| 禁用磁盘公共终结点上的流量。 为在 Azure 中运行的客户端创建专用终结点。 | 禁用到公共终结点的流量,使流量通过 Microsoft 骨干网络传输,这有助于消除对公共互联网的暴露。 |
| 如果可能,请使用 Azure RBAC 限制对资源和函数的访问。 | 使用 RBAC 避免可能遭到入侵的令牌或密钥。 Microsoft Entra ID 对安全主体(例如用户、组、托管标识或服务主体)进行身份验证。 Microsoft Entra ID 返回 OAuth 2.0 令牌。 令牌用于授权针对磁盘服务的请求。 |
| Microsoft不建议使用 SAS 令牌。 如果必须创建一个,请在创建和分发 SAS 最佳做法 之前查看此 SAS 最佳做法列表。 将 SAS 令牌的过期时间设置为 60 天或更少。 |
最佳做法可帮助防止 SAS 令牌泄露,并在发生泄漏时快速从泄漏中恢复。 |
| 请考虑使用自己的加密密钥或 客户管理的密钥来帮助保护托管磁盘中的数据。 | 如果需要,客户管理的密钥可提供更大的灵活性和控制。 例如,可以将加密密钥存储在 Key Vault 中,并自动轮换它们。 |
成本优化
成本优化侧重于 检测支出模式、优先考虑关键领域的投资,以及优化其他 以满足组织预算,同时满足业务需求。
成本优化设计原则提供了实现这些目标的高级设计策略,并在与 Azure 磁盘存储相关的技术设计中做出必要的权衡。
工作负荷设计清单
根据投资的成本优化设计评审核对清单开始实施您的设计策略。 微调设计,使工作负荷与为工作负荷分配的预算保持一致。 设计应使用正确的 Azure 功能,监视投资,并查找随时间推移进行优化的机会。
了解 Azure 磁盘存储的计费方式。 不同的磁盘类型以不同的方式计费,并且具有可能影响计费的不同功能。 若要设计成本优化最高的环境,请参阅 “了解 Azure 磁盘存储计费”。 有关确切的计费,请查找特定的定价详细信息并应用相应的设置。 有关详细信息,请参阅托管磁盘定价。
估计容量和运营的成本。 使用 定价计算器 对与磁盘类型、事务和功能关联的成本建模。 比较与各种区域、帐户类型、命名空间类型和冗余配置关联的成本。
选择计费模型。 评估 基于承诺的模型 是否比基于消耗的模型更具成本效益。 如果不知道需要多少容量,请从基于消耗的模型开始,监视容量指标,并在以后评估选择。
确定所需的功能。 某些功能(如 快照 或 按需突发)会产生额外的事务成本、容量成本和其他费用。 例如,如果启用快照,系统会根据每个快照使用的存储量计费。 确定磁盘所需的功能时,请查看这些功能的定价和计费详细信息。
创建护栏。 基于订阅和资源组创建 预算 。 使用治理策略来限制资源类型、配置和位置。 还可以使用 RBAC 阻止可能导致超支的动作。
监控成本。 若要确保保持在预算范围内,请将成本与预测进行比较,并查看可能出现超支的情况。 在 Azure 门户中使用 成本分析 功能。 还可以将成本数据导出到存储帐户,并使用 Excel 或 Power BI 分析这些数据。
监视磁盘资源。 使用 示例脚本 搜索未附加的磁盘。
配置建议
| Recommendation | Benefit |
|---|---|
| 请仔细为工作负荷选择适当的磁盘类型。 在部署环境之前,请了解 可用的磁盘类型和 功能。 然后使用 定价计算器 估算成本。 | 降低成本的最佳方式之一是规划需求,并使用 定价计算器 为环境建模。 |
| 使用Premium SSD磁盘的预留容量。 | 预留高级 SSD 容量能降低您的整体环境成本,因为您通过预付容量费用来享受折扣。 |
| 评估现有磁盘提供的功能是否可以在不切换到其他磁盘大小或类型的情况下提高性能。 磁盘突发或更改性能层等功能可以将性能提升到满足您的需求的水平。 | 根据环境和需求,启用功能以提高磁盘性能比切换到不同的磁盘类型更具成本效益。 这些功能会产生成本,但成本可能低于不同的磁盘类型。 |
| 根据性能需求,直接调整超级磁盘存储和高级 SSD v2 磁盘的性能。 | 这两种磁盘类型支持在 24 小时内对磁盘性能进行一定数量的调整。 此设置可确保您的负载在满足性能需求的同时保持成本效益。 可以提高性能(增加成本),以满足更高的需求,然后在不再需要增加时降低性能(降低成本)。 例如,事务密集型数据库可能需要大量的小规模每秒输入/输出操作(IOPS)。 或者游戏应用程序可能需要大量的 IOPS,但仅在高峰时段。 |
| 使用 实时调整大小 功能,无需停机即可动态扩展 Premium SSD v2 和超极 NVMe 磁盘的容量。 | 实时调整大小允许你从较小的磁盘大小开始,并根据实际需求模式扩展容量,从而实现经济高效的存储缩放。 这消除了预先过度预配存储容量的传统方法,从而降低成本,同时保持运营连续性。 例如,电子商务平台可以从较小的磁盘开始,并在高峰期扩展存储,而不会造成数据库停机或应用程序中断。 |
卓越运营
卓越运营主要侧重于 开发实践、可观测性和发布管理的各个过程。
卓越运营设计原则 提供了一个高级设计策略,用于实现这些目标以满足工作负荷的作要求。
工作负荷设计清单
根据 卓越运营的设计评审清单 启动设计策略,以定义与 Azure 磁盘存储相关的可观测性、测试和部署过程。
创建维护和紧急恢复计划。 评估数据保护功能、备份操作和还原操作。 选择可用于从区域灾难中恢复的备份解决方案。
创建内部文档。 记录组织的标准做法。 合并现有的 Azure 文档以简化流程。 包括有关将磁盘附加到 Windows 或 Linux VM 或扩展 Windows 或 Linux VM 上的磁盘的文档。
检测威胁。 启用 Defender for Cloud ,以便在活动发生异常时触发安全警报。 Defender for Cloud 通过电子邮件通知订阅管理员。 电子邮件包含有关可疑活动的详细信息以及调查和修正威胁的建议。
配置建议
| Recommendation | Benefit |
|---|---|
| 使用 Azure Monitor 分析指标 并创建警报。 | Azure Monitor 提供有关磁盘和 VM 性能表现的见解。 使用这些指标来确保性能保持最佳状态。 |
| 查看 托管磁盘的可用备份选项。 | 了解可用选项,以便你可以选择最适合需求的配置。 |
性能效率
性能效率就是通过管理容量来保持用户体验,即使负载增加也不例外。 该策略包括缩放资源、识别和优化潜在瓶颈,以及优化峰值性能。
性能效率设计原则 提供了一个高级设计策略,用于根据预期使用量实现这些容量目标。
工作负荷设计清单
根据性能效率设计审查清单开始策略设计。 定义基于 Azure 磁盘存储的关键绩效指标的基线。
选择最佳磁盘类型。 确定部署资源之前所需的 磁盘类型 。 此方法可帮助你最大程度地提高性能和成本效益。 五种磁盘类型包括 超级磁盘存储、 高级 SSD v2、 高级 SSD、 Azure 标准 SSD 和 Azure 标准 HDD。 为了获得最佳性能,请将高级 SSD 用于 VM 的 OS 磁盘,并将超级磁盘存储或高级 SSD v2 用于数据磁盘。
减少客户端和服务器之间的旅行距离。 将数据放置在最接近连接客户端的区域,理想情况下在同一区域中。 默认网络配置提供最佳性能。 仅修改网络设置以提高安全性。 通常,网络设置不会降低旅行距离,也不会提高性能。
收集性能数据。 监视你的磁盘和虚拟机,以识别由限流导致的性能瓶颈。 有关详细信息,请参阅 存储 IO 指标。
对磁盘进行基准测试。 创建测试环境并确定它是否符合你的需求和期望。 有关详细信息,请参阅 磁盘基准测试。
配置建议
| Recommendation | Benefit |
|---|---|
| 在附加到的 VM 所在的同一区域中创建磁盘。 如果来自不同区域的客户端不需要相同的数据,请在每个区域中创建一个单独的磁盘。 | 减少 VM 及其磁盘、服务和本地客户端之间的物理距离,以帮助提高性能并减少网络延迟。 此方法还降低了在 Azure 中托管的应用程序的成本,因为单个区域中的带宽使用量是免费的。 |
| 对于需要最低延迟(例如电子商务工作负荷或数据库)的工作负载和解决方案,请使用高级 SSD OS 磁盘和 超级磁盘存储 或 高级 SSD v2 数据磁盘。 | 此配置提供最佳的可靠性和最高的 SLA 和性能。 |
| 使用 Azure 指标 监控您的环境并帮助防止磁盘限速。 | 使用 Azure 指标标识正在限速的磁盘并解决这些问题。 节流会导致性能不佳,以及导致延迟增加等问题。 |
| 对于受限速的磁盘,请评估是考虑改用更大的磁盘,还是更高性能的磁盘以更好地满足你的需求。 对于正在被限制的高级 SSD 盘,如果你有短期的需求突发,请启用按需突发。 对于长期扩展需求, 请更改磁盘层 ,或评估 高级 SSD v2 或 超级磁盘存储 磁盘是否更符合需求。 |
将应用程序置于未受到限制的磁盘上,以帮助确保最佳性能,而不会增加延迟。 |
| 查看无停机扩展的限制,以确保您的数据磁盘符合条件。 在不停机的情况下进行扩展,可以动态地增加存储容量,而无需解除分配已附加的虚拟机。 从较小的磁盘大小开始,并根据实际需求进行扩展,以实施实时容量预配策略。 |
动态磁盘扩展消除了传统上与存储扩展相关的停机时间,同时启用弹性存储缩放。 如果需要额外的容量或性能,可以避免过度预配和增加磁盘的大小,从而降低前期成本。 |
| 上传虚拟硬盘(VHD)时,请使用 azure PowerShell 命令Add-AzVHD 。 | Add-AzVHD Azure PowerShell 命令自动执行大部分上传过程,以帮助简化该过程。 |
| 对于本地部署或其他公共云提供商中的现有部署,请使用 Azure Migrate 和 Modernize。 | Azure Migrate 和 Modernize 可以评估您的部署,并为潜在的 Azure 部署中磁盘和虚拟机(VM)提供精心推荐的最佳尺寸建议。 |
权衡
如果使用支柱清单中的方法,可能需要进行设计权衡。 下面是一些优点和缺点示例。
磁盘类型选择和性能与成本
性能更高的磁盘类型: 高级 SSD v2 和超级磁盘存储提供可自定义的 IOPS 和吞吐量的最佳性能。 这些磁盘类型提供更高的可用性,延迟较低,使它们非常适合任务关键型工作负荷。 高级 SSD 提供内置冗余和区域冗余存储选项。
但是,高级磁盘类型的成本可能远远高于标准 SSD 或 HDD。 超级磁盘存储和高级 SSD v2 具有有限的区域可用性和特定的 VM 类型要求。 对于具有可预测、适度性能需求的工作负荷,额外的成本可能无法证明性能提升是正当的。 评估标准 SSD 甚至标准 HDD 是否可以以更低的成本满足性能要求。
成本较低的磁盘类型: 标准 SSD 和标准 HDD 为开发、测试和工作负载提供经济高效的存储,且性能要求较低。 这些选项有助于降低总体基础结构成本,适用于不需要高 IOPS 的备份存储、存档数据或应用程序。
与高级选项相比,这些磁盘类型的性能上限较低、延迟较高,而且服务等级协议的条件有所减少。 标准 HDD 特别不适合性能敏感的工作负荷,并可能成为生产环境中的瓶颈。
Azure 策略
Azure 提供了一组与 Azure 磁盘存储及其依赖项相关的大量内置策略。 可以通过 Azure Policy 审核上述一些建议。 例如,可以检查以下情况:
- 已禁用对托管磁盘的公共网络访问。
- 已启用备份。
- 已启用双重加密。
- 特定的磁盘加密集与你的磁盘一起使用。
- 使用客户管理的密钥。
- 托管磁盘具有区域耐久性。
- 配置密钥过期通知策略。
- 已启用客户管理的密钥的自动轮换。
若要进行全面的治理,请查看 Azure Policy 内置定义,这些定义适用于 Azure 计算 和其他可能影响存储基础结构安全性的策略。
Azure 顾问建议
Azure 顾问是一名个性化的云顾问,可帮助你遵循最佳做法来优化 Azure 部署。
有关详细信息,请参阅 Azure 顾问。
示例体系结构
演示主要建议的基础体系结构: Azure 虚拟机基线体系结构。