问题现象:
日志盘(clog)满,导致集群出现问题:
问题处理过程:
首先查看待扩容的租户使用的unit 名字:
root@10.18.92.150 : oceanbase 22:28:24>select a.TENANT_NAME,a.TENANT_ID ,b.UNIT_GROUP_ID,c.NAME ,c.LOG_DISK_SIZE/1024/1024/1024 from DBA_OB_TENANTS a, DBA_OB_UNITS b, DBA_OB_UNIT_CONFIGS c where a.TENANT_ID=b.TENANT_ID and b.UNIT_config_ID=c.UNIT_CONFIG_ID;
+-------------+-----------+---------------+---------------------------------+--------------------------------+ | TENANT_NAME | TENANT_ID | UNIT_GROUP_ID | NAME | c.LOG_DISK_SIZE/1024/1024/1024 | +-------------+-----------+---------------+---------------------------------+--------------------------------+ | sys | 1 | 1 | sys_unit_config | 11.039614410139 | | sys | 1 | 1 | sys_unit_config | 11.039614410139 | | sys | 1 | 1 | sys_unit_config | 11.039614410139 | | liuwenhe | 1002 | 1001 | config_liuwenhe_zone3_S3_jwe | 60.000000000000 | | liuwenhe | 1002 | 1001 | config_liuwenhe_zone1_S3_anp | 60.000000000000 | | liuwenhe | 1002 | 1001 | config_liuwenhe_zone2_S3_qpg | 60.000000000000 | | hehe | 1004 | 1002 | config_hehe_zone1_hehe_unit_vwt | 3.000000000000 | | hehe | 1004 | 1002 | config_hehe_zone3_hehe_unit_yfs | 2.000000000000 | | hehe | 1004 | 1002 | config_hehe_zone2_hehe_unit_pjo | 2.000000000000 | +-------------+-----------+---------------+---------------------------------+--------------------------------+ 9 rows in set (0.04 sec) 根据前面查询到的某个租户的unit_name 来扩容: 因为是通过ocp创建的租户liuwenhe,他会有多个资源规则(每个zone都有),所以需要对每个资源规格依次都扩容,但是如果是通过命令行,先创建unit、然后资源池、最后租户,这样的话,每个租户就对应一个资源规则,只需要修改一次即可! ALTER RESOURCE UNIT config_hehe_zone1_hehe_unit_vwt LOG_DISK_SIZE = '3G'; ALTER RESOURCE UNIT config_hehe_zone3_hehe_unit_yfs LOG_DISK_SIZE = '3G'; ALTER RESOURCE UNIT config_hehe_zone2_hehe_unit_pjo LOG_DISK_SIZE = '3G'; 如下所示 liuhe这个租户的创建过程是:先创建unit、然后资源池、最后租户,这样的话,每个租户就对应一个资源规则,只需要修改一次即可 CREATE RESOURCE UNIT liuhe_unit MEMORY_SIZE = '5G', MAX_CPU = 1, MIN_CPU = 1, LOG_DISK_SIZE = '6G', MAX_IOPS = 10000, MIN_IOPS = 10000, IOPS_WEIGHT=1; CREATE RESOURCE POOL liuhe_pool UNIT='liuhe_unit', UNIT_NUM=1, ZONE_LIST=('zone1','zone2','zone3'); CREATE TENANT IF NOT EXISTS liuhe PRIMARY_ZONE='zone1,zone2,zone3' , RESOURCE_POOL_LIST=('liuhe_pool') set OB_TCP_INVITED_NODES='%'; 如下所示,liuhe这个租户对应一个资源规则: root@10.18.92.150 : oceanbase 23:03:18>select a.TENANT_NAME,a.TENANT_ID ,b.UNIT_GROUP_ID,c.NAME ,c.LOG_DISK_SIZE/1024/1024/1024 from DBA_OB_TENANTS a, DBA_OB_UNITS b, DBA_OB_UNIT_CONFIGS c where a.TENANT_ID=b.TENANT_ID and b.UNIT_config_ID=c.UNIT_CONFIG_ID; +-------------+-----------+---------------+---------------------------------+--------------------------------+ | TENANT_NAME | TENANT_ID | UNIT_GROUP_ID | NAME | c.LOG_DISK_SIZE/1024/1024/1024 | +-------------+-----------+---------------+---------------------------------+--------------------------------+ | sys | 1 | 1 | sys_unit_config | 11.039614410139 | | sys | 1 | 1 | sys_unit_config | 11.039614410139 | | sys | 1 | 1 | sys_unit_config | 11.039614410139 | | liuwenhe | 1002 | 1001 | config_liuwenhe_zone3_S3_jwe | 60.000000000000 | | liuwenhe | 1002 | 1001 | config_liuwenhe_zone1_S3_anp | 60.000000000000 | | liuwenhe | 1002 | 1001 | config_liuwenhe_zone2_S3_qpg | 60.000000000000 | | hehe | 1004 | 1002 | config_hehe_zone1_hehe_unit_vwt | 3.000000000000 | | hehe | 1004 | 1002 | config_hehe_zone3_hehe_unit_yfs | 3.000000000000 | | hehe | 1004 | 1002 | config_hehe_zone2_hehe_unit_pjo | 3.000000000000 | | liuhe | 1006 | 1003 | liuhe_unit | 6.000000000000 | | liuhe | 1006 | 1003 | liuhe_unit | 6.000000000000 | | liuhe | 1006 | 1003 | liuhe_unit | 6.000000000000 | +-------------+-----------+---------------+---------------------------------+--------------------------------+ 12 rows in set (0.02 sec) 如果需要对liuhe这个租户扩容:只需要对liuhe_unit这个资源规则扩容即可: ALTER RESOURCE UNIT liuhe_unit LOG_DISK_SIZE = '8G';题外话:在通过调大和调小租户资源规格进行扩容和缩容时,有以下两种方式:

第五步: 如果OceanBase集群log_disk已分配完,并且操作系统上的磁盘也已经被分配完, 可以先看看磁盘上还有没有可以删除的无用文件,若无, 则主动停止租户的写入, 防止 clog 盘临时腾挪的空间再次快速被业务写入打满,无法修复,