当前位置: 首页 > news >正文

etcdserver: mvcc: database space exceeded

文章目录

      • 一、问题原因
      • 二、临时解决方案(立即恢复服务)
      • 三、长期预防措施(避免再次发生)
      • 四、注意事项

"etcdserver: mvcc: database space exceeded"错误表示etcd数据库空间已耗尽(默认限制2GB),需通过压缩历史版本、碎片整理和解除告警来恢复服务,同时建议配置自动压缩和扩容至8GB以预防复发。

一、问题原因

  • 存储空间限制:etcd默认数据库大小限制为2GB,当达到此限制时会触发"mvcc: database space exceeded"错误。
  • 历史版本累积:etcd采用多版本并发控制(MVCC)机制,若未启用自动压缩,历史版本数据会持续累积导致空间耗尽。
  • 告警影响:空间耗尽后etcd进入维护模式,仅接受读取和删除操作,拒绝所有写入请求

二、临时解决方案(立即恢复服务)

  1. 获取当前版本号

    rev=$(ETCDCTL_API=3etcdctl--endpoints=https://127.0.0.1:2379\--cacert=/etc/kubernetes/pki/etcd/ca.crt\--cert=/etc/kubernetes/pki/etcd/server.crt\--key=/etc/kubernetes/pki/etcd/server.key\endpoint status-wjson|jq-r'..Status.header.revision')
  2. 压缩历史版本(保留当前版本及之后数据)

    ETCDCTL_API=3etcdctl--endpoints=https://127.0.0.1:2379\--cacert=/etc/kubernetes/pki/etcd/ca.crt\--cert=/etc/kubernetes/pki/etcd/server.crt\--key=/etc/kubernetes/pki/etcd/server.key\compact$rev
    • 注意:压缩仅清理历史版本不会删除最新版本数据
  3. 碎片整理(释放物理磁盘空间)

    ETCDCTL_API=3etcdctl--endpoints=https://127.0.0.1:2379\--cacert=/etc/kubernetes/pki/etcd/ca.crt\--cert=/etc/kubernetes/pki/etcd/server.crt\--key=/etc/kubernetes/pki/etcd/server.key\defrag
    • 建议:若整理耗时较长,可添加--command-timeout=300s参数延长超时时间。

defrag 操作的目的是物理上释放被标记为“删除”的空间。因为即使 compact 删除了历史数据,etcd 的存储文件依然会保留被删除的数据(类似文件系统中的删除文件),而这些空间在物理存储上并未真正释放。通过 defrag 操作,可以让 etcd 重新组织数据,将这些被标记为删除的空间清理出来,从而减少 etcd 占用的磁盘空间。

  1. 解除告警(必须执行,否则仍拒绝写入)

    ETCDCTL_API=3etcdctl--endpoints=https://127.0.0.1:2379\--cacert=/etc/kubernetes/pki/etcd/ca.crt\--cert=/etc/kubernetes/pki/etcd/server.crt\--key=/etc/kubernetes/pki/etcd/server.key\alarm disarm
  2. 验证恢复状态

    ETCDCTL_API=3etcdctl--endpoints=https://127.0.0.1:2379\--cacert=/etc/kubernetes/pki/etcd/ca.crt\--cert=/etc/kubernetes/pki/etcd/server.crt\--key=/etc/kubernetes/pki/etcd/server.key\endpoint status --write-out=table
    • 检查DB SIZE是否显著降低且ERRORS字段为空。

三、长期预防措施(避免再次发生)

  1. 配置自动压缩(推荐)
    在etcd启动参数中添加:

    --auto-compaction-mode=periodic\--auto-compaction-retention=1h\--quota-backend-bytes=8589934592
    • --auto-compaction-retention=1h:保留1小时历史记录(可调整为24h等)。
    • --quota-backend-bytes=8589934592:将存储上限扩容至8GB(官方建议最大值)。
  2. 设置定时维护任务
    创建cron任务定期执行压缩(示例):

    # 每日凌晨1点执行01* * *ETCDCTL_API=3etcdctl compact$(date+%s)&&etcdctl defrag
  3. 关键路径监控

    • 监控/registry/events//registry/minions/等高频路径(Kubernetes中易产生大量事件)。
    • 可通过etcdctl get --prefix /registry/events/ | wc -l检查事件数量。
ec get /registry --prefix --keys-only | grep -v ^$ | awk -F '/' '{ h[$3]++ } END {for (k in h) print h[k], k}' | sort -nr | head

四、注意事项

  • 备份优先:执行压缩前建议先备份数据(etcdctl snapshot save backup.db)。
  • 集群操作:在集群所有节点上依次执行压缩操作,避免数据不一致。
  • 扩容限制最大建议8GB,超过此值可能影响etcd性能稳定性。
  • 压缩误区:压缩不会删除最新版本数据,仅清理历史版本,但过度压缩可能影响Watch机制的历史数据同步。

提示:对于Kubernetes环境,建议在/etc/kubernetes/manifests/etcd.yaml中直接修改启动参数并重启etcd服务,确保配置持久化。若使用托管服务(如Kuboard),需联系云服务商调整后端存储配额。

http://www.cnnetsun.cn/news/1915042.html

相关文章:

  • 赣州二手车评估
  • 迁移学习实战:如何用预训练ResNet在小型LFW子集上达到90%+准确率
  • 便携式综合气象观测仪
  • 11. C++17新特性-更严格的表达式求值顺序
  • 为什么Redis的KEYS命令在生产环境是禁止使用的?
  • 你的FOC电流环总调不好?可能是运放基准电压惹的祸(从ADC值2048说起)
  • 错过SITS2026等于错过未来2年XAI标准?这6个已被主流框架(Llama-3-Vision、Qwen-VL、Fuyu-8B)采纳的解释协议必须立刻掌握
  • 机器学习之方差和标准差计算
  • 如何在微控制器上用纯 Python 替代 NumPy 实现颜色渐变计算
  • Go 中使用 go-json-rest 时调用 Write 方法的正确方式
  • 计算机毕业设计:Python全国降水数据采集与预警平台 Flask框架 数据分析 可视化 大数据 AI 大模型 爬虫 数据大屏(建议收藏)✅
  • 高精度加减
  • 朱雀AI检测率高怎么降?嘎嘎降AI实操攻略分享
  • uv提供的cpython高版本已经解决了matplotlib无法显示图形问题
  • Batch Normalization在VAE中的花式用法:从防梯度消失到解决posterior collapse的完整指南
  • 告别裸机思维:在IMX6ULL上,用设备树重构你的第一个Linux按键驱动
  • mysql为何建议放弃MyISAM_从InnoDB ACID特性分析
  • 算法基础应用精讲【自动驾驶】-自动驾驶负障碍物感知:从井盖缺失看长尾场景的技术突围
  • Python 切片语法基础:[start:end:step] 全解
  • HALCON copy_obj算子保姆级教程:从‘复制粘贴’到高效数据管理的避坑指南
  • Jellyfin Android TV客户端版本兼容性问题的深度诊断与解决指南
  • 魔兽争霸III现代化改造:5大核心功能让你的经典游戏焕发新生
  • 【硬件开发】自举电路设计实战:从原理到参数计算
  • 计及自适应预测修正的微电网 MPC 优化调度方法研究(Python代码实现)
  • 计算机考研408真题解析(2024-36 VLAN间通信与三层交换机路由机制实战剖析)
  • 救命!收藏这篇就够了, 从ChatGPT到Qwen/GLM,程序员小白大模型入门全攻略(附实战)
  • 从一次应急响应看致远OA wpsAssistServlet漏洞:攻击者如何利用,我们又该如何溯源与加固?
  • MECS UTX1010 461412A02 控制器
  • ncmdumpGUI:3步解锁网易云音乐NCM文件,实现跨平台音乐自由
  • 2025届必备的十大AI学术网站横评