PVE笔记,一次集群损毁后的恢复操作
PVE笔记
一次集群损毁后的恢复操作。
事件起因:
因机房误操作,将集群共享存储服务器断电,导致集群损毁,表现为:各节点都可以单独Ping通,web gui可以登录,但是所有虚拟机都显示灰色,并提示:cluster not ready - no quorum? (500)。
诊断结果:
一、集群崩溃,经网上查询后,进行以下操作(分离节点服务器)。
1、隔离节点上停止 pve-cluster 服务
(1)systemctl stop pve-cluster.service
(2)systemctl stop corosync.service
2、上一步执行成功后,执行将待隔离节点的集群文件系统设置为本地模式的命令
(1)pmxcfs -l
3、上一步执行成功后,执行删除 corosync 配置文件的命令
(1)rm /etc/pve/corosync.conf
(2)rm -rf /etc/corosync/*
4、前3步都执行成功后,执行重新启动集群文件系统服务的命令
(1)killall pmxcfs
(2)systemctl start pve-cluster.service
5、5、删除故障节点node文件
(1)cd /etc/pve/nodes
(2)ls
(3)rm -rf /etc/pve/nodes/pvepc #改成故障节点对应路径
二、仅执行到第二步,便可以使用单节点登录,并正常显示虚拟机,恢复业务。继续执行,将导致节点彻底踢出,需要再次加入集群,非常麻烦,因为加入集群前节点不能有虚拟机。
后续问题:
一、由于执行步骤缺少踢出和删除配置文件,尝试恢复。
1.首先查看PVE状态,并重启各项服务①
2.pvecm status,显示:Cannot initialize CMAP service
3.遂执行以下步骤
(1)systemctl restart pve-cluster.service
(2)systemctl restart pvedaemon.service
(3)systemctl restart pveproxy.service
(4)systemctl restart corosync.service
4.问题没有解决,pvecm status状态异常。
二、个人认为是pmxcfs -l 设置本地文件的原因,继续执行以下步骤(跳过删除corosync)
1.killall pmxcfs
2.systemctl start pve-cluster.service
3.发现PVE集群显示节点正常,但无法迁移,迁移时显示:cluster not ready - no quorum(500)
4.数据中心-概要显示:集群
5.尝试修改某个节点的某个虚拟机配置,显示权限不足。
三、执行最后的检查
1.使用pvecm status命令检查集群的状态
2.Votequorum information中显示Quorum: 2 Activity blocked
3.遂执行 pvecm expected 1 ,
4.报错Unable to set expected votes: CS_ERR_INVALID_PARAM
5.尝试执行 pvecm expected 2 ,报错,pvecm expected 3,成功。
四、检查迁移项
1.迁移原本在共享存储的虚拟机(仅此一个),
2.显示found local disk 'local:130/vm-130-disk-1.raw' (via storage)
3.但是迁移成功,很担心是否导致磁盘文件丢失。
4.反向迁移仍然提示是迁移 local disk,但是也迁移成功。
5.可能是某项服务没有启动
6.实际上是因为130虚拟机之前磁盘没有彻底删除,或者是移动磁盘的时候未完成,导致有残留,经过移动存储,发现仍然存在。
7.在所在节点上执行以下命令:
(1)nano /etc/pve/qemu-server/130.conf
(2)unused0: local:130/vm-130-disk-1.raw
(3)重新打开虚拟机配置栏,看到未使用的磁盘,然后点击删除,即可。
五、总结
1.发现集群出现not ready 错误500的问题后不应该执行 pmxcfs -l
2.应检查pvecm status
3.或直接执行pvecm expected 1
4.然后再执行以下步骤:
(1)systemctl restart pve-cluster.service
(2)systemctl restart pvedaemon.service
(3)systemctl restart pveproxy.service
(4)systemctl restart corosync.service
参考资料
①https://godleon.github.io/blog/Proxmox/Proxmox-Fix-No-Quorum-issue/
②https://pve-doc-cn.readthedocs.io/zh-cn/latest/chapter_pvesr/supporttype.html
③https://bobcares.com/blog/proxmox-cluster-not-ready/
④https://blog.pulipuli.info/2014/08/proxmox-ve-fix-proxmox-ve-cluster-not.html#postcata_2014_08_proxmox-ve-fix-proxmox-ve-cluster-not.html0_anchor1