PolarDB Agent LakeBase支持目录级别的配额管理,您可以为指定目录设置存储容量上限(Capacity)和文件数量上限(Inodes)的硬限制,当目录使用量达到配额上限时,该目录下的写入操作将被拒绝,实现多租户场景下的资源隔离与服务质量保障。PolarDB Agent LakeBase提供OpenAPI和命令行工具(lakebase-client)两种配额管理方式。
适用范围
-
已在PolarDB Agent LakeBase实例的基本信息页面中获取MetaUrl信息。
通过OpenAPI管理配额
-
设置目录配额:为目录应用配额规则
-
检查配额一致性:检查配额一致性
-
删除目录配额:删除Polarlakebase文件配额
通过命令行工具管理配额
准备工作
下载lakebase-client工具。
curl -o lakebase-client https://lakebase-client.oss-cn-beijing.aliyuncs.com/lakebase-client-latest
chmod +x lakebase-client
设置配额
为指定目录设置存储容量和文件数量的硬限制。
lakebase-client quota set $META_URL --path /agents/workspace-001 --capacity 10 --inodes 100000
配额命令直接访问元数据服务,命令中的路径为LakeBase中的绝对路径,而非本地挂载路径。
参数说明
|
参数 |
说明 |
|
|
目录的绝对路径。 |
|
|
存储容量硬限制,单位为GiB。默认值为0,表示不限制。 |
|
|
文件数量硬限制(inode数量上限)。默认值为0,表示不限制。 |
|
|
精确递归遍历所有文件计算总使用量,默认通过汇总每个目录缓存统计信息快速统计。 |
查询配额
查询指定目录的配额信息,包括配额上限和当前使用量。
lakebase-client quota get $META_URL --path /agents/workspace-001
列出所有配额
列出当前实例下所有已配置配额的目录。
lakebase-client quota list $META_URL
删除配额
删除指定目录的配额配置。删除后该目录不再受容量和文件数量限制。
lakebase-client quota delete $META_URL --path /agents/workspace-001
检查配额一致性
校验配额的实际使用量与记录值是否一致,并可选择自动修复不一致的数据。
lakebase-client quota check --path <dir> $META_URL
参数说明
|
参数 |
说明 |
|
|
待检查目录的绝对路径。 |
|
|
修复不一致的配额数据。 |
注意事项
-
配额为硬性限制。当目录使用量达到上限时,后续写入操作将被拦截并返回
EDQUOT(Disk quota exceeded)错误。 -
支持空间容量
Capacity/--capacity和文件数量Inodes/--inodes两个维度的限制。均设置为0表示不限制,若只需限制其中一项,可将另一项设置为0。 -
配额路径必须为已存在的目录。建议先创建目录,再设置配额。
-
子目录的使用量会同时计入其所有上级配额目录。例如,若
/a和/a/b均设置了配额,在/a/b下写入数据会同时消耗这两个目录的配额。 -
删除配额仅解除容量和文件数量限制,不会删除目录中的数据。
-
使用
--strict参数对包含大量文件的目录首次设置配额时,系统需要扫描并统计目录使用量。该操作可能耗时较长,强烈建议在业务低峰期执行。 -
建议定期执行OpenAPI-CheckPolarFsQuotaConsistency或quota check命令,以确保配额统计数据的准确性。