etcd


  ETCDCTL_API=3 etcdctl --endpoints 127.0.0.1:2379 \
  --cert=/home/cloud_user/etcd-certs/etcd-server.crt \
  --key=/home/cloud_user/etcd-certs/etcd-server.key \
  --cacert=/home/cloud_user/etcd-certs/etcd-ca.pem \
  member list


-rw-r--r-- 1 cloud_user cloud_user 1070 Nov 30 13:58 etcd-ca.pem
-rw-r--r-- 1 cloud_user cloud_user 1216 Nov 30 13:58 etcd-server.crt
-rw------- 1 cloud_user cloud_user 1679 Nov 30 13:58 etcd-server.key

$ ip a
2: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    inet 10.0.1.102/24 brd 10.0.1.255 scope global dynamic ens    


ETCDCTL_API=3 etcdctl --endpoints 10.0.1.102:2379 \
  --cert=/home/cloud_user/etcd-certs/etcd-server.crt \
  --key=/home/cloud_user/etcd-certs/etcd-server.key \
  --cacert=/home/cloud_user/etcd-certs/etcd-ca.pem \
  member list


c423485b99beed3c, started, etcd1, https://10.0.1.102:2380, https://10.0.1.102:2379, false


ETCDCTL_API=3 etcdctl --endpoints 10.0.1.102:2379 \
  --cert=/home/cloud_user/etcd-certs/etcd-server.crt \
  --key=/home/cloud_user/etcd-certs/etcd-server.key \
  --cacert=/home/cloud_user/etcd-certs/etcd-ca.pem \
 snapshot save /home/cloud_user/etcd_backup.db

{"level":"info","ts":1638283466.2296247,"caller":"snapshot/v3_snapshot.go:119","msg":"created temporary db file","path":"/home/cloud_user/etcd_backup.db.part"}
{"level":"info","ts":"2021-11-30T14:44:26.242Z","caller":"clientv3/maintenance.go:200","msg":"opened snapshot stream; downloading"}
{"level":"info","ts":1638283466.242107,"caller":"snapshot/v3_snapshot.go:127","msg":"fetching snapshot","endpoint":"10.0.1.102:2379"}
{"level":"info","ts":"2021-11-30T14:44:26.246Z","caller":"clientv3/maintenance.go:208","msg":"completed snapshot read; closing"}
{"level":"info","ts":1638283466.2487173,"caller":"snapshot/v3_snapshot.go:142","msg":"fetched snapshot","endpoint":"10.0.1.102:2379","size":"20 kB","took":0.018988257}
{"level":"info","ts":1638283466.248812,"caller":"snapshot/v3_snapshot.go:152","msg":"saved","path":"/home/cloud_user/etcd_backup.db"}

#Verify the snapshot:
ETCDCTL_API=3 etcdctl --endpoints 10.0.1.102:2379 \
  --cert=/home/cloud_user/etcd-certs/etcd-server.crt \
  --key=/home/cloud_user/etcd-certs/etcd-server.key \
  --cacert=/home/cloud_user/etcd-certs/etcd-ca.pem \
--write-out=table snapshot status /home/cloud_user/etcd_backup.db
+----------+----------+------------+------------+
|   HASH   | REVISION | TOTAL KEYS | TOTAL SIZE |
+----------+----------+------------+------------+
| b245bf41 |        2 |          5 |      20 kB |
+----------+----------+------------+------------+


#Restore the etcd Data from the Backup

    #Stop etcd:

    sudo systemctl stop etcd

    #Delete the existing etcd data:

    sudo rm -rf /var/lib/etcd

    #Restore etcd data from a backup:

    sudo ETCDCTL_API=3 etcdctl snapshot restore /home/cloud_user/etcd_backup.db \
    --initial-cluster etcd-restore=https://etcd1:2380 \
    --initial-advertise-peer-urls https://etcd1:2380 \
    --name etcd-restore \
    --data-dir /var/lib/etcd

    #Set database ownership:

    sudo chown -R etcd:etcd /var/lib/etcd

    #Start etcd:

    sudo systemctl start etcd

    #Verify the system is working:

    ETCDCTL_API=3 etcdctl get cluster.name \
    --endpoints=https://etcd1:2379 \
    --cacert=/home/cloud_user/etcd-certs/etcd-ca.pem \
    --cert=/home/cloud_user/etcd-certs/etcd-server.crt \
    --key=/home/cloud_user/etcd-certs/etcd-server.key

Last updated

Was this helpful?