ClustrixDB监视集群中可用的空间量,并主动警告潜在的容量问题。确定集群容量的阈值是可配置的,如下所述。
存储类型
要了解如何管理设备和数据库的利用率,必须首先了解ClustrixDB如何分配磁盘空间。ClustrixDB在两个不同的文件中创建和分配空间:
device1 (主存储器)
存储 all database data, undo logs, temporary tables, binlogs, ClustrixDB system tables,以及用于查询执行的临时存储,device1文件的初始大小由ClustrixDB安装程序自动检测,但也可以手动配置。安装后,可以使用ALTER CLUSTER RESIZE设备扩展device1文件的大小。要减小device1文件的大小,请参阅减小device1大小。
ClustrixDB希望每个节点上的device1文件大小相同。默认情况下,在数据库启动时,ClustrixDB将自动尝试调整每个节点上的device1文件的大小,以匹配集群中最大的device1文件。要禁用此功能,请设置device_auto_resize_to_largest=false。
临时存储用于对大型查询结果进行排序和分组,并存储在device1中。有两个全局变量来控制临时空间的使用:
- device_temporary_space_limit_bytes: 限制可用于临时存储的空间量。
- device_temporary_space_preallocate_bytes:指定为临时空间预先分配的空间数量(保证临时空间的使用)。
设置device_temporary_space_limit_bytes允许使用额外的临时空间,但不保证可以为临时空间提供额外的空间。
在ClustrixDB 9.2之前,临时空间存储在一个名为device1-temp的单独文件中,但是在v9.2中,临时空间现在在device1文件中管理。
device1-redo (write-ahead log)
redo日志(WAL)存储在device1-redo文件中。这个文件的大小是4GB,不可配置。
检查存储利用率
查看通过使用CLX命令行管理工具使用了多少空间
shell> /opt/clustrix/bin/clx space nid | Hostname | Status | Undo | Perm | WAL | Temp | Used | DB Total | FS Free ----+--------------+---------+-----------------+-----------------+------------------+------------+-----------------+----------+-------- 16 | eukanuba003 | OK | 321.8M (0.04%) | 674.7G (79.4%) | 1024.0M (0.12%) | 0 (0.00%) | 760.1G (89.4%) | 850.0G | 113.9G 17 | karma183 | OK | 313.5M (0.04%) | 664.6G (78.2%) | 1024.0M (0.12%) | 0 (0.00%) | 750.1G (88.2%) | 850.0G | 113.9G 18 | eukanuba002 | OK | 324.3M (0.04%) | 669.5G (78.8%) | 1024.0M (0.12%) | 0 (0.00%) | 755.0G (88.8%) | 850.0G | 113.9G 19 | eukanuba001 | OK | 339.7M (0.04%) | 671.0G (78.9%) | 1024.0M (0.12%) | 0 (0.00%) | 756.4G (89.0%) | 850.0G | 113.9G 20 | eukanuba005 | OK | 277.3M (0.03%) | 668.7G (78.7%) | 1024.0M (0.12%) | 0 (0.00%) | 754.1G (88.7%) | 850.0G | 113.9G 21 | eukanuba004 | OK | 420.3M (0.05%) | 678.6G (79.8%) | 1024.0M (0.12%) | 0 (0.00%) | 764.1G (89.9%) | 850.0G | 113.9G 22 | eukanuba006 | OK | 397.0M (0.05%) | 670.4G (78.9%) | 1024.0M (0.12%) | 0 (0.00%) | 755.9G (88.9%) | 850.0G | 113.9G 23 | karma184 | OK | 479.9M (0.06%) | 674.8G (79.4%) | 1024.0M (0.12%) | 0 (0.00%) | 760.3G (89.5%) | 850.0G | 113.9G ----+--------------+---------+-----------------+-----------------+------------------+------------+-----------------+----------+-------- 2.8G (0.04%) | 5.2T (79.0%) | 8.0G (0.12%) | 0 (0.00%) | 5.9T (89.1%) | 6.6T | 910.9G
全局变量
对于大多数工作负载,这些全局变量的默认值是最优的。
Variable
|
Description
|
Default
|
---|---|---|
device_auto_resize_to_largest |
自动调整集群中所有(在线)设备的大小以匹配最大的设备 |
true |
device_temporary_space_limit_bytes |
允许用于临时容器的最大字节数。 |
5368709120 |
device_temporary_space_preallocate_bytes | 预先分配给临时存储器的空间量 | 5368709120 |
数据库存储阈值
全局变量为集群建立数据库存储阈值。当超过第一级阈值时,将发送警报。如果存储利用率继续增加,一旦超过下一组阈值,用户查询将开始失败。最后,如果存储利用率继续增长,系统查询(包括关键的内部进程)将被终止。一旦数据库完全满了,数据库就可能无法操作。有关释放空间的建议,请参阅下面的问题解决方案。
以下变量用于设置device1利用率的阈值。
The following variables are use to set thresholds for device1 utilization.
Variable
|
Description
|
Default Value
|
Allowed Values
|
---|---|---|---|
Variable
|
Description
|
Default Value
|
Allowed Values
|
databasefull_message_interval_s |
Database almost full message interval in seconds. |
120 |
Minimum: 10 Maximum: 600 |
databasefull_user_warn_percentage |
Warn about user queries when space usage surpasses this percentage. |
80 |
Minimum: 50 Maximum: databasefull_user_error_percentage - 1 |
databasefull_user_error_percentage |
Fail user queries when space usage surpasses this percentage. |
90 |
Minimum: databasefull_user_warn_percentage + 1 Maximum: databasefull_system_warn_percentage - 1 |
databasefull_system_warn_percentage |
Warn about system queries when space usage surpasses this percentage. |
95 |
Minimum: databasefull_user_error_percentage + 1 Maximum: databasefull_system_error_percentage - 1 |
databasefull_system_error_percentage |
Fail user queries when space usage surpasses this percentage. |
97 |
Minimum: databasefull_system_warn_percentage + 1 Maximum: >99 |
User queries are trans