For the average user workstation, is there a compelling reason to manually create partitions?

In years part, whether using FBSD or Linux, I usually installed the OS to partitions that I manually created, for a variety of reasons.

Since FreeBSD now uses the native ZFS on Root as the default install option, is there any compelling reason, for the average Joe user, to manually create partitions? In my case, it's my daily-driver workstation and not even a server. Thoughts?

If you ARE setting up a FreeBSD server, is there any reason or need in that instance why you might manually create partitions?

Thank you,
Ed
 
For me, the only use-case for manual partitioning is that I like being able to run different versions of FreeBSD on the same machine (example: 13.5, 14.3). So I still do that manual partitioning step.
 
Since the days are over to part very large drives into smaller pieces the filesystem can handle with its address range, apart from the partitions the system comes by default installation on the booting system's drive: swap, boot, efi, and /, there is no much sense in partitioning further anymore, unless you're going to use additionally different filesystems, e.g. for multibooting different OS, like having a NTFS partition for Windows, ext4 for Linux, or having a FAT32 partition for whatever else reason I cannot think of, or something like that, which on a server is very unlikely anyway.
So, no, I see no sense in doing partitioning.
What makes sense is to have separate pools on separate drives.
When using ZFS you don't think in partitions or drives anyway, but in pools.
It makes sense to have separate pools for different stuff, like to separate /home/ or other data on own pools separated from the system. It also makes sense to have own drives for pools. A ZFS pool consisting of more than one drive not only pools the storage of each drive to the pool, but above all brings redundancy against hardware failure. Having a separate pool for data also gives the possibility to move the whole pool to another machine, instead of copying everything between machines.

If I had to recommend a layout for a small to medium server I'd say use one small drive (128...256G) for the system. Default's efi, swap, boot, and / partition come by default installation on that drive, but don't create any extra partitions for /var/ and /usr/ - makes no sense. Maybe place /tmp/ with tmpfs into RAM.
Then add a couple of large, equal drives for the storage, like >=4 drives of >=1T capacity each. Create a raidz2 or raidz3 pool with them, and place /home/ and "/allmydata/" on it.

For a FreeBSD only workstation I'd say: one 256...512G NVME for the system, and a mirror pool of two 1T drives, containing /home.
 
My workstation

#zpool list

4 zpool, 4 drives
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
zarch 944G 463G 481G - - 15% 49% 1.00x ONLINE -
zbackup 1.81T 1.05T 784G - - 13% 57% 1.00x ONLINE -
zroot 928G 270G 658G - - 17% 29% 1.00x ONLINE -
zsafe 928G 8.57M 928G - - 2% 0% 1.00x ONLINE -

#gstat

dT: 1.001s w: 1.000s
L(q) ops/s r/s kBps ms/r w/s kBps ms/w %busy Name
0 0 0 0 0.000 0 0 0.000 0.0| ada0
0 0 0 0 0.000 0 0 0.000 0.0| ada1
0 0 0 0 0.000 0 0 0.000 0.0| nda0
0 0 0 0 0.000 0 0 0.000 0.0| nda1

# camcontrol devlist
<ST1000DM014-2UB10D 0001> at scbus0 target 0 lun 0 (pass0,ada0)
<ST2000DM001-1ER164 CC27> at scbus1 target 0 lun 0 (pass1,ada1)
<WD Blue SN580 1TB 281010WD> at scbus5 target 0 lun 1 (pass3,nda0)
<INTEL SSDPEKNW010T8 004C> at scbus6 target 0 lun 1 (pass4,nda1)

#gpart show -pl
=> 40 1953525088 nda0 GPT (932G)
=> 40 2000409184 nda1 GPT (954G)
=> 40 3907029088 ada1 GPT (1.8T)
=> 40 1953525088 ada0 GPT (932G)
 
So, no, I see no sense in doing partitioning.
My opinion, it depends.
If you are planning on ZFS, you will probably wind up with:
gpt partition for freebsd-boot or efi
gpt partition for swap
gpt partition for "freebsd-zfs"

That is drastically different than old UFS recommendations:
partition for /
partition for /var
partition for /home
partition for /usr

etc

and yes my opinion falls into your
efault's efi, swap, boot, and / partition come by default installation on that drive, but don't create any extra partitions for /var/ and /usr/. Maybe place /tmp/ with tmpfs into RAM.

so maybe we need to be careful with terms
 
GPT+ZFS has obviated the need for any partitioning scheme more complicated than "efi", "freebsd-swap", and "freebsd-zfs". the only systems we use partitions on are our openbsd routers, because its UFS doesn't have any journaling, so the fsck blast radius needs to be smaller.
 
Thank you for your opinions!

It *seems* like the consensus if you decide to manually partition is to create freebsd-boot/efi, swap and freebsd-zfs.

1.) What do you gain by manually partitioning in this, or any other, scenario?

2.) I have no idea how to attempt manually partitioning to achieve this type of scenario. Are there any good tutorials, etc., that you know of that might help me?

Thank you again,
Ed
 
My opinion, it depends.
If you are planning on ZFS, you will probably wind up with:
gpt partition for freebsd-boot or efi
gpt partition for swap
gpt partition for "freebsd-zfs"

That is drastically different than old UFS recommendations:
partition for /
partition for /var
partition for /home
partition for /usr

etc

and yes my opinion falls into your


so maybe we need to be careful with terms
Anyone his liking me,
cat /etc/fstab | grep SSD
Code:
SSD/usr              /usr                zfs         rw                              0   0
SSD/var              /var                zfs         rw                              0   0
So root os is ufs but all mountpoints are zfs ?
So why ? Booting ufs makes life easier , loader is friendly.
But in the end zfs with mirroring cache log special has also its place.
 
personally, we used the installer to set up the basics (creating a mirrored ZFS boot pool with the three GPT partitions on each NVMe disk), and then gpart commands to partition our spinning disks, and then zpool to assemble those into another ZFS pool.
 
Alain De Vos sometimes you make little sense to me.
Every case is different, everyone has their own needs.
If you are multi booting lots of different OS's your needs are different than someone with a single OS that wants BEs.

Booting UFS means you have a more difficult rollback than with booting ZFS.
Booting ZFS and the current BE is broken, reboot, pick a different BE from the loader.
Your UFS boot is broken and recovery is a lot more involved probably mandatory boot from Live media mount UFS partitions and an manually fix things.

ZFS boot into a working BE, then use bectl mount to fix the broken stuff.

Mixing UFS and ZFS is not a big deal but if you are talking about things during boot, you can really mess yourself up quickly.
 
For you i dont make sense. For me i do.
- First i had very difficulties about booting. I use grub. Then i said ufs is the most easy.
- Now my setup is 100% stable i boot from sticky USB with kernal. This mount SSD drive ufs internal as root.
This drive has mount point zfs for /usr /var mirrored witch cache log special device.For me this setup works just fine.
[Ooh have had bad grub experiences before with disk renumber , but now i am in the safe zone]
 
Back
Top