ClustrixDB中的device1文件用于所有数据库数据、撤消日志、临时表、binlog和ClustrixDB系统对象。ClustrixDB确保device1文件在集群的所有节点上大小相同。一旦得到device1文件的最佳大小,就很少需要更改了。
要增加device1文件的大小,请参阅 https://www.cnblogs.com/yuxiaohao/p/11956574.html。
要在集群范围内减小device1文件的大小,请遵循以下说明。当集群的Clustrix 7.5或更高版本已经达到或接近容量,或者用于使用大型排序或聚合的工作负载时,这可能是必要的。
这些指令意味着一次完成一个节点,但是如果您的集群中有空间,则可以一次使用多个节点来完成该循环。
一、验证,设置初始全局
全局device_auto_resize_to_largest控制整个集群中device1文件的大小如何保持一致。确保这个初始值设置为false,这样它就不会干扰这个过程。
验证device_auto_resize_to_largest的初始设置为false
sql> SHOW GLOBAL VARIABLES LIKE 'device_auto_resize_to_largest';
如果需要,将global设置为false。
sql> SET GLOBAL device_auto_resize_to_largest = 'false';
二、 Softfail一个节点
软失效一个或多个节点,如果您的集群有足够的空闲空间。https://www.cnblogs.com/yuxiaohao/p/12068406.html
三、删除旧的device1文件
在节点被softfailed并从集群中删除之后,从命令行提示符运行以下命令。这将导致组更改。
这些命令将把节点格式化为默认状态并删除所有数据。
在每个softfail的节点上运行这些命令
shell> rm /data/clustrix/pnid
shell> systemctl stop clustrix
shell> systemctl start clustrix
四、重新将节点添加到集群中
使用MySQL提示符中的语法创建一个默认的device1文件。这将导致组更改。
从一个节点(而不是刚刚软失败的节点)运行此操作
ALTER CLUSTER ADD 'ip' [, 'ip'] ...
五、调整device1
使用以下控制端口命令,在上面添加的每个节点上调整device1文件的大小:
在IP被添加到集群的每个节点上运行这个命令
shell> nc localhost
$ device resize deviceid size
例如,这将系统的第一个(也是唯一一个)设备(device1)的大小设置为连接到的节点上的800Gb。对上面添加的每个节点执行此操作。
$ device resize 800g
Clustrix建议在每个驱动器上留下50 - 100 gb的可用空间或工作空间。这是特定于站点的,Clustrix支持可以为您的特定工作负载提供指导
六、Rebalance数据
Rebalancer将自动将数据分发到重新配置的节点。如果您的集群有足够的空闲空间,则不需要等待该操作完成后再继续。有关更多信息,请参见管理Rebalancer。
七、对所有节点重复操作
重复步骤2-6,直到集群中的所有节点的device1文件都减少为止。
八、设置全局变量以供将来使用
在所有节点上完成该过程并减小device1文件的大小之后,将全局变量device_auto_resize_to_largest设置为true。这将确保添加到集群中的所有未来节点的device1文件大小相同。
在集群中的所有节点完成此过程之前,不要将此全局变量设置为true。
在所有device1文件都被减少之后,在一个节点上运行它
sql> SET GLOBAL device_auto_resize_to_largest = 'true';