-
Notifications
You must be signed in to change notification settings - Fork 449
OVN DB 恢复
马洪贞 edited this page Jun 3, 2021
·
9 revisions
当 ovn-central 节点无法启动或数据库受损,无法保证多数节点正常,可通过下面的步骤来恢复 ovn-central 集群。
- 记录当前 ovn-central 副本数量,并停止 ovn-central 避免新的数据库变更
kubectl scale deployment -n kube-system ovn-central --replicas=0
- 选择 NODE_IPS 中排第一的节点恢复数据库文件,如果第一个节点数据库文件已损坏,从其他机器
/etc/origin/ovn
下复制文件到第一台机器,执行下列命令恢复数据库文件。
docker run -it -v /etc/origin/ovn:/etc/ovn kubeovn/kube-ovn:v1.7.0 bash
cd /etc/ovn/
ovsdb-tool cluster-to-standalone ovnnb_db_standalone.db ovnnb_db.db
ovsdb-tool cluster-to-standalone ovnsb_db_standalone.db ovnsb_db.db
- 退出容器,移除每个 ovn-central 节点上的数据库文件
mv /etc/origin/ovn/ovnnb_db.db /tmp
mv /etc/origin/ovn/ovnsb_db.db /tmp
- 恢复第一个节点的数据库文件
mv /etc/origin/ovn/ovnnb_db_standalone.db /etc/origin/ovn/ovnnb_db.db
mv /etc/origin/ovn/ovnsb_db_standalone.db /etc/origin/ovn/ovnsb_db.db
- 启动 ovn-central 容器
kubectl scale deployment -n kube-system ovn-central --replicas={之前副本数}