当前位置: 首页 > article >正文

PVE集群“离婚”指南:安全移除节点(pvecm delnode)与故障恢复全记录

PVE集群“离婚”指南安全移除节点与故障恢复全记录当PVE集群中的某个节点需要退役时粗暴地直接关机可能会引发一系列连锁反应。想象一下你正准备将一台运行了3年的服务器下线更换却在移除过程中意外触发了集群脑裂——所有虚拟机开始不受控制地迁移存储连接中断管理界面一片混乱。这种噩梦般的场景正是我们需要系统化离婚流程的原因。1. 退出前的深度检查清单在点击任何删除按钮之前聪明的管理员会像外科医生术前检查器械一样对集群状态进行全面诊断。以下是你必须确认的关键指标资源依赖检查使用pvesh get /cluster/resources --output-format json-pretty查看目标节点上运行的虚拟机/容器特别注意标记为HA高可用的服务这些服务会在节点离线时自动迁移检查共享存储挂载状态df -h | grep -E nfs|ceph|iscsi网络拓扑验证cat /etc/network/interfaces cat /etc/hosts ping -c 3 主节点IP集群健康状态pvecm status corosync-cmapctl | grep members systemctl status pve-cluster --no-pager -l我曾遇到过一个典型案例某管理员在移除节点前未检查NFS存储连接结果当节点离线时30个虚拟机同时因存储不可用而崩溃。事后分析显示这些虚拟机虽然显示在其他节点运行但实际磁盘仍挂载在待移除节点上。2. 安全移除节点的标准流程2.1 服务平滑迁移首先将目标节点设置为维护模式pvecm nodes | grep 目标节点名 pvecm updatecerts -f pveam update然后按优先级迁移服务手动迁移关键业务虚拟机qm migrate 虚拟机ID 目标节点 --online对于非关键服务可使用批量迁移脚本for vmid in $(qm list | awk /running/{print $1}); do qm migrate $vmid 目标节点 --online done2.2 执行节点分离标准分离流程systemctl stop pve-ha-lrm systemctl stop pve-cluster systemctl stop corosync pmxcfs -l在主节点上清理pvecm delnode 目标节点名 rm -rf /etc/pve/nodes/目标节点名重要数据清理时间表数据位置清理命令风险等级/etc/pve/nodes/rm -rf高/etc/corosync/rm -f corosync.conf中/var/lib/pve-cluster/rm -rf config.db极高警告直接删除/var/lib/pve-cluster可能导致整个集群崩溃建议只在节点完全离线后操作3. 典型故障场景与恢复方案3.1 管理界面锁定症状执行service pve-cluster stop后立即刷新Web界面导致无法登录。恢复方案A通过主节点ssh 主节点 pvecm nodes pvecm expected 当前节点数 systemctl restart pveproxy恢复方案B通过SSH直接修复ssh 问题节点 killall -9 pveproxy systemctl start pve-cluster journalctl -u pve-cluster -n 50 --no-pager3.2 集群脑裂处理当出现Quorum lost错误时按以下步骤恢复强制设置quorumpvecm expected 1 systemctl restart corosync检查集群状态corosync-quorumtool -s pvecm status3.3 残留配置清理有时节点虽已移除但配置数据库中仍有残留grep -r 被移除节点名 /etc/pve/ find /var/lib/pve-cluster/ -type f -exec grep -l 被移除节点名 {} \;对于顽固残留可尝试pvecm updatecerts -f systemctl restart pve-cluster4. 高级维护技巧4.1 数据库一致性检查使用专用工具验证集群数据库健康状态pmxcfs -fsck pvecm verify常见错误代码及解决方法错误代码含义解决方案4007配置不同步执行pvecm updatecerts4011节点不存在检查/etc/hosts解析5003通信超时验证网络防火墙规则4.2 离线节点强制移除当节点物理损坏无法启动时在主节点执行pvecm delnode --force 不可达节点名 rm -rf /etc/corosync/nodeid/不可达节点名4.3 预防性维护脚本创建定期检查脚本/usr/local/bin/cluster_check.sh#!/bin/bash NODES$(pvecm nodes | grep -v ^NAME | wc -l) EXPECTED$(pvecm expected | awk {print $2}) if [ $NODES -ne $EXPECTED ]; then echo 节点数量不匹配当前:$NODES 预期:$EXPECTED | mail -s 集群告警 adminexample.com fi设置cron每周运行echo 0 3 * * 0 root /usr/local/bin/cluster_check.sh /etc/cron.d/cluster-check5. 架构层面的思考在设计集群时就应考虑未来的节点退役需求采用分层架构将核心服务与边缘节点分离为每个节点配置独立的本地存储作为回退方案维护详细的网络拓扑图和存储依赖关系文档某金融客户的实际架构示例核心层(3节点) - 运行数据库等关键服务 | 扩展层(N节点) - 运行弹性计算负载 | 边缘层 - 可随时下线的测试节点这种设计使得边缘节点可以随时移除而不影响核心服务同时核心层节点采用N2冗余确保单个节点下线不影响整体运行。

相关文章:

PVE集群“离婚”指南:安全移除节点(pvecm delnode)与故障恢复全记录

PVE集群“离婚”指南:安全移除节点与故障恢复全记录 当PVE集群中的某个节点需要退役时,粗暴地直接关机可能会引发一系列连锁反应。想象一下,你正准备将一台运行了3年的服务器下线更换,却在移除过程中意外触发了集群脑裂——所有虚…...

独立开发一个 App + 小程序,需要花多少钱?

有时候面对甲方的时候,甲方总会说,我就要一个简单的小程序/网站/app 等等 言外之意,就是不想花钱,因为甲方总以为这玩意可简单了,因为他不知道前后端的代码,逻辑和服务器、对象存储的费用,有的…...

ChatGLM3-6B本地部署实测:RTX 4090D单卡支持8并发流式响应

ChatGLM3-6B本地部署实测:RTX 4090D单卡支持8并发流式响应 1. 项目概述 今天给大家分享一个让我眼前一亮的本地AI部署方案——基于ChatGLM3-6B-32k模型的智能对话系统。经过深度重构后,这个系统在RTX 4090D显卡上实现了8并发流式响应,真正做…...

AI 知道我但不主动推荐我:从识别到推荐之间还差哪些关键条件?

如果点名问品牌时 AI 能认出你,换成“预算有限先看哪类供应商”“本地装修先看哪几家公司”时它不带你,这通常不是收录问题,而是推荐层问题。 按刘佬的复盘口径,这类现象最好拆成两步看: AI 有没有认出你。AI 有没有足…...

10兆瓦数据中心年省3000万!液冷的经济账怎么算?

10兆瓦数据中心年省3000万!液冷的经济账怎么算?一个10兆瓦的数据中心,一年电费是多少?答案是——用风冷,要花将近1个亿。但如果换成液冷,这笔钱可以省下2000万到3000万。数据说明:年节省金额的前…...

codex app每次打开重连5次Reconnecting问题解决

原因: 默认是使用websocket协议,在websocket重连等待五次(并且每次的超时时间足足有20s)之后才会切换到可以正常通信的HTTP协议,至于websocket协议为什么不通,可能是代理不支持websocket协议. 方案1: 在.c…...

只需四分钟我会让你变得自信到可怕,从此告别自卑内耗。这不是成功学鸡汤

前沿导读你是否常感觉聚光灯时刻跟着自己,生怕哪里做得不对?你是否因为害怕失败,错过了很多展示的机会?别让误解困住了你。真正的自信,源于清醒的自我认知和主动的行为构建。这篇文章不讲鸡汤,只给你一套可…...

python minikube

## 关于Python和Minikube,一些你可能没细想的细节 最近在容器化和本地开发环境搭建的话题里,Minikube被提到的次数越来越多了。但很多Python开发者第一次接触它时,难免会有些疑惑:这玩意儿和Python开发到底有什么关系?…...

免费获取VMware Workstation Pro 17许可证密钥的终极指南:5000+密钥任你选!

免费获取VMware Workstation Pro 17许可证密钥的终极指南:5000密钥任你选! 【免费下载链接】VMware-Workstation-Pro-17-Licence-Keys Free VMware Workstation Pro 17 full license keys. Weve meticulously organized thousands of keys, catering to …...

SQLite数据库C++基础用法

1. 引言 笔者最近在做嵌入式Linux应用项目中需要用到SQLite数据库,因此本期分享一下其基础知识。SQLite 是一个嵌入式、无服务器的轻量级关系型数据库,它以函数库形式直接集成到应用程序中,将整个数据库存储为单个普通文件,无需安…...

Linux系统环境一键检测脚本:快速查看所有已安装的开发工具与版本

作者:尘一不染 | 2026-04-17 ———————————————— 版权声明:本文为CSDN博主「尘一不染」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 在日常的Linux开发或运维工作中,我们…...

llama.cpp部署QWEN3.5-9B和Gemma4-e4b,用Claude Code对比测试

昨天部署了Gemma4:26B和E4B,一是自己显存不够,部署的时候总是爆显存。二是claude code与Gemma4配合有问题,claude爆内存,任务进行不下去。 所以今天我又通过llama.cpp部署了QWEN3.9-9B,并做了些测试。 结论&#xff1a…...

HASH、MAC、HMAC 对比

对比汇总表--**Hash(散列)****MAC(消息认证码)****HMAC(哈希MAC)**全称Hash FunctionMessage Authentication CodeHash-based MAC输入任意长度消息消息 密钥消息 密钥输出固定长度摘要固定长度认证码固定…...

如何在3天内快速上手OpenSPG知识图谱引擎?完整实战指南 [特殊字符]

如何在3天内快速上手OpenSPG知识图谱引擎?完整实战指南 🚀 【免费下载链接】openspg OpenSPG is a Knowledge Graph Engine developed by Ant Group in collaboration with OpenKG, based on the SPG (Semantic-enhanced Programmable Graph) framework.…...

UnSHc深度解析:Shell脚本安全审计与逆向工程的技术实现

UnSHc深度解析:Shell脚本安全审计与逆向工程的技术实现 【免费下载链接】UnSHc UnSHc - How to decrypt SHc *.sh.x encrypted file ? 项目地址: https://gitcode.com/gh_mirrors/un/UnSHc 在Shell脚本安全领域,SHc加密工具因其强大的保护能力而…...

手机银行App模拟器

分享一款银行模拟器,农业银行模拟器,装逼娱乐神器,安卓苹果都支持!功能: 修改余额,自由修改数据,也可以模拟余额冻结和转出失败,功能多多,使用起来也是非常的方便,看图片…...

文件上传1

在日常使用各类网站、APP 的过程中,文件上传是我们每天都会接触的基础功能:更换社交账号头像、发布朋友圈配图、上传学习文档、提交作业文件、上传博客封面图…… 这些场景背后,都是Web 文件上传技术在支撑。一、文件上传核心原理解读在动手写…...

LVGL + SquareLine:嵌入式里「中英两套字串」怎么做(无需完整 i18n 框架)

LVGL + SquareLine:嵌入式里「中英两套字串」怎么做(无需完整 i18n 框架) 适用场景:ESP-IDF + LVGL,界面由 SquareLine Studio 生成;不想维护字符串 ID、gettext、.po 那一套,只希望 中文默认 UI + NVS 记忆语言 + 进屏刷新,英文尽量短以适应小屏。 1. 为什么不搞「正经…...

招聘类 Android 应用开发全栈实践与性能优化

引言 移动互联网时代,招聘平台已成为连接人才与企业的核心桥梁。作为 Android 开发工程师,负责招聘类应用的研发工作,不仅要求扎实的底层技术功底,更需要深刻理解招聘场景下的业务逻辑、用户交互特性以及对性能与稳定性的极致追求。本文将围绕一个招聘类 Android 应用从 0…...

Windows系统安装Node.js教程

Windows系统安装Node.js教程 本文档详细介绍了在Windows系统上安装Node.js的完整步骤,包括下载、安装和验证过程,帮助用户快速搭建Node.js开发环境。 一、Node.js 简介 Node.js 是一个基于 Chrome V8 引擎构建的开源、跨平台 JavaScript 运行时环境,它允许开发者在服务器…...

tinyalsa(0)

先给你一个完整配置 采样率(rate) 48000 声道数(channels) 2(左右声道) 采样格式 16bit(2字节) period_size 480 period_count 4一、先从“声音本…...

数据科学中的Pandas数据框扩展

在数据科学和机器学习的领域中,处理数据结构往往是日常工作的一部分。尤其是当我们需要处理图结构数据时,构建和操作邻接矩阵是常见任务之一。Pandas作为Python中处理数据的强大工具,提供了许多便捷的方法来操作数据框(DataFrame)。本文将探讨如何使用Pandas高效地扩展数据…...

龙虾量化实战法(QClaw)

龙虾量化上手法 如果你只是想快速搭一套能用的量化分析流程,这篇文章就是写给你的。最近市面上这类量化课程真的很多,讲得热闹,卖得也凶,但我个人一直不觉得这东西有多大价值。原因很简单,很多课讲到最后,还…...

关于FLOPs与MACs的说明

关于FLOPs与MACs的说明: 尽管通常被称为"FLOPs",但fvcore的FlopCountAnalysis返回的值实际上代表的是MACs(乘加运算次数)。 正如FlopCountAnalysis的文档字符串(第53行)所述:“我们将…...

算法学习第七天

1. 环形链表 II 总结链表与数组的适用场景差异,提交第一周学习小结 题意: 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,使用整数 pos…...

OpenCore Legacy Patcher终极解决方案:4步完整技术指南让旧Mac焕发新生

OpenCore Legacy Patcher终极解决方案:4步完整技术指南让旧Mac焕发新生 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher是…...

Unity URP 实战:基于Kajiya-Kay与Marschner的头发着色器深度解析

1. 头发渲染为什么这么难? 第一次尝试做头发渲染的时候,我对着屏幕发呆了整整一天。为什么游戏里的头发看起来总是那么假?这个问题困扰了我很久。后来才发现,头发的光学特性比我们想象中复杂得多 - 每根头发实际上是个微型圆柱体&…...

基于c/c++实现linux/windows跨平台ntp时间戳服务器

目录使用场景c/c源码结果验证windows编译命令linux编译命令服务器输出结果客户端输出结果使用场景 在某些严格要求时间同步很精准的项目中,获取网络ntp时间的时间延时比较大,做滤波处理可能效果也不理想。因此可以搭建一个本地ntp服务器,这样…...

如何快速上手NVIDIA Profile Inspector:新手必看的完整显卡优化教程

如何快速上手NVIDIA Profile Inspector:新手必看的完整显卡优化教程 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 想彻底释放你的NVIDIA显卡性能吗?NVIDIA Profile Inspector正…...

做再生牛津布出口的靠谱公司有哪些?

做再生牛津布出口,想找个靠谱的伙伴,这事儿我太有感触了。 在这个行业里泡了五年,看过太多品牌方和采购朋友踩坑。要么是环保认证搞不定,货到了港口被卡住;要么是面料性能不达标,看着挺“绿”,用…...