操作场景
数据库实例磁盘写到100%后,数据库无法写入日志、无法写入数据文件、无法创建临时文件,连 DROP/TRUNCATE 这类清理操作也会因需要写日志而失败。为此,TDSQL Boundless 在每个对等节点预留了一份“数据保护空间”:当对等节点的存储使用率触及阈值时,节点自动进入为只读模式,在磁盘彻底写满前为运维保留清理和扩容的操作窗口。
触发只读保护机制:当任一节点的存储空间使用率超过系统设定的阈值时,该节点将自动进入只读模式。
只读保护模式影响:写入操作(如 INSERT/UPDATE)将被拒绝,但数据查询和清理操作(如 DROP/TRUNCATE)不受影响,其他未触发阈值的节点数据读写操作不受影响。注意,3副本场景下,若2个或以上副本进入只读模式,整个实例将进入只读模式。
只读模式自动恢复:当您通过扩容或清理数据等方式,使空间使用率下降至系统设定的阈值以下时,该节点将自动恢复为可读写模式。
说明:
数据保护空间的默认值大小随着实例的硬盘类型不同而存在差异:
本地盘实例:默认值为
min{节点磁盘容量 × 8%, 200 GB},本地 SSD 硬盘实例触发节点只读从而需要扩容时若资源不足,需要在节点间进行数据搬迁,耗时分钟至小时级,需要预留出足够的时间;云盘实例:默认值为
max{节点磁盘容量 × 1%, 1 GB},增强型 SSD 云硬盘支持秒级在线扩容,触发节点只读后,即时在线扩容云盘容量即可恢复,无需大额预留空间。为了避免未及时关注硬盘(存储空间)的变化引起实例只读锁定,请您设置磁盘利用率指标告警,操作请参考 设置告警策略。若实例或者节点已经进入只读状态需要临时紧急恢复服务时,您可通过控制台调整已创建实例的数据保护空间大小,临时恢复服务。
注意:
实例/节点已进入只读时,可临时调小保护空间紧急恢复服务,但长期仍需合理规划存储容量。
功能限制
数据保护空间的设置对实例生效。例如,实例 A 的对等节点的磁盘100GB,数据保护空间16GB,即实例 A 的每个对等节点都预留出16GB空间。当实例 A 的节点已用空间达到84GB时触发节点只读,此时该节点的写入操作被拒,但 DROP/TRUNCATE 仍可执行,您可借这16GB完成清理或者扩容。
数据保护空间自内核版本 V21.6.4.0 起正式支持。
注意:
内核版本低于 V21.6.4.0 时,该功能为公测功能,数据保护空间展示可能不准确。
操作步骤
1. 登录 TDSQL Boundless 控制台,在实例列表中,单击实例 ID,进入实例详情页面。
2. 在资源用量模块中,单击磁盘用量,查看该节点数据文件、日志文件、数据保护空间等各部分的空间占用明细。
3. 单击调整,进入调整数据保护空间对话框。

4. 输入拟设置的保留空间大小(单位:GB),单击确定。
提交后,无需重启实例,通常数秒内生效。您可以刷新实例详情页,确认最新的数据保护空间已生效。
相关文档
关于只读保护阈值的触发条件与告警配置建议,请参见 功能特性 中的"用户平时需要关注实例的哪些监控指标?"。
关于只读模式的恢复方式(扩容、清理数据、调整保护空间),请参见 功能特性 中的"实例已进入只读模式,应该如何恢复?"。