Snapshots: Save & Restore
This page is only for ETCD v3+ and not handling ETCD v2.
For the original commands and more information on ETCD, see https://coreos.com/etcd/docs/latest/op-guide/recovery.html.
Take a snapshot
ETCDCTL_API=3 etcdctl \ --endpoints $ETCD_ENDPOINT \ snapshot save snapshot.db
snapshot.db is the name of the snapshot file to be created)
Restore a snapshot
WARNING Before doing that all ETCDs in the cluster must be stopped!
You must rename/remove the current data dir (probably
Be sure to provide all flags that are specified in, e.g., systemd unit file, Kubespray:
/etc/etcd.env and others otherwise you may create issues for the ETCD cluster!
The command is looking about like that depending on what flags are used for your ETCD node:
# Run the command as `root` user after that use `chown` to correct ownership of files ETCDCTL_API=3 etcdctl \ snapshot restore snapshot.db \ --name m1 \ --initial-cluster m1=http://host1:2380,m2=http://host2:2380,m3=http://host3:2380 \ --initial-cluster-token etcd-cluster-1 \ --initial-advertise-peer-urls http://host1:2380 --data-dir=/var/lib/etcd # chown etcd:etcd -R /var/lib/etcd
This has to be done on all ETCD servers one by one with each having their own name given by flag as they were when the snapshot was taken.