我们查询故障 etcd 集群近几天的发布记录时发现,故障前一天对该集群进行的一次发布中,由于之前 dbsize 配置不合理,导致 db 被写满,集群无法写入新的数据,为此运维人员更新了集群 dbsize 和 compaction 相关配置,并重启了 etcd。重启后,运维同学继续对 etcd 手动执行了 compact 和 defrag 操作,来压缩 db 空间。 通...
etcdctl defrag --endpoints 如果etcd没有运行,可以直接整理目录中db的碎片 etcdctl defrag --data-dir <path-to-etcd-data-dir> 碎片整理会阻塞对etcd的读写操作,因此偶尔一次大量数据的defrag最好逐台进行,以免影响集群稳定性。 etcdctl执行后的返回Finished defragmenting etcd member[https://127.0.0.1:2379] ...
最后,请求量的增长也加剧了 etcd 由于 compact、defrag 操作对请求 RT P99 的暴涨,甚至请求超时,从而导致集群关键组件调度器、CNI 服务等 Operator 类组件间断性丢失,造成集群不可用。 根据前人的经验,针对 etcd 集群进行数据水平拆分是一个有效的优化手段,典型的拆分是把 Pod 等重要数据单独 etcd 集群来存储,从而...
最后,请求量的增长也加剧了 etcd 由于 compact、defrag 操作对请求 RT P99 的暴涨,甚至请求超时,从而导致集群关键组件调度器、CNI 服务等 Operator 类组件间断性丢失,造成集群不可用。 根据前人的经验,针对 etcd 集群进行数据水平拆分是一个有效的优化手段,典型的拆分是把 Pod 等重要数据单独 etcd 集群来存储,从而...
重启后,运维同学继续对 etcd 手动执行了 compact 和 defrag 操作,来压缩 db 空间。通过上述场景,我们可以初步判断出以下几个可疑的触发条件: dbsize 满 dbsize 和 compaction 配置更新 compaction 操作和 defrag 操作 重启etcd 出了问题肯定要能够复现才更有利于解决问题,正所谓能够复现的 bug 就不叫 bug。复现问题...
注意,compact 和 defrag 时, 都需要把集群中的所有 endpoint 添加上去, 否则不会减少磁盘空间 2、etcd权限管理 2.1 权限常用命令 2.1.1 用户管理 # 创建用户etcdctl user add fox# 删除用户etcdctl user del fox#修改密码etcdctl user passwd fox#查看所有用户etcdctl user list#查看指定用户及绑定角色etcdctl user...
那么defrag是清理磁盘碎片,磁盘碎片清理还要其他操作,比如有compact命令,etcd是一个多版本的管理系统,在bolt db里面,它的所有的key都是version信息,所以它会有很多历史版本的信息,但是很多时候历史版本信息可能用不上了,这个时候我们希望它做一些压缩,那么它支持compact命令,让你指定reversion的版本,那么会将之前所有版本...
# Compact the database $ etcdctl --command-timeout=600s compact <rev_number> Defrag For Defrag of the etcd database, please refer to the "Manual defragmentation" section in the OpenShift 4 documentation:Defragmenting etcd data. To verify the defragmentation, check the "Diagnostic Steps" secti...
defrag:整理碎片 watch key 监测 key 变化 get / –prefix –keys-only: 查看所有 key etcd集群调优: ETCD作为kubernetes集群后端存储的分布式键值数据库,保存整个集群的状态信息,因此,对于etcd的备份和优化显得至关重要。etcd 使用 Raft 一致性算法来在成员之间复制请求并达成一致。一致性性能,特别是提交延迟,受限于...
当数据量达到配额导致无法写入时,可以通过手动压缩(etcdctl compact)和整理碎片(etcdctl defrag)的方式来减少容量。强烈建议对 etcd 集群的节点逐个进行这些操作,否则可能会导致整个 etcd 集群不可用。 性能 etcd 提供强一致的读写访问,并且所有操作都会涉及到多机事务以及磁盘的数据持久化。建议使用高性能的 SSD ...