11. ClustrixDB 管理文件空间和数据库容量

ClustrixDB监视集群中可用的空间量,并主动警告潜在的容量问题。确定集群容量的阈值是可配置的,如下所述。

存储类型

要了解如何管理设备和数据库的利用率,必须首先了解ClustrixDB如何分配磁盘空间。ClustrixDB在两个不同的文件中创建和分配空间:

device1 (主存储器)

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利用率的阈值。


Variable

Description

Default Value

Allowed Values

databasefull_message_interval_s


数据库几乎全部消息间隔(以秒为单位)。


120


Minimum: 10

Maximum: 600


databasefull_system_error_percentage


当空间使用超过这个百分比时,用户查询失败。


97


Minimum: databasefull_system_warn_percentage + 1

Maximum: >99


databasefull_system_warn_percentage


当空间使用超过这个百分比时,警告系统查询。


95


Minimum: databasefull_user_error_percentage + 1

Maximum: databasefull_system_error_percentage - 1


databasefull_user_error_percentage


当空间使用超过这个百分比时,用户查询失败。


90


Minimum: databasefull_user_warn_percentage + 1

Maximum: databasefull_system_warn_percentage - 1


databasefull_user_warn_percentage


当空间使用超过这个百分比时,警告用户查询。


80


Minimum: 50

Maximum: databasefull_user_error_percentage - 1

用户查询是由最终用户发起的事务,而系统查询是内部ClustrixDB进程,如Rebalancer、binlog delete、statd等。

报警信息

当超过相应的全局变量时,将触发以下警报。这是在ClustrixDB每次分配空间和每个databasefull_message_interval_s秒发送任何必要的警报时计算的。如果检测到多个警报,则只显示最关键的警报。要了解有关ClustrixDB的Alerter的更多信息,请参见数据库警报。


Global Variable Evaluated

Alert Triggered

Level

Description

Message Shown

databasefull_user_warn_percentage


DATABASE_SPACE_LOW


warning


Database space low


使用了nn%的数据库空间。很快用户查询将失败。

databasefull_user_error_percentage
DATABASE_SPACE_EXTREME


warning


Database space extreme


使用了nn%的数据库空间。用户查询将失败。

databasefull_system_warn_percentage
DATABASE_SPACE_CRITICAL


critical


Database space critical


使用了nn%的数据库空间。用户查询将失败,不久系统查询将失败。

databasefull_system_error_percentage
DATABASE_SPACE_EXHAUSTED


critical


Database space exhausted


使用了nn%的数据库空间。用户查询和系统查询现在将失败。

解决低空间问题

当您收到上述任何警告时,将需要采取一些行动来阻止device1的容量达到下一个阈值。

一些需要考虑的建议:

  • 通过扩展集群的容量向集群添加节点——Flex - Up。
  • 增加集群上的可用空间:
    • 修剪Binlogs
    • 删除数据
  • 通过使用ALTER CLUSTER RESIZE设备在所有节点上放大device1文件的大小。
  • 终止并重新安排长时间运行的事务,如更改、备份和长时间运行的事务。这将停止垃圾收集,并导致撤消日志的大小临时增加。

原文地址:https://www.cnblogs.com/yuxiaohao/p/11959366.html

时间: 2024-10-28 11:27:03

11. ClustrixDB 管理文件空间和数据库容量的相关文章

Windows Server 2008R2配置MySQL Cluster并将管理节点和数据节点配置成windows服务

说明:将mysql的管理节点和数据节点配置成windows服务是为了防止有人手误关闭管理节点或数据节点的dos命令窗口,管理节点或数据节点的命令窗口误关闭可能会造成mysql某台或某几台mysql不能被访问,注册成windows服务自动启动更安全可靠. 目录 操作系统:Windows Server 2008 R2 Enterprise VM1:192.168.220.103 管理节点(MGM), VM2:192.168.220.104数据节点(NDBD1),SQL节点(SQL1) VM3:192

管理我的数据之GDBM

管理我的数据之GDBM 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创代码根据General Public License,v3 发布 GPLv3 许可证的副本可以在这里获得:http://www.gnu.org/licenses/gpl.html 本文档根据GNU Free Documentation License 1.3发布 GFDL1.3许可证的副本可以在这里获得:http://www.gnu.org/

RDIFramework.NET ━ 9.11 数据字典管理 ━ Web部分

RDIFramework.NET ━ .NET快速信息化系统开发框架 9.11  数据字典管理 -Web部分  数据字典模块主要对框架所需数据字典(即选项数据)进行管理,整个数据字典数据为框架所共享,操作员可灵活控制整个框架中的可选数据(主要为下拉框中的列表数据).提高数据的重复利用率,加速新项目开发的效率.数据字典管理主界面如下图所示: 9.11.1.添加字典类别 根据开发的需要,我们可以添加所需的数据字典项.添加数据字典如下图所示,在添加时需要注意的是编号与名称在同一分类下不能与已有的数据重

PowerShell:30行代码轻松实现SQL Server数据库容量监控

本文介绍如何用PowerShell脚本实现SQL Server数据库容量监控 闲话就不多说,直入主题 一.建表 为每台服务器创建一个表,用于记录服务器各个数据库的容量,以服务器名作为表名. CREATE TABLE table_name( [LOG_DATE] [varchar](20) NULL, [DB_NAME] [varchar](50) NULL, [TOTAL_SIZE_MB] [numeric](15, 2) NULL, [USE_SIZE_MB] [numeric](15, 2)

docker管理应用程序数据、容器网络

管理应用程序数据 Docker提供三种方式将数据从宿主机挂载到容器中: ? volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes).保存数据的最佳方式. ? bind mounts:将宿主机上的任意位置的文件或者目录挂载到容器中. ? tmpfs:挂载存储在主机系统的内存中,而不会写入主机的文件系统.如果不希望将数据持久存储在任何位置,可以使用 tmpfs,同时避免写入容器可写层提高性能. 管理卷:路径都是在/var/lib/docker/vol

Docker进阶之六:管理应用程序数据

管理应用程序数据:Volume Docker提供三种不同的方式将数据从宿主机挂载到容器中:volumes,bind mounts和tmpfs. volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes). bind mounts:可以存储在宿主机系统的任意位置. tmpfs:挂载存储在宿主机系统的内存中,而不会写入宿主机的文件系统. 管理卷: # docker volume create nginx-vol 宿主机存储地址:/var/lib/dock

查看mysql数据库容量大小

第一种情况:查询所有数据库的总大小,方法如下: mysql> use information_schema; mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES; +-----------+ | data      | +-----------+ | 3052.76MB | +-----------+ 1 row in set (0.02 sec) 统计一下所有库数据量 每张表数据

mysql数据库容量查询

1.查看所有数据库容量大小 select table_schema?as?'数据库',sum(table_rows)?as?'记录数',sum(truncate(data_length/1024/1024, 2))?as?'数据容量(MB)',sum(truncate(index_length/1024/1024, 2))?as?'索引容量(MB)'from?information_schema.tablesgroup?by?table_schemaorder?by?sum(data_lengt

MySQL之终端(Terminal)管理数据库、数据表、数据的基本操作

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start /Applications/XAMPP/xamppfiles/bin/mysql -h localhost -u root -p; http://www.cnblogs.com/GarveyCalvin/p/4297282.html#createDatabase 1. mysql> select version(); +-----------+ | version() | +--