etcd数据库:mvcc database space exceeded错误

etcd数据库:mvcc database space exceeded错误

问题

今晚突然出现kuboard无法访问错误,通过查看日志,出现大量以下错误:

{"level":"warn","ts":"2024-12-02T20:19:38.958+0800","caller":"clientv3/retry_interceptor.go:61","msg":"retrying of unary invoker failed","target":"endpoint://client-cb668178-4c91-4741-aacb-826006fc2308/127.0.0.1:2379","attempt":0,"error":"rpc error: code = ResourceExhausted desc = etcdserver: mvcc: database space exceeded"}
time="2024-12-02T12:19:38Z" level=error msg="Storage health check failed: create auth request: etcdserver: mvcc: database space exceeded"

通过此错误判断了下是是etcd的空间满了,因为kuboard默认也是使用ETCD数据,的是2g,kuboard开发者没对ETCD存储空间做调整,那么应该就是超过了2G,而我也没做定时清理kuboard审计日志,就导致此问题出现的。

该错误表明您的 etcd 数据库已经达到存储空间限制(etcdserver: mvcc: database space exceeded)。这通常是由于 etcd 数据库存储容量已满或写入操作导致的。

解决

# 1.获取当前的版本
ETCDCTL_API=3 etcdctl --endpoints=127.0.0.1:2379 endpoint status --write-out="json" | egrep -o '"revision":[0-9]*' | egrep -o '[0-9].*'
# 2压缩当前版本之前的所有记录
# etcdctl --endpoints=<ENDPOINT> compact <revision>
ETCDCTL_API=3 etcdctl --endpoints=127.0.0.1:2379 compact 6078532
# 3、清理多余的碎片空间
ETCDCTL_API=3 etcdctl --endpoints=127.0.0.1:2379 defrag
# 4.解除警告
ETCDCTL_API=3 etcdctl --endpoints=127.0.0.1:2379 alarm disarm

增加 etcd 数据配额

默认情况下,etcd 的存储限制为 2GB。如果你需要存储更多数据,可以增大存储限制(仅适用于 etcd v3.4+):

etcd --quota-backend-bytes=<BYTES>

例如,将配额增加到 8GB:

etcd --quota-backend-bytes=$((8*1024*1024*1024))

注意:更改此值前,需要检查系统的磁盘空间是否足够。

参考

1.https://etcd.io/docs/v3.4/op-guide/maintenance/#history-compaction

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇