我有一个具有三个节点的 HA proxmox 集群。
我在两个节点之间进行了复制。这两个节点中的每一个都有一个用于复制的 ZFS 池。我在这两个带有 ZFS for 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 的容器
容器的配置文件位于
/etc/pve/nodes/NODE/lxc/*.conf
因此,当目标主机上已经存在磁盘时,您可以通过简单地将配置文件从移动
/etc/pve/nodes/SOURCENODE/lxc/105.conf
到/etc/pve/nodes/TARGETNODE/lxc/105.conf