Hello, I have had a pool of two hard drives in a mirror pool for some time but the OS got corrupted and I reinstalled the OS. Now I am on Linux Mint and my pool does not appear any more. When I use zpool import it says no pool available to import, I have looked around online and found you can import a zpool by specifying the drives, so I used zpool import -f -d /dev/sda1 -f -d /dev/sdb1 internal I get back my pool
pool: internal state: ONLINE scan: scrub repaired 0B in 00:08:39 with 0 errors on Tue Jun 18 18:38:40 2024 config:
NAME STATE READ WRITE CKSUM
internal ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
sdb ONLINE 0 0 0
sda ONLINE 0 0 0
errors: No known data errors
But I am unable to mount the pool, zfs mount internal returns
cannot mount ‘internal’: legacy mountpoint use mount(8) to mount this filesystem
I tried using mount but I am not having any success, saying mount: internal: can’t fin in /etc/fstab.
Is there any chance to get this pool back on the computer or is it a lost cause.
Thank you for the help.
I learned it accidentally trying to get root on an encrypted dataset working with systemd init without sd-zfs. This turns out to be how the
zfs
utility works internally to signal the driver “hey it’s okay, I’m a ZFS utility the user isn’t using mount directly”, and how you deal with mounting your root dataset to the temporary/sysroot
while having its mountpoint set to/
while in initramfs before pivoting root.Obviously, don’t use that other than recovering your data, if you want to use this array you should figure out the mountpoints properly so ZFS does it automatically. It shouldn’t break anything but it’s gross, either set
mointpoint=legacy
and use fstab or set its mountpoint in ZFS and usezfs mount
.