I'm a proxmox newbie and relatively new to
really using linux as well. I just did my first real fresh install of PVE a couple of days ago and in the process of looking around I noticed that I seemed to have the same exact issue as the original poster here (
@mstefan) described: my second ZFS pool was failing to import,
but it was still showing as ONLINE!
This was having the effect that it was showing a failed status on the
zfs-import@POOLNAME.service, and this in turn was making my overall system state (by running "systemctl status" with no service name) display as "degraded".
I think I may have a couple of clues as to what may be going on. After reading a bunch of threads, articles, and documentation, I reached the conclusion that since the second pool is already in the cache file and there is another service named "zfs-import-cache.service", this means that "
zfs-import@POOLNAME.service" is redundant and should not exist. The zfs-import-cache.service should already be importing all pools that are listed in the cache file, so when
zfs-import@POOLNAME.service tries to import the second pool again, it fails because it had already been imported by zfs-import-cache.service. Notice how there is no
zfs-import@rpool.service for the root pool.
This would explain why removing the second pool from the cache file, placing it in another cache file, and removing the symlink all seem to resolve the issue. In my case, I tested this with a "systemctl disable
zfs-import@POOLNAME.service" and reboot. This also worked.
Finally, I looked around the Web GUI and retraced my steps in setting up this pool. I had first gone to pve -> disks -> zfs -> create: zfs to create the pool, but then I also went to datacenter -> storage -> add -> zfs and added my new pool in there as well. I need to read the actual correct procedure for this to see if I did something wrong but I'm out of time at the moment. For now I removed my pool from the storage list and this removed the
zfs-import@POOLNAME.service from the list of services.