Proxmox VE 操作参考(版本 9.1.2)
节点、客户机和服务可能会宕机、不可达或在中途消失。切勿假设任何组件都在运行:应重新查询实际状态,在超时后重试,并优雅降级。有关自愈模式,请参见 bitranox:coding-resilience。
1. 集群配置(自动检测)
| 检查项 | 命令 |
|---|---|
| 环境 | pveversion --verbose(完整组件版本:kernel、pve-manager、corosync、qemu-server) |
| 节点 | pvecm nodes(数量、名称、ID)/ pvecm status(IP、仲裁、传输、链路状态) |
| 仲裁 | pvecm status -- 检查 "Quorate" 字段。阈值:floor(total_nodes/2) + 1 |
| API 访问 | pvesh(本地 CLI),pveproxy(HTTPS :8006),REST API。脚本中使用 --output-format json |
| 存储 | pvesm status(活跃存储)/ cat /etc/pve/storage.cfg(完整配置) |
| 网络 | pvesh get /nodes/{node}/network --output-format json / cat /etc/network/interfaces |
| 订阅 | pvesubscription get(检查状态)/ pvesubscription set <key>(应用密钥) |
2. 安全协议
| 规则 | 详细信息 |
|---|---|
| 无破坏性批量操作 | 影响超过 1 个节点的命令(重启、关机、批量停止虚拟机)需用户明确确认。 |
| 仲裁检查 | 节点重启/维护前:pvecm status。如果 (current - 1) < floor(total/2) + 1 -- 中止。对于 2 节点集群,检查 QDevice。 |
| 先备份 | 虚拟机配置更改或升级前,确认备份存在:pvesm list {storage} --content backup |
| 禁止强制删除 | 切勿在不验证资源 ID 的情况下使用 --purge 或 --force:qm config {vmid} 或 pct config {vmid} |
| HA 状态 | HA 资源更改前:ha-manager status -- 确认无迁移/隔离在进行中。 |
| 网络更改 | 始终先试运行:ifreload -a -n(ifupdown2 没有 --test)。切勿在承载客户机流量的桥上执行 ifdown。远程应用及 DHCP/绑定/WLAN 陷阱:references/host-networking.md。 |
| Corosync 配置 | 先复制,编辑副本,备份当前配置,然后移动。始终递增 config_version。 |
| 存储操作 | 移除存储前:pvesm list {storage} 确认无虚拟机/容器引用它。 |
| 保护标志 | qm set {vmid} --protection 1 / pct set {vmid} --protection 1 防止意外删除。 |
| ZFS 属性清理 | PVE 将客户机配置的磁盘大小存储为数据集的 refquota。清理会清除所有数据集的 refquota/refreservation,从而静默移除所有客户机的磁盘限制,而 pct config 仍报告旧大小,导致一个容器可能填满整个池。排除以 subvol- 或 vm- 开头的叶子名称。 |
3. 操作审查协议
强制性。 在每次直接对 Proxmox 节点、虚拟机或容器执行操作(命令、配置更改、服务操作)前,必须执行此审查。
例外: 只读操作 — 读取日志、查询状态、收集信息而不做任何更改 — 被视为安全,可立即执行,无需此审查。
在
opus上运行此关卡。 此蓝军/红军判断是 LIVE 基础设施变更的门控——较弱模型会低估宕机、数据丢失和仲裁风险。在opus上进行审查:将其委托给一个固定的opus子智能体,努力级别为medium(审查分派,参见 bitranox:process-agents-subagent-driven-development "分派审查"),或者(如果你保持内联)在执行前提供切换模型或继续的选项。切勿在未知的较低层级上运行此关卡。参见bitranox:process-agents-subagent-driven-development("会话模型是固定的" / "具体层级")。
3.1 蓝军提示
将计划在 Proxmox 服务器上执行的操作或配置视为其最理想、最成功的形式。 设想此操作代表着最安全、最高效且最优集成的解决方案。 阐明此操作如何完美实现系统管理目标,提高稳定性,并完全满足用户需求。
3.2 红军提示
以经验丰富的管理员或安全分析师的身份审查计划的 Proxmox 操作,寻求发现潜在风险。 识别配置中可能的弱点,考虑宕机风险、数据丢失或意外副作用。 在极端场景下测试计划的稳健性,确保其在压力下仍然安全可靠。
3.3 决策
在红军审查结束时,评估所发现的风险或弱点是否严重到足以阻止计划的实施。 如果操作看起来安全、合理且稳健,则可立即执行。 如果存在重大不确定性,必须明确要求用户确认。 以明确的决策结束:要么 "执行操作",要么 "请求用户确认"。
4. 代码与响应风格
- 响应: 简短、精确、面向 CLI(
pvesh、pvecm、pvesm、qm、pct、ha-manager、vzdump、pvesr、pvenode、pveceph、pveum、pveam)。 - 故障排查: 始终首先查询日志:
journalctl -u pvedaemon -n 50、pvenode task list --errors 1、/var/log/pveproxy/access.log。 - JSON 偏好: 使用
--output-format json或json-pretty。对于脚本化解析,使用--noborder --noheader。 - 回滚计划: 每次更改必须包含回滚方案。首先备份配置文件。在存储/虚拟机更改前确保备份存在。
5. 集群规模速查表
| 规模 | 行为 |
|---|---|
| 单节点 | 无集群操作。无 HA。专注于本地存储 + 外部备份。 |
| 2 节点 | 强烈推荐 QDevice。无 QDevice:丢失 1 节点 = 丢失仲裁。紧急情况下:pvecm expected 1。 |
| 3+ 节点 | 完整 HA。容忍 floor((N-1)/2) 个故障(3 节点:1,5 节点:2)。 |
检测节点数: pvecm nodes | grep -c '^\s*[0-9]'
6. 故障排查快速参考
| 问题 | 诊断 |
|---|---|
| 集群无仲裁 | pvecm status > "Quorate: No"。检查连接,systemctl status corosync。紧急情况:pvecm expected 1。 |
| 节点无法加入 | 验证 UDP 5405-5412、时间同步、SSH(TCP 22)。尝试:pvecm add {IP} --fingerprint {SHA256}。 |
| 虚拟机无法启动 | 检查锁: |
…
[已截断以进行翻译]