Kuboard 故障: Etcd 空间爆满问题

Kuboard 故障: Etcd 空间爆满问题

问题

突然出现kuboard无法访问错误,通过查看日志,出现大量以下错误:etcdserver: mvcc: database space exceeded,emmm这又是之前的错误问题,https://199604.com/3155之前已遇到过,又是etcd 空间不足导致,

etcd 默认空间配额机制

etcd作为Kubernetes集群的核心组件,其数据库默认磁盘空间配额为 2GB。

当集群数据量超过此限制时,etcd 会拒绝新的写入请求,进而导致 Kuboard 等应用异常,页面返回 500 错误,日志中出现类似以下信息:level=error msg="Storage health check failed: create auth request: etcdserver: mvcc: database space exceeded"

解决操作

临时操作:压缩与碎片整理

参考:https://199604.com/3155之前的临时处理步骤。

# 进入容器内部
docker exec -it kuboard /bin/sh

# 查看 etcd 当前状态
ETCDCTL_API=3 etcdctl --endpoints="http://127.0.0.1:2379" --write-out=table endpoint status
#ETCDCTL_API=3 etcdctl --endpoints=127.0.0.1:2379 endpoint status --write-out="json" 

# 获取当前revision
rev=$(ETCDCTL_API=3 etcdctl--endpoints="http://127.0.0.1:2379"endpointstatus--write-out="json"|egrep-o'"revision":[0-9]*'|egrep-o'[0-9].*')

# echo $rev
6078532

# 以$rev为基准,压缩历史数据:
ETCDCTL_API=3 etcdctl --endpoints="http://127.0.0.1:2379" compact $rev
# 清理多余的碎片空间
ETCDCTL_API=3 etcdctl --endpoints="http://127.0.0.1:2379" defrag
#ETCDCTL_API=3 etcdctl --endpoints="http://127.0.0.1:2379" --command-timeout=180s defrag

# 解除报警
ETCDCTL_API=3 etcdctl --endpoints="http://127.0.0.1:2379" alarm disarm

注意:在 defrag 前,可以尝试延长超时时间,如加上 --command-timeout=180s 参数,以防 defrag 过程因超时而失败。

优化操作:调整参数

扩大存储配额

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

进入容器执行:

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

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

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

开启自动压缩

保留最近 1 个版本,每小时自动压缩

etcd --auto-compaction-retention=1
etcd --auto-compaction-retention=1 --quota-backend-bytes=8388608000

总结

Kuboard 出现etcd空间满错误时,可通过 压缩 + 碎片整理快速恢复服务.

为避免问题复现,需长期调整 etcd 存储配额与自动压缩策略

建议定期监控 etcd空间使用情况,结合集群规模合理配置参数,以保障 Kuboard 稳定运行。

暂无评论

发送评论 编辑评论


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