作者:田逸(vx:formyz)

 

场景描述

 

当Proxmox VE集群中有节点损坏无法快速修复时,需要将故障节点干净的从集群踢出,并把残留信息清理干净。否则,新的节点用故障节点曾使用用的IP的地址将不能正常加入集群;同样,从集群中脱离出来的故障节点修复后,虽然与集群已经毫无关系,但访问此单节点的Web管理后台,将出现原Proxmox VE集群其它节点的信息,非常恼火。

节点从Proxmox VE彻底撤离及再次加入集群_命令行

从集群中驱逐节点

 

如果Proxmox VE 是Ceph 超融合集群,需要登录集群任意节点(欲删除节点除外)宿主系统Debian,命令行下彻底删除欲撤离节点的所有OSD【参见拙著《Proxmox VE 超融合集群实践真传》第12章相关内容】,继续用命令行“pvecm delnode nodename”驱逐节点。切换到 Proxmox VE 集群Web管理后台,刷新浏览器,查看页面左侧“服务器视图”是否还存在被驱逐的节点。就算Web页面不再有被驱逐节点的信息残留,但并不是完全把被驱逐节点的信息清理干净,还需要做进一步处理。

节点从Proxmox VE彻底撤离及再次加入集群_命令行_02

切换到Proxmox VE 集群任意节点宿主系统Debian
命令行,进入目录“/etc/pve/priv”,编辑文件“authorized_keys”与“known_hosts”。

节点从Proxmox VE彻底撤离及再次加入集群_命令行_03

用Vi编辑器或者Sed指令删除被驱逐出集群的节点信息,保存退出,集群中的其它节点也会被corosync自动同步,不用再做重复处理。

节点从Proxmox VE彻底撤离及再次加入集群_宿主系统_04

文件“Known_hosts”也做对应的处理。完成这个步骤以后,再用指令“grep pve169 /etc -r”搜索,确定是否完全清除。


撤离节点集群残留信息处理

 

从Proxmox VE集群撤离出来的节点,在不重新初始化(重装系统)的情况下,做好了功能恢复,欲再加入原集群。当我们用浏览器访问这个单节点Proxmox VE Web管理后台是,依然可能看到集群的其它节点赫然在目,刷新页面、重启系统…也不起作用。那么,这烦人的展示该如何搞掉?


除停掉集群服务、停止同步服务Corosync、删除corosync.conf等操作外,还需进入Proxmox VE单节点宿主系统Debian,进去目录“/etc/pve/nodes”,删除除本节点而外的其它节点目录。

节点从Proxmox VE彻底撤离及再次加入集群_命令行_05

删除后,刷新浏览器,Proxmox VE 单节点Web管理后台,就只剩单节点自己了。



做完上述两个步骤,离群的节点再以原IP加入集群,就不再被集群所排斥。