HAMMER2 questions

Chuck Musser cmusser at sonic.net
Mon Jan 27 23:53:16 PST 2020

I've run Dfly for several years now, but never paused to understand 
HAMMER2 (or for that matter, it's predecessor) very deeply. I've used 
undo(1) a few times, but haven't dug into concepts like clustering or 
even what exactly PFSes are used for. I have a feeling I'm missing out 
on interesting things. So I'm finally getting around to asking a 
scattershot bunch of questions. I'm using my simple one-disk setup as a 
starting point. Its df -h output is below:

Filesystem                     Size   Used  Avail Capacity  Mounted on
serno/5QE57G6D.s1d             193G  1054M   192G     1%    /
devfs                         1024B  1024B     0B   100%    /dev
/dev/serno/5QE57G6D.s1a       1022M   187M   753M    20%    /boot
/dev/serno/5QE57G6D.s1e at DATA  18.5G   123M  18.4G     1%    /build
/build/usr.obj                18.5G   123M  18.4G     1%    /usr/obj
/build/var.crash              18.5G   123M  18.4G     1%    /var/crash
/build/var.cache              18.5G   123M  18.4G     1%    /var/cache
/build/var.spool              18.5G   123M  18.4G     1%    /var/spool
/build/var.log                18.5G   123M  18.4G     1%    /var/log
/build/var.tmp                18.5G   123M  18.4G     1%    /var/tmp
tmpfs                          935M     0B   935M     0%    /tmp
procfs                        4096B  4096B     0B   100%    /proc
tmpfs                          935M     0B   935M     0%    /var/run/shm

1. What are are the three entries that begin with "serno" and why is the 
root slice not prefixed with /dev/ like the other two? What does
the nomenclature mean, specifically "5QE57G6D", "s1a" and "@DATA", for 

2. Are the subdirectories under /build each their own PFS? What do those 
do and why are they there? As an administrator, when would I want to 
create my own PFSes? I saw someone's example of creating a set of jails 
on a dedicated PFS, but I don't understand the implications of doing 

3. What are null mounts? It seems like that's how you mount PFSes, at 
least judging by the output of the mount(1) command.

4. What are clusters, in HAMMER2? Can I use them to create a big 
filesystem from storage on separate systems?

5. I think I recall hearing that the remote mirroring feature in HAMMER 
is not yet supported in HAMMER2. Is that status still accurate?

6. Although I have a feeling that RAID configuration is a lower level 
construct than HAMMER, what are the options? I did see that the 
natacontrol(8) is able to manage RAIDs, but If I happened to get my 
hands on NVMe storage, those might call for a different utility? There 
is a nvmectl, but it seems like it might be for a different purpose.



More information about the Users mailing list