恢复openshift3.11-etcd数据快照
参考:https://docs.openshift.com/container-platform/3.11/admin_guide/assembly_restoring-cluster.html#restoring-etcd-v2-v3-data
因openshift数据是以etcd v3版本存储,本恢复方法只编写了etcd v3版本的数据恢复,v2版本数据恢复不支持。
1.通过删除etcd pod定义并重新启动主机来停止所有etcd服务
mkdir -p /etc/origin/node/pods-stopped
mv /etc/origin/node/pods/* /etc/origin/node/pods-stopped/
2.所有etcd主机,清除所有旧数据,因为etcdctl将在将要执行还原过程的节点中重新创建它(这里为安全起见,使用mv把目录改名)
mv /var/lib/etcd /var/lib/etcd.old
3.所有etcd主机,运行snapshot restore命令:
. /etc/etcd/etcd.conf
etcdctl3 snapshot restore /backup/etcd-xxxxxx/db \
--data-dir /var/lib/etcd \
--name $ETCD_NAME \
--initial-cluster "$ETCD_INITIAL_CLUSTER" \
--initial-cluster-token "$ETCD_INITIAL_CLUSTER_TOKEN" \
--initial-advertise-peer-urls $ETCD_INITIAL_ADVERTISE_PEER_URLS \
--skip-hash-check=true
4.所有etcd主机将权限和selinux上下文还原到还原的文件:
chown -R etcd.etcd /var/lib/etcd/
restorecon -Rv /var/lib/etcd
5.所有etcd主机启动服务
mv /etc/origin/node/pods-stopped/* /etc/origin/node/pods/
6.所有etcd主机检查是否有错误日志
master-logs etcd etcd
7.检查openshift服务
oc get user
oc get all
支持作者
如果文章对您有帮助,欢迎打赏,谢谢

Last updated