记录个错误启动和解决:
pve日志,图片显示是下面的HA104和CT104错误。

task started by HA resource agent
TASK ERROR: CT is locked (snapshot-delete)
启动失败:
Requesting HA start for CT 104
service 'ct:104' in error state, must be disabled and fixed first
TASK ERROR: command 'ha-manager set ct:104 --state started' failed: exit code 255

image

看来你的 Proxmox 集群由于之前的快照删除(snapshot-delete)任务意外中断,导致容器 104 被锁定了。雪上加霜的是,由于 HA(高可用)检测到多次启动失败,它直接把该资源标记为了 error 状态。

别担心,这就像是电脑死机后留下的“保护性锁定”,咱们手动给它“解锁”并重置 HA 状态即可。请按照以下步骤在节点的终端(Shell)中操作:


第一步:解除容器锁定

首先,我们要处理 CT is locked 的问题。Proxmox 为了防止数据损坏,在执行快照操作时会加锁,如果任务崩溃,锁不会自动释放。

运行以下命令:

Bash

pct unlock 104

如果这一步报错说任务仍在运行,你可能需要先在任务列表中终止那个过期的 snapshot-delete 任务。


第二步:重置 HA 错误状态

HA 代理检测到 CT 104 无法启动后,为了防止无限重启循环导致集群负载过高,会将其状态置为 error。在这种状态下,任何启动指令都会被拒绝。

我们需要先将该资源设为 disabled(禁用),再设为 started(启动):

  1. 禁用资源:

Bash

ha-manager set ct:104 --state disabled
  1. 等待几秒钟,确认 Web 界面上该资源的状态不再是红色的 error。
  2. 重新启用资源:

Bash

ha-manager set ct:104 --state started

第三步:检查存储空间(预防再次发生)

快照删除失败通常有一个最常见的幕后黑手:磁盘空间不足。

  • 检查存储: 请确保 CT 所在的存储(如 local-lvm 或 Ceph)还有足够的余量。
  • 查看日志: 如果再次失败,请查看 /var/log/pve/tasks/ 下对应的日志文件,寻找更详细的报错信息。

总结

简单来说,你的 CT 104 现在被两个“安全锁”扣住了:一个是 pct 锁,一个是 HA 错误锁。依次执行 pct unlock 和 ha-manager set ... disabled 就能让它冷静下来重新工作。