Complete Noob

Not only coming from Linux.

UFS is a fully sufficient, fast, reliable, sophisticated, pleasing, while at the same time easy to setup, easy to use, and easy to maintain filesystem. I run it on both my laptop drives, and I would never think of running ZFS on a RaspPi sd-card.

Besides I don't really get it, why some people use ZFS on single partition pools - snapshots, I know. But besides I doubt that justifys all the downsides you get with ZFS, which produces all its benefits on raid configs, and AFAIK UFS is also capable of doing snapshots, there are other ways, and backups have to be done anyway - I always recommend people to start on FreeBSD with UFS.

ZFS does provide better data recovery. A minimum of three copies of metadata are written to disk. Each block is checksummed with a hash. You will almost always know when your data is corrupt with ZFS. UFS and old-school filesystems like it don't do this.

UFS has recently (over the last five years) obtained the facility to checksum its metadata. But UFS offered by the other BSDs, Solaris and other legacy systems don't do this.

Plus under some circumstances UFS is even faster than ZFS.

ZFS simply needs some learning. Of course, it's a great FS. No question. I use it myself on several machines and pools for many years. But it's for sure no beginners FS. One simply needs some experience in FreeBSD itself, before you start on ZFS. Trying to start new on both FreeBSD and ZFS at the same time is almost guaranteed to fail.

ZFS is a different paradigm. It's volume manager and filesystem wrapped up in one.

While there is absolutely nothing wrong with UFS.
I don't get it.
I believe many people don't think much ahead, underestimate needed learning effort while overestimating their expertise.

That's like anything. Read this book.
 
UFS and old-school filesystems like it
An old-school filesystem for an old-school operating system: UNIX. I like to keep things simple on my home computer, so I choose UFS. I understand why others prefer, or even need ZFS. Neither can be considered superior to the other; it's a matter of preferences or requirements. :)
 
An old-school filesystem for an old-school operating system: UNIX. I like to keep things simple on my home computer, so I choose UFS. I understand why others prefer, or even need ZFS. Neither can be considered superior to the other; it's a matter of preferences or requirements. :)
Yeah.

All my systems here at home use both. They boot off UFS while ZFS is for data. The reason: I clone them rather than install them from scratch. For example, when I cloned my old laptop to my new laptop I simply had to change a few settings in rc.conf and some device names in fstab. Then for data I did a zpool attach to create a mirror to a partition on the new disk and zpool split to detach the mirror as its own pool. Finally remove the disk (ssd) from the enclosure and put it into the new machine. Boot, make some final adjustments and all may settings, ports, packages, and data are as they were on the old laptop. A job that might have taken days to set up installing ports and packages and copying data took a few hours during an evening. Most of which was done while I made dinner and cleaned up the kitchen.

I've done this for all my systems since my first FreeBSD (2.0.5). I also did this professionally when I worked on Solaris and Tru64 UNIX. I've yet to duplicate this on Linux because of LVM. The last time I did try it Linux, clone a Fedora system while converting rootfs from XFS to EXT4, resulted in the complete loss of all data. There is something to be said about the simplicity of booting off UFS while using ZFS for data.

I suppose a person could do something similar with a ZFS-only system.

UEFI does complicate things as the EFI partition also needs to be copied. Not specifically copied per se but when cloning from a traditional BIOS system to a UEFI system one must create the EFI partition by hand. Then play around with the UEFI BIOS to find the boot file. Certainly doable, done it twice.
 
Besides I don't really get it, why some people use ZFS on single partition pools - snapshots, I know.
ZFS allowed me to forget all about partitioning. What ZFS has instead of partitions - it's called datasets. They work just like partitions, except that I can adjust sizing, limits, etc. after the installation if I choose. Saved me a LOT of time trying to do the math and planning on how to lay out my disk. FreeBSD used to take hours to install. Now with help of ZFS, I can do a speedrun of installing FreeBSD in 10 minutes or less - all because I don't have to think about partitioning. Freakin' simple, if you ask me! 😤 Oh, and I get all the other benefits of ZFS that I did not even know existed!
 
better data recovery
Checksums
You're not helping my case here 🙃

My point in and for this thread was to make newbies not feel bad about chosing UFS, instead of underlining the benefits of ZFS, or even playing UFS down as some useless garbage.

I believe we all pretty agree ZFS needs additional learning. It ain't no beginner's filesystem.
So, I think it can be an additional burden for a newcomer never dealt with both before FreeBSD nor ZFS to get into FreeBSD, when he or she still lacks basic fundamentals in FreeBSD itself, and at the same time already tries to start with ZFS, especially when she/he experienced only turn-key OS before.
While UFS is a fully sufficient filesystem.
 
I have used linux for over 20 years & found the FreeBSD install much easier. I helped a relative try Void linux & Artix linux over the weekend. Both installed easy however when going to do the first software update both vm's had problems with dependancy conflicts & failed the update. I then setup a FreeBSD vm for him in about 20 minutes & he was shocked at how easy the system was to install, update & has XFCE & KDE installed so he can try them out. He is a FreeBSD convert.
 
I believe we all pretty agree ZFS needs additional learning.
That part, I agree with... it does have lots of interesting features, and can be extremely powerful if one bothers to learn it.

It ain't no beginner's filesystem.
I'd say it is - it was designed to relieve people of extra thinking efforts on how to do it right from get-go. Beginners can just accept the defaults, and mess around later if they choose. No other filesystem does that. with other filesystems, you have to think about what numbers to put in so that it gets installed correctly. Not with ZFS. That makes it a great system for beginners.
 
I'd say ZFS is 'easier' to use. No need for partitioning, formatting a filesystem, mounting, etc. It does all that through a couple of simple commands. Now, when you get to how it actually works, 'under the hood' as they say, then yes, ZFS is fairly complicated. It's a bit like a modern car, old car engines are relatively easy to take apart and understand how they work, modern car engines need a computer science degree to be able to make sense of it. Does that change how people operate a car or learn to drive? Not really.
 
No need for partitioning, formatting a filesystem, mounting, etc.
I disagree here "for partitioning", until swap to zvol and ESP on zvol becomes real. The latter would be almost impossible (even if it's possible, would be quite tricky, as ZFS needs to mimic partitioning scheme like GPT and MBR to make UEFI firmware to believe there is real ESP there.

And swap needs to work most efficientlly fine, especially on severe thrashing situations. (Non volatile, faster than DRAM [near SRAM], nearly as large as current flash SSDs and cheap enough memory would be the game changer, though. No swap would be needed. Just a dream currently.)

Still partitioning is mandatory unless not-always-good whole disk "non-boot" ZFS pools.
But limited within pools, I mostly agree with you.
 
But limited within pools, I mostly agree with you.
I was going for a standard FreeBSD install with ZFS vs. UFS. With a standard ZFS install it's really easy to add a new, separate, dataset/filesystem. If you have an UFS system you're going to need to re-do the partitioning (shrinking is not supported) which typically means a reinstall from scratch for most newbies.
 
You're not helping my case here 🙃

My point in and for this thread was to make newbies not feel bad about chosing UFS, instead of underlining the benefits of ZFS, or even playing UFS down as some useless garbage.

Who said that? I certainly didn't say that or even imply it.

I believe we all pretty agree ZFS needs additional learning. It ain't no beginner's filesystem.
So, I think it can be an additional burden for a newcomer never dealt with both before FreeBSD nor ZFS to get into FreeBSD, when he or she still lacks basic fundamentals in FreeBSD itself, and at the same time already tries to start with ZFS, especially when she/he experienced only turn-key OS before.
While UFS is a fully sufficient filesystem.
UFS is sufficient on its own like EXT4 is sufficient on its own. Just as Sun used VxVM and Disksuite, just as Linux and HP/UX use LVM, just as FreeBSD once had a VxVM clone, we now have ZFS. It solves problems that UFS alone cannot. If one has a situation where a filesystem alone does not suffice, where one needs a volume manager, where one needs a copy-on-write filesystem, we have ZFS. Please say there is no need for the useless ZFS garbage. We have two filesystems in FreeBSD for a purpose. Use the one that fills the need. Don't make this a religious thread.

Use the filesystem that fills your need. And this is coming from someone who uses both, and on some systems with both.

Nobody is dissing UFS. Please don't dis ZFS.
 
Still partitioning is mandatory unless not-always-good whole disk "non-boot" ZFS pools.
No, partitioning is no longer mandatory. That's what sold me on ZFS to begin with.

Just give the whole disk to ZFS, and play with datasets whenever you choose to later. You want a dataset to serve as swap space? ZFS can do that. Don't want the complexity right now? That's OK, just read the manual, and mess around whenever you're up for it, ZFS won't get in your way. 5 minutes to set up, no thinking involved, and all the features still available afterwards, even shrinking and expanding datasets.
 
Please don't dis ZFS.
I never did, and I never ment to. In contrary I said several times ZFS is great, while it is. No question. Apart from my laptop I also run ZFS myself, only. On my workstation and my NAS, of course.
And for sure I didn't want to start any UFS vs ZFS discussion, particulary not in this thread, and especially not on any religiuos bases.

All I wanted was just newbies do not need to feel bad to chose UFS for a start.
That's all.
 
I'd say ZFS is 'easier' to use. No need for partitioning, formatting a filesystem, mounting, etc. It does all that through a couple of simple commands. Now, when you get to how it actually works, 'under the hood' as they say, then yes, ZFS is fairly complicated. It's a bit like a modern car, old car engines are relatively easy to take apart and understand how they work, modern car engines need a computer science degree to be able to make sense of it. Does that change how people operate a car or learn to drive? Not really.

That modern car is nothing more than a computer with wheels on it. It gives a whole new meaning to blue screen of death. :D
 
Same here, as FreeBSD desktop user. ZFS for root system and permanent storage for whole disks.
For external disks, ZFS, UFS, NTFS, whatever I want or need.
It's just hiding partitioning from the admin by automating.

Actually, the Root-on-ZFS installation should have ESP (for UEFI) or freebsd-boot partition (for legacy BIOS boot), or even both to allow UEFI firmware to choose alongside with how it's configured. Just the admin installing does not need to do it by himself/herself. Possibly recommended size of swap partition could be automtically created, too.

But I'm not using installer media other than for using live CD mode, thus, don't actually know how current installer (bsdinstall) partitions. The last time I've used installer for installing, it was previous sysinstall and ZFS wasn't there (or at least not yet considered "production ready on FreeBSD").

On the other hand, if I understand correctly, data only disks for ZFS (including parts of ZRAID*) can be really not at all partitioned, full disk ZFS.
 
But I'm not using installer media other than for using live CD mode, thus, don't actually know how current installer (bsdinstall) partitions. The last time I've used installer for installing, it was previous sysinstall and ZFS wasn't there (or at least not yet considered "production ready on FreeBSD").
Auto (ZFS) did this on 15.0:
Code:
DEVICE         MAJ:MIN SIZE TYPE                                    LABEL MOUNT
nda0             0:86  954G GPT                                         - -
  nda0p1         0:88  260M efi                              gpt/efiboot0 /boot/efi
  nda0p2         0:90  2.0G freebsd-swap                 gpt/freebsd-swap SWAP
  nda0p3         0:92  952G freebsd-zfs                   gpt/freebsd-zfs <ZFS>
 
And what makes ZFS "looking difficult to use" may be because it's consisted with different concept.
This synonyms made me understand ZFS easier:
  • BSD slice in MBR drives = ZFS pool
  • BSD partitions in BSD slice = ZFS dataset
  • filesystem = dataset with required options (including inherited ones)
 
Auto (ZFS) did this on 15.0:

Code:
DEVICE         MAJ:MIN SIZE TYPE                                    LABEL MOUNT
nda0             0:86  954G GPT                                         - -
  nda0p1         0:88  260M efi                              gpt/efiboot0 /boot/efi
  nda0p2         0:90  2.0G freebsd-swap                 gpt/freebsd-swap SWAP
  nda0p3         0:92  952G freebsd-zfs                   gpt/freebsd-zfs <ZFS>
Yes. These are what are hidden by automation.
ZFS pool is created into nda0p3 in this example, not in the whole drive.
And Root-on-ZFS pool is automatically imported on boot (as it's mandatory to boot), so admins does not need attention in normal cases.
 
I did a large rsync recently and UFS seemed slower than ZFS (iostat UFS was around 80MB/s but ZFS 140MB/s+).

Could it be a formatting option? I wiped the drive and did this without a partition table:

Code:
newfs -L 'NAS' -O '2' -n -o 'time' '/dev/da0'
 
I did a large rsync recently and UFS seemed slower than ZFS (iostat UFS was around 80MB/s but ZFS 140MB/s+).

Could it be a formatting option? I wiped the drive and did this without a partition table:

Code:
newfs -L 'NAS' -O '2' -n -o 'time' '/dev/da0'
Possibly compression is affecting?

UFS "itself" doesn't have compression.
ZFS has several compression algo like lz4 and zstd (and more),
And if I recall correctly, ZFS defaults copression enabled with lz4.

This can cause the difference, especially the physical drives are slow "spinning rusts" and the CPUs handling each sides are NOT too slow.

If I recall correctly, current implementation of UFS uses cache as much as free memories allow but free "clean" parts of them quite quickly on memory pressures, than ZFS does (ZFS calls its disk cache as "arc").
 
And what makes ZFS "looking difficult to use" may be because it's consisted with different concept.
This synonyms made me understand ZFS easier:
  • BSD slice in MBR drives = ZFS pool
  • BSD partitions in BSD slice = ZFS dataset
  • filesystem = dataset with required options (including inherited ones)
The best part is that you can adjust the sizes of it all (Oh, and set min/max limits, too!) later, after the installation! FreeBSD merely suggests some sensible defaults, but you're not stuck with them if you use ZFS. With UFS, you do get stuck until you completely reinstall.

Small wonder I got sold on ZFS back in 2017!
 
Back
Top