File System with integrity check for single disk ( maby ZFS or not ? )

Hello everyone,

ather recently watching the video RAID: Obsolete? New Tech BTRFS/ZFS and "traditional" RAID i am now more aware of the problem with bit rod ...

I now have the following situation :
I need to runa "vault / archive" server storing old data and sharing them vie smb. So far so good.
The server needs to run in a virtual machine (with the VMs store on Raid 5) ! I can not change this.
My question now is what file system to choose ?
I wan't a filesystem like ZFS, that ist dooing integrity check on my data. The problem here is, that the virtual machine will only have 1 logical volume. With ZFS the problem is, that it is not recommended to run this on a single drive, because if the meta data get currupted all data is lost.

My question now is, can i still go on using ZFS with some tweeks or is there another reliable filesystem i can choose, which is dooing integrity check preventing my data from getting corrupted

So the problem that you face with only a single volume if something is corrupted, the best a filesystem can do is tell you its corrupted.

ZFS will do that for you. Btrfs should be fine too (just stay away from raid 5/6 people!)

I agree with @croquagei. That said, I would lean towards btrfs because ZFS is ram heavy. Btrfs is stable enough that as long as you're not using RAID5/6, you'll be fine.


You should NEVER be using RAID 5 and probably not RAID 6 :-)

Btrfs is pretty good, but it's due for a major rewrite (and as croquagei mentioned, there are limits to the usage proposed by the devs themselves, read up on those before using it for certain things). So if long terms retro-compatibility is one of your goals, ZFS will be a better choice than BTRFS, just because of the code rewrites that are still te be expected in btrfs in the following two years or so. But that's really stretching paranoia though, in open source, usually retro-compatibility is always a very high priority, but you never know...

On a different note, sometimes it really pays off to take a step back and review your entire storage situation and build it up from scratch with the goal of future expansion. Network attached storage comes natural to *nix operating systems, and has huge benefits in many ways.

1 Like

Ehhh, it depends on the drive size. If you've got 500GB drives, raid5 is fine.

I wouldn't even think of using RAID 5 on anything above 300gb SAS drives. I've spent too much time trying to get arrays back online to even think of it but if it works for you go for it.

would XFS be applicable for this kind of application? ZFS has a lot of overhead that you're not really going to need I wouldn't think.

not even once. Talk to your kids about FSF not-made-here syndrome, before Stallman else does.

@SurtursRevenge You'll find that the single-drive problem on ZFS is common to virtually every filesystem, even ones that are only capable of running on one physical volume.

I'd say there's no benefit to running ZFS over something like ext4 on a single drive anyway, the whole point of raid aware filesystems is redundancy and high availability, which are necessarily precluded by single drive solutions.

This is a fairly old thread so the OP has probably solved it, but if you are working with a VM there is no reason you cannot mount two virtual disks and create a ZFS mirror. In essence you will store two copies of your data on the hosts RAID array.

I did not solved it rigth now. Im still looking for a good solution.
Of course i could use two different virtual disks, but this would consume to much space..

But mabey I need to get another Storage and then have ZFS direct Drive Access

The ZFS RAM requirement increases with the number/size of the drives. Surely with only a single drive the RAM requirement would not be insurmountable.

IIRC, the last time I tinkered with a FreeBSD server, the recommendation was 1GB of RAM per TB of storage. Obviously I could be (and frequently am) wrong, so @Revenge should verify this for himself.

1gb/Tb is on the really, really safe side, it assumes a minimum number of drives and that you want maximum throughput from them

1 Like