etcd压测造成数据目录过大恢复

时间:2024-03-20 20:43:15

问题背景

            线上某etcd集群,采用的是snapshot save的方式每15分钟备份一次,某天磁盘告警,检查发现备份文件特别大.

etcd压测造成数据目录过大恢复

          如上图,发现etcd备份文件竟然有1个多G

etcd压测造成数据目录过大恢复

         如上图,检查etcd的数据目录/var/lib/etcd,发现db文件很大.

问题排查

          1.排查发现etcd备份文件从某天忽然彪高,从原来的20多M一下子升到1个多G

etcd压测造成数据目录过大恢复

       2.排查这期间,k8s集群使用未有大的变动,etcd数据空间应该不会有这么大的变动.最后从一个运维排查得知etcd集群用check perf做过性能压测,但是运维说清理了压测数据.

etcd压测造成数据目录过大恢复

    如山图,用bash 命令历史看出,压测后确实删除了压测创建的对应keys,但是为啥空间占用还是这么大.

 

问题解决

      调研得知为etcd文件碎片引起,通过etcdctl  compaction; etcd defrag操作,可以释放数据目录空间.

etcd压测造成数据目录过大恢复

     如上图,defrag之后,db数据文件减小为7点多M.

 

参考:https://www.cnblogs.com/davygeek/p/8524477.html