If I had to use one and only one file system, there is only one choice. ZFS.
It’s robust with stability and has some amazing features.
And with that, I’d most likely use FreeBSD because it’s free and it has the
most mature implementation of ZFS outside of Oracle/Sun Solaris. ZFS on Linux isn’t as stable, and I hope that
Btrfs will will be ready for production.

zpool scrub

zpool import/export

pools can be moved to another system and imported

hard disks can be moved to another system

, usually during system boot/halt

I had multiple tanks, and wouldn’t load it without specifying id

zpool import tank #--> wouldn't work
zpool import 12152999....234 #--> works, to see id#, do zpool import
Also to mount it, sometimes it needs to be manually mounted
sudo zfs mount tank
Also, sometimes, I had to delete the folder /tank, as its existence
prevented zfs from mounting

zpool maintenance

Manually replace disk

zpool replace <old_vdev> <new_vdev>

Turn on/off devices, useful for testing or execute it just before replacing hard disk

zpool online <vdev>
zpool offline <vdev>

Add or remove devices from mirror

zpool attach ...
zpool detach

Destroy pool

zpool destroy tank

zpool properties

settings that can be set for each pool

zpool set key=value <pool>???

failmode: handles what happens when something goes wrong

Wait

Continue: continue even in errors

Panic

listsnapshots: if on, it could take long to list, as it needs to go through
all snapshots. Turn it off so that snapshots aren’t shown.

autoreplace: it should always be on! spare disk takes over in failure.