Azure Database for PostgreSQL 灵活服务器中的存储选项
适用于: Azure Database for PostgreSQL 灵活服务器
可使用 Azure 托管磁盘创建 Azure Database for PostgreSQL 灵活服务器实例,这些磁盘是由 Azure 管理并与 Azure 虚拟机一起使用的块级存储卷。 托管磁盘类似于本地服务器中的物理磁盘,但它是虚拟化的。 使用托管磁盘时,只需指定磁盘大小、磁盘类型并预配磁盘即可。 预配此磁盘后,Azure 会处理剩余磁盘。 Azure Database for PostgreSQL 灵活服务器支持高级固态硬盘 (SSD),定价是根据你预配的计算、内存和存储层计算的。
高级·SSD
Azure 高级 SSD 为具有输入/输出 (IO) 密集型工作负荷的虚拟机 (VM) 提供高性能、低延迟的磁盘支持。 高级 SSD 适用于任务关键型生产应用程序,但只能将其用于兼容的 VM 系列。 高级 SSD 支持 512E 扇区大小。
达到存储限制
当达到存储限制时,服务器会开始返回错误并防止任何进一步的修改。 达到限制还可能导致其他操作活动出现问题,例如备份和预写日志 (WAL) 存档。 为避免这种情况,当存储使用率达到 95% 或可用容量小于 5 GiB 时,服务器会自动切换到只读模式。 可以使用存储自动增长功能来避免高级 SSD 磁盘出现此问题。
建议主动监视正在使用的磁盘空间,并在存储耗尽之前增加磁盘大小。 可以设置警报,从而在服务器存储接近磁盘不足状态时收到通知。 有关详细信息,请参阅使用 Azure 门户为 Azure Database for PostgreSQL - 灵活服务器设置指标警报。
存储自动增长
存储自动增长有助于确保服务器始终具有足够的存储容量,并且不会变为只读。 启用存储自动增长时,磁盘大小会增加,而不会影响工作负载。
对于预配存储超过 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 托管磁盘的限制。 如果磁盘已经是 4096 GiB,那么即使开启了存储自动增长,也不会触发存储缩放活动。 在这种情况下,需要手动缩放存储。 手动缩放是一种脱机操作,应根据业务需求进行规划。
请记住,存储只能增加,不能减少。
存储自动增长限制和注意事项
磁盘缩放操作始终处于联机状态,除非在涉及 4096 GiB 边界的特定方案中。 这些方案包括达到、开始或超过 4,096 GiB 限制。 例如,从 2,048 GiB 缩放到 8,192 GiB。
4 TiB 以下的磁盘大小支持主机缓存(只读和读/写)。 预配到最高 4095 GiB 的任何磁盘都可以利用主机缓存。 大于或等于 4,096 GiB 的磁盘大小不支持主机缓存。 例如,预配到 4,095 GiB 的 P50 高级磁盘可以利用主机缓存,而预配到 4,096 GiB 的 P50 磁盘不能利用主机缓存。 从较小的磁盘大小移动到 4096 Gib 或更大的磁盘将不会获得磁盘缓存能力。
此限制是由于基础 Azure 托管磁盘需要手动磁盘缩放操作造成的。 接近此限制时,门户中将收到一条信息性消息。
当 WAL 使用率较高时,不会触发存储自动增长。
注意
存储自动增长取决于联机磁盘扩容,因此它永远不会造成停机。
价格
有关最新的定价信息,请参阅Azure Database for PostgreSQL 灵活服务器定价页。 Azure 门户在定价层选项卡上根据所选的选项显示每月成本。
如果没有 Azure 订阅,可使用 Azure 定价计算器获取估计的价格。 在 Azure 定价计算器网站上,选择“Azure Database for PostgreSQL”以自定义选项。