我有一个包含三个节点的 HA proxmox 集群。
我在两个节点之间进行了复制。这两个节点中的每一个都有一个用于复制的 ZFS 池。我在这两个服务器之间设置了复制规则,并使用 ZFS 实现了 HA。
我有一个较旧的第三个节点(称为虚拟),它没有任何 ZFS 磁盘,因此我不将其用作复制目标。
今天,其中一个带有 ZFS 的节点死机了,并且其中一个容器(CT)在第三个节点(非 ZFS 节点)上结束,我不知道怎么回事。
由于第三个节点没有任何 ZFS 池(也没有复制卷),因此容器处于奇怪的状态,因为它引用的磁盘不存在。现在我无法将此 CT 迁移到正确的剩余节点。
当我尝试将 CT 迁移到正确的节点时,出现此错误:
Replication Log
2022-03-21 17:53:01 105-0: start replication job
2022-03-21 17:53:01 105-0: guest => CT 105, running => 0
2022-03-21 17:53:01 105-0: volumes => rpool:subvol-105-disk-0
2022-03-21 17:53:01 105-0: create snapshot '__replicate_105-0_1647881581__' on rpool:subvol-105-disk-0
2022-03-21 17:53:01 105-0: end replication job with error: zfs error: For the delegated permission list, run: zfs allow|unallow
显然,第三个节点没有 rpool 卷,所以我不知道为什么 proxmox 决定将该 CT 迁移到那里。我如何在剩余的节点上启动该容器?具有 ZFS 池的服务器上存在相应的磁盘,我不能直接迁移到它。
以下是我当前集群状态和复制任务的屏幕截图。如您所见,复制仅在节点 proxmox-2 和 proxmox-3 之间进行,这两个节点具有 ZFS 存储。我所说的容器是 ID 为 105 的容器
答案1
容器的配置文件位于/etc/pve/nodes/NODE/lxc/*.conf
因此,当目标主机上已存在磁盘时,您可以通过简单地将配置文件从移动到来“移动”/etc/pve/nodes/SOURCENODE/lxc/105.conf
容器/etc/pve/nodes/TARGETNODE/lxc/105.conf