前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >未雨绸缪,妙~

未雨绸缪,妙~

作者头像
AsiaYe
发布2021-11-25 11:45:49
2190
发布2021-11-25 11:45:49
举报
文章被收录于专栏:DBA随笔

最近这两天,处理了一个线上的TiDB问题,在处理问题的过程中,确实感受到了TiDB这个分布式数据库设计的巧妙的地方,也发现了自己在理解上的很多不足,具体的过程有时间再分享,这里不再描述,今天只讨论一个小的知识点。

TiDB作为一款分布式的数据库,面向的是大容量的数据场景,它的集群之间通过Region来保存数据,一份数据需要保存多个副本,所以比较消耗磁盘容量。

在线上实际运维的过程中,经常遇到磁盘占用80%以上的场景,通常情况下,我们需要通过动态的扩缩容来解决磁盘占用率高的问题。如果数据的容量增长比较快,而暂时没有合适的服务器来进行横向扩容,此时这个磁盘容量问题就比较棘手了。

TiDB 4.0 这个版本中引入了参数storage.reserve-space参数,默认是2GB,到TiDB 5.0 ,默认值已经变成了5G,这个参数的意思是:预留空间。由于它的存在,TiKV 启动时会用临时文件预占额外空间,这个参数值代表这个临时文件大小。临时文件名为 space_placeholder_file,位于 storage.data-dir 目录下。TiKV 磁盘空间耗尽无法正常启动需要紧急干预时,可以删除该文件,并且将 reserve-space 设置为 0MB

可以通过连接tidb来查看当前的配置内容

代码语言:javascript
复制
show config where type='tikv' and  name like 'storage.reserve%';                          
+------+--------------------+-----------------------+-------+
| Type | Instance           | Name                  | Value |
+------+--------------------+-----------------------+-------+
| tikv | 10.xx.xx.xx2:20151 | storage.reserve-space | 5GiB  |
| tikv | 10.xx.xx.xx2:20160 | storage.reserve-space | 5GiB  |
| tikv | 10.xx.xx.xx5:20153 | storage.reserve-space | 5GiB  |

看到这里,其实可以引申一下,在那些没有部署TiKV的服务器上,其实也可以设置这么一个临时文件,一旦发现磁盘快满的时候,删除这些文件,从而释放出来一定的空间,临时解决问题。

这种未雨绸缪式的方案,可能你觉得你也能想到,但是在一个分布式数据库设计的过程中,能够考虑到这种细枝末节的运维场景,确实很难得,就这一点,让我觉得这个数据库确实很赞。后续还需要更进一步的探究,分享更多的知识点给大家。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
TDSQL MySQL 版
TDSQL MySQL 版(TDSQL for MySQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档