Advice needed for Datacenter Cluster ZFS storage with diferent zpools on nodes.

hafteto

New Member
Apr 13, 2025
2
1
3
Hello All,

I need some help on how to do it right.

I have two node PVE cluster where Proxmox root is installed on separate ssd with ex4 lvm and have diferent zpools for other disks:

zpool-nvme
zpool-nvme\local-nvme - this i datacenter storage local-nvme
zpool-hdd
zpool-hdd\local-hdd - this i datacenter storage local-hdd

The issue now is that i want to add one mini pc which have only 2xnvme.
Proxmox install on zfs create rpool which defer from my zpool-nvme. This cannot be changed during install. So i cannot use same datacenter storage on all nodes and replicate.

rpool
rpool/ROOT
rpool/ROOT/pve-1
rpool/data
rpool/var-lib-vz

How shoud all be set properly to match datacenter storage and in case other nodes are added to avoid such issues?

To reconfigure other nodes or there is a way to map rpool/data with zpool-nvme with same datacenter storage?

otpion is to reconfigure nodes but i want to avoid this part if possible

Options are all nodes to be converted with zpool export import like

rpool
rpool/nvme
rpool1
rpool1/hdd

Any advice is welcomed :-)
 
Last edited:
You can change the rpool and dataset names after the installation is complete. Roughly;
- Chang the name rpool and rpool/data in all config files. (find /etc -type f -exec grep -H 'rpool' {} \;)
- Run proxmox-boot-tool refresh to update the bootloader configurations.
- Reboot into rescue mode and use the shell to rename the zpool and dataset:
zpool import -f rpool zpool-nvme
zfs rename zpool-nvme/data zpool-nvme/local_nvme
zpool export zpool-nvme
- Reboot back into proxmox.

For more info and details see some previous topics:
 
Last edited:
  • Like
Reactions: UdoB
@daanw you saved my live :).

Posting below more details as steps if other are interested.

1. Edited files in bold as the rest was not required. GRUB applay changes to all of them automaticaly.

root@sf-pve01:~# find /etc -type f -exec grep -H 'rpool' {} \;
/etc/kernel/cmdline:root=ZFS=rpool/ROOT/pve-1 boot=zfs
/etc/default/grub.d/zfs.cfg:GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX root=ZFS=rpool/ROOT/pve-1 boot=zfs"
/etc/grub.d/20_linux_xen: rpool=`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2>/dev/null || true`
/etc/grub.d/20_linux_xen: LINUX_ROOT_DEVICE="ZFS=${rpool}${bootfs%/}"
/etc/grub.d/10_linux: rpool=`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2>/dev/null || true`
/etc/grub.d/10_linux: LINUX_ROOT_DEVICE="ZFS=${rpool}${bootfs%/}"
/etc/zfs/zfs-functions: # 'rpool 1' as 'rpool\0401' instead of 'rpool\00401'

2. proxmox-boot-tool refresh

3. Boot with Proxmox ISO USB / Advanced Options / Install Proxmox VE (Debug Mode)

4. zpool import -f rpool zpool-nvme

5. Reboot

Here i got error and proxmox booted at initramfs stating that cannot auto import zpool-hdd
From other topick in forum i fount the below. Not sure if it is rely needed or i missed someting during the hole process of renaming.

6. initramfs console
exit
/sbin/modprobe zfs
mkdir /zpool-hdd
zpool import -f -R /mypool zpool-hdd

Rebooted and all is up and running now.

Thanks all for help and crosing fingers this issue to be resolved at some point. Using dedicated disk for OS in modern mini PCs limited to 2x nvme is not a option.
 
  • Like
Reactions: daanw