暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

0132.O OceanBase社区版数据文件sstable空间调整--datafile_disk_percentage参数调整

rundba 2022-02-11
870

通过告警平台发现OceanBase数据文件(sstable)使用率超过85%,当数据使用超过100%时,会导致数据不能写入,存在observer宕机的风险。当系统磁盘充足时,适当调整datafile_disk_percentage参数,以增大数据磁盘可使用空间,避免故障发生。


0.ENV



CentOS 7.6;

OceanBase-ce 3.1.2。



1. 调整前信息查询



1.1 observer磁盘空间使用率

datafile_disk_percentage: 30


1.2 系统磁盘空间使用

当前/home使用率为80%

[root@ob03 ~]# df -h | grep home
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-home 1.8T 1.4T 359G 80% /home


查询目录空间占用

[admin@ob03 ~]$ du -sh *
1.1G obagent
1.4T observer
[admin@ob03 ~]$ cd observer/
[admin@ob03 observer]$ ls
admin bin etc etc2 etc3 lib log run store
[admin@ob03 observer]$ du -sh *
0 admin
0 bin
8.0K etc
8.0K etc2
8.0K etc3
0 lib
5.7G log
4.0K run
1.4T store
[admin@ob03 observer]$ cd store/
[admin@ob03 store]$ du -sh *
875G clog
4.6G ilog
135M slog
534G sstable #数据存放目录


1.3 查看数据库分配空间

发现数据分配使用率较低,

MySQL [oceanbase]> SELECT svr_ip, used_size/1024/1024/1024 used_GB,free_size/1024/1024/1024 free_GB from __all_virtual_disk_stat;
+---------------+------------------+------------------+
| svr_ip | used_GB | free_GB |
+---------------+------------------+------------------+
| 192.168.8.244 | 469.173828125000 | 64.677734375000 |
| 192.168.8.242 | 468.650390625000 | 65.201171875000 |
| 192.168.8.243 | 469.177734375000 | 64.673828125000 |
+---------------+------------------+------------------+
3 rows in set (0.005 sec)



2. 调整observer磁盘空间使用


2.1 调大数据文件使用磁盘大小

[admin@obp1 ~]$ obd cluster edit-config obcluster #将30修改为35,即将observer(数据文件)所在的磁盘空间使用率由30%调整为35%

  global:
...
datafile_disk_percentage: 35
...


2.2 使配置生效,不需要要重启,不影响业务运行

[admin@obp1 ~]$ obd cluster reload obcluster
Get local repositories and plugins ok
Load cluster param plugin ok
Open ssh connection ok
Cluster status check ok
Connect to obproxy ok
Connect to observer ok
obcluster reload


2.3 可进一步在数据库中查询,参数已生效

MySQL [oceanbase]> show parameters like 'datafile_disk_percentage';
+-------+----------+---------------+----------+--------------------------+-----------+-------+-------------------------------------------------------------------------------+---------+---------+---------+-------------------+
| zone | svr_type | svr_ip | svr_port | name | data_type | value | info | section | scope | source | edit_level |
+-------+----------+---------------+----------+--------------------------+-----------+-------+-------------------------------------------------------------------------------+---------+---------+---------+-------------------+
| zone1 | observer | 192.168.8.242 | 2882 | datafile_disk_percentage | NULL | 35 | the percentage of disk space used by the data files. Range: [5,99] in integer | SSTABLE | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE |
| zone3 | observer | 192.168.8.244 | 2882 | datafile_disk_percentage | NULL | 35 | the percentage of disk space used by the data files. Range: [5,99] in integer | SSTABLE | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE |
| zone2 | observer | 192.168.8.243 | 2882 | datafile_disk_percentage | NULL | 35 | the percentage of disk space used by the data files. Range: [5,99] in integer | SSTABLE | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE |
+-------+----------+---------------+----------+--------------------------+-----------+-------+-------------------------------------------------------------------------------+---------+---------+---------+-------------------+
3 rows in set (0.004 sec)



3. 调整后信息查询



3.1 系统磁盘空间使用

[admin@ob03 store]$ du -sh *
789G clog
4.1G ilog
145M slog
623G sstable #数据存放目录已经由之前的534G增加到623G
[admin@ob03 store]$ df -h | grep home
/dev/mapper/centos-home 1.8T 1.4T 357G 80% /home


3.2 数据库分配空间-当前空间已经生效

MySQL [oceanbase]> SELECT svr_ip, used_size/1024/1024/1024 used_GB,free_size/1024/1024/1024 free_GB from __all_virtual_disk_stat;
+---------------+------------------+------------------+
| svr_ip | used_GB | free_GB |
+---------------+------------------+------------------+
| 192.168.8.244 | 471.089843750000 | 151.736328125000 |
| 192.168.8.242 | 470.564453125000 | 152.261718750000 |
| 192.168.8.243 | 471.093750000000 | 151.732421875000 |
+---------------+------------------+------------------+
3 rows in set (0.005 sec)



4. 小结



生产环境建议将安装目录、数据目录、日志目录等分开,并建议设置数据初始值较小,随着生产数据的增加,再调大datafile_disk_percentage参数。

该参数不能调小,不能调低于目前使用空间,避免数据库损坏。

当前增大了数据文件使用空间,保障了observer数据空间的使用,但系统/home目录整体使用80%,仍存在在空间风险,下期将进行clog调整,降低clog目录空间的使用。



5. 附--查询数据使用率



MySQL [oceanbase]> SELECT svr_ip, used_size/1024/1024/1024 used_GB,free_size/1024/1024/1024 free_GB,used_size*100/total_size "used_percent(%)" from __all_virtual_disk_stat;
+---------------+------------------+------------------+-----------------+
| svr_ip | used_GB | free_GB | used_percent(%) |
+---------------+------------------+------------------+-----------------+
| 192.168.8.242 | 474.435546875000 | 148.390625000000 | 76.1746 |
| 192.168.8.243 | 474.435546875000 | 148.390625000000 | 76.1746 |
| 192.168.8.244 | 474.433593750000 | 148.392578125000 | 76.1743 |
+---------------+------------------+------------------+-----------------+
3 rows in set (0.003 sec)




- 完 -


旨在交流,不

::rundba

wx: landnow


 




                             长按二维码                                   


欢迎加入>>国产DB学习交流群


       

   请注明:来自rundba,加入国产DB学习交流群                

             




文章转载自rundba,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论