Page 1 of 2

zpool not mounting...

PostPosted: Thu May 27, 2021 8:20 pm
by erll
i recently updated Open ZFS on OS X to version 2.0.1 on a system running macOS 11.2.3. i exported my zpool prior to the upgrade, but now after the upgrade i can't get the zpool to mount. the zpool does not show up as an option when using the "import" command but is listed as online after using the "list" command and the "status" command reports that there are no known data errors. what did i do wrong and, more importantly, how do i fix it?

Re: zpool not mounting...

PostPosted: Thu May 27, 2021 11:22 pm
by lundman
Sounds like it is working then? It's imported and status is OK.
Is it mounted? "zfs mount" and "mount" commands

Re: zpool not mounting...

PostPosted: Fri May 28, 2021 8:32 am
by erll
thank you for responding!

no, the pool isn't mounted. running the "zfs mount" command (i.e., sudo zfs mount [pool name]) results in an "internal error: out of memory" warning.

Re: zpool not mounting...

PostPosted: Fri May 28, 2021 7:58 pm
by lundman
Can you also make sure you are running the correct "zpool". As in "which zpool", and "zpool version"

Re: zpool not mounting...

PostPosted: Sat May 29, 2021 4:54 am
by 0xdeadbeef
Just had the same problem after upgrading my machine (still on Catalina) from 1.9.4 to 2.0.1. The log files and noticed that in org.openzfsonosx.zed.err it was complaining:
Code: Select all
ZFS Event Daemon 2.0.1-1 (PID 3626)
Failed to initialize libzfs
Ignoring "zed.rc": not executable by user
Registered zedlet "zvol.remove.sh"
Registered zedlet "vdev_clear-led.sh"
Registered zedlet "history_event-zfs-list-cacher.sh"
Registered zedlet "data-notify.sh"
Registered zedlet "all-syslog.sh"
Registered zedlet "zvol.create.sh"
Registered zedlet "pool_import-led.sh"
Registered zedlet "scrub_finish-notify.sh"
Registered zedlet "resilver_finish-notify.sh"
Registered zedlet "vdev_attach-led.sh"
Registered zedlet "snapshot_unmount.sh"
Registered zedlet "statechange-notify.sh"
Registered zedlet "resilver_finish-start-scrub.sh"
Registered zedlet "statechange-led.sh"
Registered zedlet "snapshot_mount.sh"
Ignoring "zed-functions.sh": not executable by user


And indeed, both scripts in /etc/zfs/zed.d don't have the execute bit set:
Code: Select all
total 20
lrwxr-xr-x  1 root  wheel     46 May 29 14:32 all-syslog.sh@ -> /usr/local/zfs/libexec/zfs/zed.d/all-syslog.sh
lrwxr-xr-x  1 root  wheel     47 May 29 14:32 data-notify.sh@ -> /usr/local/zfs/libexec/zfs/zed.d/data-notify.sh
lrwxr-xr-x  1 root  wheel     65 May 29 14:32 history_event-zfs-list-cacher.sh@ -> /usr/local/zfs/libexec/zfs/zed.d/history_event-zfs-list-cacher.sh
lrwxr-xr-x  1 root  wheel     51 May 29 14:32 pool_import-led.sh@ -> /usr/local/zfs/libexec/zfs/zed.d/pool_import-led.sh
lrwxr-xr-x  1 root  wheel     58 May 29 14:32 resilver_finish-notify.sh@ -> /usr/local/zfs/libexec/zfs/zed.d/resilver_finish-notify.sh
lrwxr-xr-x  1 root  wheel     63 May 29 14:32 resilver_finish-start-scrub.sh@ -> /usr/local/zfs/libexec/zfs/zed.d/resilver_finish-start-scrub.sh
lrwxr-xr-x  1 root  wheel     55 May 29 14:32 scrub_finish-notify.sh@ -> /usr/local/zfs/libexec/zfs/zed.d/scrub_finish-notify.sh
lrwxr-xr-x  1 root  wheel     50 May 29 14:32 snapshot_mount.sh@ -> /usr/local/zfs/libexec/zfs/zed.d/snapshot_mount.sh
lrwxr-xr-x  1 root  wheel     52 May 29 14:32 snapshot_unmount.sh@ -> /usr/local/zfs/libexec/zfs/zed.d/snapshot_unmount.sh
lrwxr-xr-x  1 root  wheel     51 May 29 14:32 statechange-led.sh@ -> /usr/local/zfs/libexec/zfs/zed.d/statechange-led.sh
lrwxr-xr-x  1 root  wheel     54 May 29 14:32 statechange-notify.sh@ -> /usr/local/zfs/libexec/zfs/zed.d/statechange-notify.sh
lrwxr-xr-x  1 root  wheel     51 May 29 14:32 vdev_attach-led.sh@ -> /usr/local/zfs/libexec/zfs/zed.d/vdev_attach-led.sh
lrwxr-xr-x  1 root  wheel     50 May 29 14:32 vdev_clear-led.sh@ -> /usr/local/zfs/libexec/zfs/zed.d/vdev_clear-led.sh
-rw-r--r--  1 root  wheel  14320 May 26 11:41 zed-functions.sh
-rw-------  1 root  wheel   3590 May 26 11:41 zed.rc
lrwxr-xr-x  1 root  wheel     47 May 29 14:32 zvol.create.sh@ -> /usr/local/zfs/libexec/zfs/zed.d/zvol.create.sh
lrwxr-xr-x  1 root  wheel     47 May 29 14:32 zvol.remove.sh@ -> /usr/local/zfs/libexec/zfs/zed.d/zvol.remove.sh


Adding the execute bit to both fixes that:
Code: Select all
chmod 0755 zed-functions.sh
chmod 0700 zed.rc


Seems the .pkg's need to be rerolled.

Re: zpool not mounting...

PostPosted: Sat May 29, 2021 6:21 am
by erll
i'm not sure what you mean by "which zpool" exactly... are you asking whether or not i am including "sudo" as part of the command? if so, yes. if not, can you explain how i would find that info, please?

as for "zpool version," running "zpool --version" reports "zfs-macOS-2.0.1-1" and "zfs-kmod-macOS-2.0.0-2g0197ddc9c5-dirty."

Re: zpool not mounting...

PostPosted: Sat May 29, 2021 8:58 am
by erll
also, running "zpool upgrade -v" reports that zpool version is 28...

Re: zpool not mounting...

PostPosted: Sat May 29, 2021 3:17 pm
by lundman
"zfs-macOS-2.0.1-1" and "zfs-kmod-macOS-2.0.0-2g0197ddc9c5-dirty."

You have a version mismatch.

"which zpool" is literal. Ie,
# which ls
/usr/bin/ls

Re: zpool not mounting...

PostPosted: Tue Jun 01, 2021 9:02 am
by erll
sorry for the delay in responding... i spent the weekend moving!

the "which zpool" command reports "/usr/local/zfs/bin/zpool"

how does one go about addressing mismatches?

thanks again for your time and patience!

Re: zpool not mounting...

PostPosted: Wed Jun 02, 2021 1:11 am
by lundman
It's the kernel side that is older, so you may want to make sure zfs.kext is gone, even after a reboot