ETCD注意事项
etcd使用时的注意事项以及一些问题
原文作者:意琦行
1. 空间不足
1.1 问题描述
使用的时候报错,提示空间不足
Server register error: etcdserver: mvcc: database space exceeded
1.2 原因分析
前几章说了etcd采用的是MVCC来进行多版本并发控制,会存储数据的每一次变化,如果不进行压缩(删除)则空间会越变越大。
1条数据修改了1W次就相当于存了1W条记录。
1.3 解决方案
etcd 默认不会自动 compact,需要设置启动参数,或者通过命令进行compact,如果变更频繁建议设置,否则会导致空间和内存的浪费以及错误。
etcd v3 的默认的 backend quota 2GB,如果不 compact,boltdb 文件大小超过这个限制后,就会报错:”Error: etcdserver: mvcc: database space exceeded”,导致数据无法写入。
命令如下:
- 获取当前etcd数据的修订版本(revision)
|
|
- 整合压缩旧版本数据
|
|
- 执行碎片整理
|
|
- 解除告警
|
|
- 备份以及查看备份数据信息
|
|
- 原文作者:长亭远望
- 原文链接:https://www.lvmo.work/2022/04/11/etcd-attention.html
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。