Table of Contents

pool not imported after boot

journalctl -b | grep zfs
 
Created slice system-zfs\x2dimport.slice - Slice /system/zfs-import.
systemd-udev-settle.service is deprecated. Please fix zfs-import-scan.service, zfs-import-cache.service not to pull it in.
Starting zfs-import@backup.service - Import ZFS pool backup...
Finished zfs-import@backup.service - Import ZFS pool backup.
Starting zfs-import-cache.service - Import ZFS pools by cache file...
zfs-import-scan.service - Import ZFS pools by device scanning was skipped because of an unmet condition check (ConditionFileNotEmpty=!/etc/zfs/zpool.cache).
Finished zfs-import-cache.service - Import ZFS pools by cache file.
Reached target zfs-import.target - ZFS pool import target.
Starting zfs-mount.service - Mount ZFS filesystems...
Starting zfs-volume-wait.service - Wait for ZFS Volume (zvol) links in /dev...
Finished zfs-volume-wait.service - Wait for ZFS Volume (zvol) links in /dev.
Reached target zfs-volumes.target - ZFS volumes are ready.
Finished zfs-mount.service - Mount ZFS filesystems.

Solution:

systemctl enable zfs-import@backup2

Not working solution 1

Add rootdelay=20 to /etc/default/grub and regenerate grub config:

proxmox-boot-tool refresh

not working solution 2

Force pools to use /etc/zfs/zpool.cache file:

zpool import backup2
zpool set cachefile=/etc/zfs/zpool.cache backup
zpool set cachefile=/etc/zfs/zpool.cache backup2
 
zpool get cachefile
 
update-initramfs -k all -u
reboot