Some ZFS questions

Andrea Venturoli ml at
Mon Apr 17 18:41:56 UTC 2017


I'm a novice to ZFS and right now I'm conducting some experiments on 
10.3. I've got some questions which might be obvious or FAQs, but I can 
assure I looked for an afternoon and found no answer.

I first installed from the USB image and choose Auto-ZFS options when 
the installer came to partitioning.
The install was succesful and "zfs list" would show something like the 
following (please note this is not an exact copy & paste, since I 
destroyed that install in the meantime):

> zroot                781M  93.2G   144K  none
> zroot/ROOT           777M  93.2G   144K  none
> zroot/ROOT/default   777M  93.2G   777M  /
> zroot/tmp            176K  93.2G   176K  /tmp
> zroot/usr            616K  93.2G   144K  /usr
> zroot/usr/home       184K  93.2G   184K  /usr/home
> zroot/usr/ports      144K  93.2G   144K  /usr/ports
> zroot/usr/src        144K  93.2G   144K  /usr/src
> zroot/var           1.20M  93.2G   608K  /var
> zroot/var/crash      148K  93.2G   148K  /var/crash
> zroot/var/log        178K  93.2G   178K  /var/log
> zroot/var/mail       144K  93.2G   144K  /var/mail
> zroot/var/tmp        152K  93.2G   152K  /var/tmp

What puzzles me is "zroot/ROOT": why do we need that? Why do we mount 
"zroot/ROOT/default" as root instead of simply mounting "zroot" at /?

Possibly related... the first thing I wanted to try is how I would deal 
with big troubles.
So I booted again from the USB key, went into live mode and tried 
mounting the installed system.

"zpool import -R /mnt zroot" would complain that /mnt is readonly, so I 
would end up with zroot mounted on /mnt, but /mnt appearing empty and no 
other ZFS filesystem mounted.

I tried creating /var/mnt (which is r/w) and issued "zpool import -R 
/var/mnt zroot". No error is displayed, but in /var/mnt I only found the 
mount points (i.e. /tmp, /usr, /usr/home, etc...), but no file!!!

I tried several other ways (like zpool import -N, then using zfs import 
or mount -t zfs), but none worked properly.

Something was achieved by "zpool import -N zroot ; mount -t zfs 
zroot/ROOT/default /var/mnt": however I could then see *everything* 
under /var/mnt/, including the content of /usr, /var, etc... which did 
NOT show as mounted! So I fear writing to this filesystems this way 
could create a mess. Was I right? Was this ok?

How should I mount the main system from an emergency live image?

So I redid the install, loosely following

This times I manually created the following structure:
> #zfs list
> zroot		...	/
> zroot/usr	...	/usr
> zroot/var	...	/var

In fact, from a Live USB key, I can now simply issue "zpool import -R 
/mnt/ -f zroot" and I'll see all of my filesystems on /mnt.

Anything wrong with this setup?

I lost the ability to boot via UEFI this way. I've been happily using 
legacy BIOS in all my boxes until now. Would this be a problem? Is UEFI 
that better?

Lastly: I "restore"d an existing UFS-based system's dump on this box. I 
was using ezjail there, obviously configured for not using ZFS.
Is there any howto for converting ezjail? Or would I do better leaving 
it as it is?

  bye & Thanks

More information about the freebsd-questions mailing list