If you want to shrink root filesystem, this article was very helpful, when I moved root-FS pool to smaller disk on PVE node: https://aaronlauterer.com/blog/2021/proxmox-ve-migrate-to-smaller-root-disks/
In short, rpool
- pool that we move; sdb2
, sdb3
- EFI and ZFS partitions on the new drive:
proxmox-boot-tool format /dev/sdb2
proxmox-boot-tool init /dev/sdb2
zpool create rpool-new /dev/sdb3
zfs snapshot -r rpool@move
zfs send -R rpool@move | zfs receive -F rpool-new
zpool set bootfs=rpool-new/ROOT/pve-1 rpool-new
# boot to Proxmox ISO, enter Debug mode
# in first, initramfs prompt press Ctrl+D to exit
# in booted system prompt run:
zpool import rpool rpool-old -f
zpool import rpool-new rpool -f
zpool export rpool
zpool export rpool-old
reboot
# remove old drive(s), and run:
proxmox-boot-tool refresh
# it will complain about missing UUIDs in /etc/kernel/proxmox-boot-uuids
# remove those UUIDs from the file to suppress warnings
proxmox-boot-tool
- is the analog of grub-install
, update-grub
rpool/ROOT/pve-1
- is the root FS dataset on PVE