Compartir a través de

Azure Database for PostgreSQL 灵活服务器中的高级 SSD 存储选项

适用于: Azure Database for PostgreSQL 灵活型服务器

高级 SSD

Azure 高级 SSD 为运行输入/输出 (IO) 密集型工作负荷的虚拟机 (VM) 提供高性能、低延迟的磁盘支持。 高级 SSD 单元适用于任务关键型生产应用程序。预配高级存储磁盘时,可以保证容量、IOPS 和吞吐量。 例如,如果创建 P40 磁盘,Azure 将为该磁盘预配 2,048-GB 存储容量、7,500 IOPS 和 250-MB/秒的吞吐量。 应用程序可以使用全部或部分容量与性能。 高级 SSD 的设计目的是在 99.9% 的时间内提供个位数毫秒延迟以及上表所述的目标 IOPS 和吞吐量。

支持的最大存储大小是具有高级 SSD 的 32 TiB,允许纵向扩展至 20,000 IOPS 和 900 MB/秒的吞吐量。 通过切换到高级 SSD v2,可以扩展到 64 TiB,支持 80,000 IOPS 和 1,200 MB/秒的吞吐量。

预配的存储是指可供 Azure Database for PostgreSQL 灵活服务器实例使用的存储容量。 此存储用于数据库文件、临时文件、事务日志和 PostgreSQL 服务器日志。 预配的总存储量也定义了可供服务器使用的 I/O 容量。

虚拟机类型还具有 IOPS 限制。 尽管可以选择任何存储大小,但与服务器类型无关,但可能无法使用存储提供的所有 IOPS,尤其是在选择具有几个 vCores.To 了解详细信息的服务器时,请参阅 Azure Database for PostgreSQL 灵活服务器中的计算选项

注释

无论分配给实例的存储类型如何,存储只能纵向扩展,而不是纵向扩展。

可以通过 Azure 门户或使用 Azure CLI 命令监视 I/O 使用情况。 要监视的相关指标是存储上限、存储百分比、已用存储和 I/O 百分比

存储自动增长(高级 SSD)

存储自动增长有助于确保服务器始终有足够的可用空间,并且当存储使用量达到 95% 或可用容量小于 5 GiB 时,不会变为只读。 启用存储自动增长时,磁盘大小会增加,而不会影响工作负载。 只有高级 SSD 存储层支持存储自动增长。

对于预配存储超过 1 TiB 的服务器,当可用空间低于总容量的 10% 或低于 64 GiB 时(以较小者为准),将激活存储自动扩展机制。 相反,对于存储容量不足 1 TB 的服务器,此阈值将调整为可用空间的 20% 或 64 GiB,具体取决于两者中的较小值。

作为一个说明性示例,让我们考虑一个存储容量为 2 TiB 的服务器(大于 1 TiB)。 在这种情况下,自动扩展限制设置为 64 GiB。 选择该值的原因是,与 2 TiB 的 10% 相比(大约 204.8 GiB),64 GiB 比较小。 相反,对于存储大小为 128 GiB(小于 1 TiB)的服务器,当仅剩下 25.8 GiB 的存储空间时,自动扩展功能将激活。 该激活基于分配的总存储空间 (128 GiB) 的 20% 阈值(小于 64 GiB)。

默认行为是将磁盘大小增加到下一个高级 SSD 存储大小。 无论存储缩放操作是手动启动还是通过存储自动增长功能来启动,大小和成本都会翻倍增长。 在管理不可预测的工作负载时,启用存储自动增长很重要,因为它会自动检测存储不足的情况,并相应地纵向扩展存储。

缩放存储的过程联机执行,不会造成任何停机,除非磁盘大小需要跨越 4096 GiB 的边界。 例外情况是 Azure 托管磁盘的限制。 在这种情况下,不会触发自动存储缩放活动,即使为服务器启用了存储自动增长设置也是如此。 在这种情况下,需要手动缩放存储。 在此方案中(达到或跨越 4,096 GiB 边界),手动缩放是脱机作。 建议计划此任务,以满足业务需求。 所有其他操作都可以联机执行。 分配的磁盘大小达到 8192 GiB 后,会自动再次触发存储自动增长,且每个后续存储增长操作都会联机执行,直到分配的磁盘达到最大增长容量(即 32768 GiB)。

注释

无论分配给实例的存储类型如何,存储只能纵向扩展,而不是纵向扩展。

存储自动增长的限制和注意事项

  • 磁盘缩放操作通常可以联机执行,但涉及跨越 4,096 GiB 边界的特定场景除外。 这些情况包括达到或超过 4,096 GiB 的限制。 例如,从 2,048 GiB 缩放到 8,192 GiB 会触发脱机操作。 在 Azure 门户中,将扩展到 4 TiB(表示为 4,095 GiB)保证操作在线。 但是,如果将 4 TB 显式指定为 4,096 GiB(例如在 Azure CLI 中),缩放操作将在脱机模式下完成,因为它达到了 4,096 GiB 的限制。 离线缩放操作通常需要 2 到 10 分钟时间。 使用缩短停机时间缩放功能时,此持续时间可减少到 30 秒以内。 这缩短了缩放资源期间的停机时间,并提高了数据库实例的整体可用性。

  • 小于 4,096 GIB 或 4 Tib 的磁盘大小支持主机缓存(ReadOnly 和读/写)。 预配到最高 4095 GiB 的任何磁盘都可以利用主机缓存。 大于或等于 4,096 GiB 的磁盘大小不支持主机缓存。 例如,预配到 4,095 GiB 的 P50 高级磁盘可以利用主机缓存,而预配到 4,096 GiB 的 P50 磁盘不能利用主机缓存。 从较低的磁盘大小移动到 4096 Gib 或更高版本的客户将失去使用磁盘高速缓存的能力。

    此限制是由于基础 Azure 托管磁盘需要手动磁盘缩放操作造成的。 接近此限制时,门户中将收到一条信息性消息。

  • 当 WAL 使用率较高时,不会触发存储自动增长。

注释

存储自动增长取决于联机磁盘扩容,因此它永远不会造成停机。

IOPS 缩放

Azure Database for PostgreSQL 灵活服务器支持预配额外的 IOPS。 借助此功能可超出免费 IOPS 限制,配置更多 IOPS。 使用此功能,可以增加或减少预配的 IOPS 数,以便随时根据工作负荷要求进行调整。

所选的计算大小决定了最小和最大 IOPS。 若要详细了解每个计算大小的最小和最大 IOPS,请参阅计算大小

重要

所选计算大小决定了最小和最大 IOPS。

了解如何纵向扩展或缩减 IOPS