ZFS replication with two nodes and different pool names

exp

Member
Jul 20, 2023
25
1
8
I have an existing cluster with two nodes and standard install, i.e., a single entry for local-zfs in storage.cfg with identical definition (ZFS pool/dataset named rpool/data on each node). Replication works without issue.

Now however, I have a new cluster where the pools are not called the same (and can't be called the same due to some legacy constraints).

Instead of naming them local-zfs, I just named them node1-zfs and node2-zfs for starters but this seems to break replication with the message:

Code:
(remote_prepare_local_job) storage 'local-zfs' is not available on node 'vicari'

I would love to name them local-zfs on both but storage.cfg is just a single file per cluster. I did this one where the only difference is "pool" and to avoid conflict, I explicitly use exclusive "nodes" in each definition:

Code:
zfspool: vicari-zfs
        pool zpvicari/sys/proxmox
        content rootdir,images
        nodes vicari
        sparse 1

zfspool: local-zfs
        pool zpradix1imain/sys/proxmox
        content images,rootdir
        nodes radix
        sparse 1

Now zfs-local shows up on one node but it is "disabled" with pvesm status on the other node.

Also when I want to migrate now I am getting:

Code:
(remote_prepare_local_job) storage 'local-zfs' is not available on node 'vicari'


Very frustrating.

I don't think it would be reasonable if proxmox would force me to use a specific name for a ZFS pool ... hence I think I must be doing something wrong.
 
pve-zsync allows to configure the target storage pool but it doesn't support HA: https://pve.proxmox.com/wiki/PVE-zsync

Regarding storage replication: To work it needs a zfs pool on both nodes, configured with the same storage id in /etc/pve/storage.cfg You don't need to name it the default from the installer (rpool) but the name needs to be identical. Why can't you rename one of the pools? "legacy-reasons" don't tell us exactly why you can't rename them.
 
Thank you! Didn't know about PVE-zsync.



Regarding storage replication: To work it needs a zfs pool on both nodes, configured with the same storage id in /etc/pve/storage.cfg You don't need to name it the default from the installer (rpool) but the name needs to be identical. Why can't you rename one of the pools? "legacy-reasons" don't tell us exactly why you can't rename them.


Yes, I would love to name it same on both hosts (local-zfs) but sadly this doesn't work except there is only one single entry which is identical for all nodes.

And why I can't (do not want) to rename them is actually OT but I still give it for some context: This is for a grown system (Debian) system which gets migrated to Proxmox. There are existing pools already which are used for other things besides proxmox. Lots of old scripts which reference the poolnames and no interest and rewriting all of these legacy scripts for no good reason.