etcd默认的空间配额限制为2G,超出空间配额限制就会影响服务,所以需要定期清理

1. 显示空间配额

  1. ETCDCTL_API=3 /opt/etcd/etcdctl \
  2. --endpoints=https://10.4.7.12:2379,https://10.4.7.21:2379,https://10.4.7.22:2379 \
  3. --cacert=/opt/etcd/certs/ca.pem \
  4. --cert=/opt/etcd/certs/etcd-peer.pem \
  5. --key=/opt/etcd/certs/etcd-peer-key.pem \
  6. --write-out=table \
  7. endpoint status

image.png

2. 查看告警

  1. ETCDCTL_API=3 /opt/etcd/etcdctl \
  2. --endpoints=https://10.4.7.12:2379,https://10.4.7.21:2379,https://10.4.7.22:2379 \
  3. --cacert=/opt/etcd/certs/ca.pem \
  4. --cert=/opt/etcd/certs/etcd-peer.pem \
  5. --key=/opt/etcd/certs/etcd-peer-key.pem \
  6. alarm list

image.png

3. 查看当前etcd数据修订版本

  1. ETCDCTL_API=3 /opt/etcd/etcdctl \
  2. --endpoints=https://10.4.7.12:2379,https://10.4.7.21:2379,https://10.4.7.22:2379 \
  3. --cacert=/opt/etcd/certs/ca.pem \
  4. --cert=/opt/etcd/certs/etcd-peer.pem \
  5. --key=/opt/etcd/certs/etcd-peer-key.pem \
  6. --write-out="json" \
  7. endpoint status | egrep -o '"revision":[0-9]*' | egrep -o '[0-9].*'

image.png

4. 整合压缩旧版本数据

将 查看当前etcd数据修订版本作为 $rev 变量的值

  1. rev=960428
  2. ETCDCTL_API=3 /opt/etcd/etcdctl \
  3. --endpoints=https://10.4.7.12:2379,https://10.4.7.21:2379,https://10.4.7.22:2379 \
  4. --cacert=/opt/etcd/certs/ca.pem \
  5. --cert=/opt/etcd/certs/etcd-peer.pem \
  6. --key=/opt/etcd/certs/etcd-peer-key.pem \
  7. compact $rev

5. 执行碎片整理

  1. ETCDCTL_API=3 /opt/etcd/etcdctl \
  2. --endpoints=https://10.4.7.12:2379,https://10.4.7.21:2379,https://10.4.7.22:2379 \
  3. --cacert=/opt/etcd/certs/ca.pem \
  4. --cert=/opt/etcd/certs/etcd-peer.pem \
  5. --key=/opt/etcd/certs/etcd-peer-key.pem \
  6. defrag

image.png

6. 解除告警

ETCDCTL_API=3  /opt/etcd/etcdctl \
--endpoints=https://10.4.7.12:2379,https://10.4.7.21:2379,https://10.4.7.22:2379 \
--cacert=/opt/etcd/certs/ca.pem \
--cert=/opt/etcd/certs/etcd-peer.pem \
--key=/opt/etcd/certs/etcd-peer-key.pem \
alarm disarm

7. 备份etcd集群数据

ETCDCTL_API=3  /opt/etcd/etcdctl \
--endpoints=https://10.4.7.12:2379,https://10.4.7.21:2379,https://10.4.7.22:2379 \
--cacert=/opt/etcd/certs/ca.pem \
--cert=/opt/etcd/certs/etcd-peer.pem \
--key=/opt/etcd/certs/etcd-peer-key.pem \ 
snapshot save /opt/snapshot_20201210.db

8. 恢复etcd集群数据

ETCDCTL_API=3 /opt/etcd/etcdctl snapshot restore /data/etcd/snapshot_20201202094154.db \
--cacert=/opt/etcd/certs/ca.pem \
--cert=/opt/etcd/certs/etcd-peer.pem \
--key=/opt/etcd/certs/etcd-peer-key.pem \
--name etcd-server-7-12 \
--initial-cluster etcd-server-7-12=https://10.4.7.12:2380,etcd-server-7-21=https://10.4.7.21:2380,etcd-server-7-22=https://10.4.7.22:2380 \
--initial-advertise-peer-urls https://10.4.7.12:2380 \
--data-dir=/data/etcd/etcd-server