BTRFS vs XFS (Main Array) | (Any BTRFS Experts?)


File System Choice for Main Array  

431 members have voted

You do not have permission to vote in this poll, or see the poll results. Please sign in or register to vote in this poll.

Recommended Posts

I've been agonizing over this choice for weeks, unable to pick between the 2 file systems for my main array (I'm already decided on going dual raid 1e for ssd cache/light vms). 

 

I have found general answers for many of the questions I have about the choice but there are still ones that just don't seem to be answered that I kinda want to know the answers to, hopefully definitively.

 

What questions do I have?

 

  1. When a file is corrupted with a BTRFS system, is it unable to be transferred? I feel like I have read something similar to this a few times with there being an error, but also that there might be a way to get around it if for instance, you don't have another good copy of the file, like if it is unsafe or between backups. Is anyone familiar with this experience with perhaps a link to some sort of relevant resource on the topic specifically?
  2. I've read multiple times that BTRFS doesnt have a working FSCK. Apparently though, this isn't actually a problem because it has a replacement in btrfs-check. Is my understanding there more or less correct?
  3. While it can detect errors due to checksumming, it does not have a method of fixing these errors in unraid, specifically because unraid is using it on singular disks inside of the unraid array so those features would not be feasible. Luckily, from what I can tell, BTRFS has a method for relatively easily figuring out which errors were found so that a use can potentially restore the file from backups. Is there any problem with the assertions I've just made?
  4. The write hole issues with BTRFS mostly come into play with sudden ungraceful shutdowns due to a lack of proper atomicity. Also, its now really just a concern for the Raid 5/6 implementations that Unraid does not use in favour of the proprietary Unraid solution. Is this correct (this is one that seems really important and related to the first question I asked)?

    I'm sure that having a UPS (Which I do have) helps, but even still, ungraceful shutdowns can happen for many ungraceful reasons
  5. Why should I/Shouldnt I use BTRFS (something I'll answer a bit myself)?

 


 

OK, so why do I care about BTRFS and what benefits will it potentially bring to me to warrant all the fuss and agonizing about the choice.

 

The main things are:

  • Data integrity - I at least know when a file is bad, even though I may not be able to fix it/will have to get a copy.
  • Snapshots - Something to aid in protecting me from user error once set up, something I feel is a bit lacking in general.

 

Both of these points have large asterisks as well of course.

 

For data integrity, or at least more data integrity rather than less. I'm not even running ECC, and quite frankly, if the data integrity of a regular pc has been good enough for me so far, I probably don't have data that is so susceptible to corruption that I would notice a flipped bit or 2. The data im storing is mostly media, and some backups of other systems anyways. On top of that and as I've read (I think on this forum) a likely place for data corruption to come from on a modern system is ram, so while this data integrity feature is a nice thing to have, it may not be all that I hope that it is, at least unless I in the future decide to upgrade to ECC.

 

For Snapshots, as far as I can tell, this will take a lot of time and effort to figure out how to set up correctly (I'm no fan of running someone else's long script unless I've read through it and understand fully what its doing, and even then, Id prefer knowing how to make my own rather than simply trusting my assumptions). This is why if I'm honest with myself, this feature would sit unused until hopefully, at some point in the future, Unraid natively supported snapshots.

 

OK, that was a lot, and I know posting too much leads to people being uninterested in answering, so Il stop right there, but hopefully I've included enough detail, and evidence that I've put in the leg work that my questions will get answered and I can worry not.

 

Oh, and also, here is a previous post with my specs roughly, if anyone feels they are relevant to my post

 


 

TL:DR; I basically have 4 questions that have been holding me off from configuring my new server related to BTRFS.

 

Thanks in advance.

 

Edited by NasOnABudget
Added more attractive title
  • Like 2
Link to comment

XFS "just works" its an old FS but its been around a long time.. it's pretty resistant to being corrupted from being turned off or a disk on its way out.

BTRFS is newer it seems pretty stable, but when things go wrong the repair utils seem to be what lets it down.

 

I've tried using BTRFS, always run into some kind of issue and end up back at XFS not just on Unraid other systems as well.
It was not that great on my laptop.

There is no real performance advantage when using XFS vs BTRFS, the snapshot stuff is nice to have. but if you want that i'd more go to ZFS on Unraid.

 

If you want to keep it simple XFS, Dual Parity, if file corruption is of concern then run Dynamix File Integrity.

Thats the cheapest way to get the most space with protection and stablity.

 

I would go the whole hog of ZFS if you want the Protection and Snapshots with great utils to repair the filesystem in the event of an issue, but you will be bound to the rules of ZFS Pool system.

You can load the ZFS Plugin in Unraid and off you go, Youtube ZFS Unraid and you will see a few videos on how to set it up.

 

Link to comment
5 minutes ago, Maticks said:

XFS "just works" its an old FS but its been around a long time.. it's pretty resistant to being corrupted from being turned off or a disk on its way out.

BTRFS is newer it seems pretty stable, but when things go wrong the repair utils seem to be what lets it down.

 

I've tried using BTRFS, always run into some kind of issue and end up back at XFS not just on Unraid other systems as well.
It was not that great on my laptop.

There is no real performance advantage when using XFS vs BTRFS, the snapshot stuff is nice to have. but if you want that i'd more go to ZFS on Unraid.

 

If you want to keep it simple XFS, Dual Parity, if file corruption is of concern then run Dynamix File Integrity.

Thats the cheapest way to get the most space with protection and stablity.

 

I would go the whole hog of ZFS if you want the Protection and Snapshots with great utils to repair the filesystem in the event of an issue, but you will be bound to the rules of ZFS Pool system.

You can load the ZFS Plugin in Unraid and off you go, Youtube ZFS Unraid and you will see a few videos on how to set it up.

 

The reason I leave off ZFS, is that would require a couple thousand, whereas the reason I went with unraid was because I mostly had the drives id be using (and its inflexibility in general). I'll probably be buying some more drives soon to have a proper offline local backup, but yea, basically unraid, due to my not needing performance, but having a lot of differently sized drives is sort of the option, plus I've already bought it and it seems more turn key than ZFS. I'll definitely revisit it in a few years though.

 

I'll look more into Dynamix File Integrity though, but I generally think I would prefer to avoid relying on third party plugins due to how that usually works with updates and because its people donating time that they may or may not have in the future to keep them up to date.

Link to comment
21 minutes ago, NasOnABudget said:

When a file is corrupted with a BTRFS system, is it unable to be transferred?

Yes, same a zfs, you get an i/o error during transfer/read, if you still want the corrupt file you can use btrfs restore.

 

23 minutes ago, NasOnABudget said:

I've read multiple times that BTRFS doesnt have a working FSCK

It is limited in what it can fix and needs to be used with care, though it's getting better all the time.

 

24 minutes ago, NasOnABudget said:

While it can detect errors due to checksumming, it does not have a method of fixing these errors in unraid, specifically because unraid is using it on singular disks inside of the unraid array so those features would not be feasible.

It can only fix errors when using a redundant profile, on the array devices it can only detected errors and you need to replace the file from a backup, again same as zfs.

 

26 minutes ago, NasOnABudget said:

Is this correct (this is one that seems really important and related to the first question I asked)?

Yes, write hole only affects raid5/6, and it's not much of an issue if you use raid1/c3 for metadata for any raid5/6 pool like recommended.

 

 

 

 

  • Like 1
Link to comment
19 hours ago, Maticks said:

I've tried using BTRFS, always run into some kind of issue and end up back at XFS not just on Unraid other systems as well.
It was not that great on my laptop.

 

I forgot to ask here, what issues did you have

 

I feel like I've seen a bunch of people talk about issues, but rarely is it elaborated on. 

Edited by NasOnABudget
Link to comment
  • 1 year later...

My answer, XFS.  Why?

  1. It is the official Unraid recommendation (and since I know near nothing about the technical details, this is vitally important to my decision).
  2. XFS's better recovery is more important than BTRFS builtin checksum/scrubs (preventing the need for a recovery).

If this does change, please let me know.  I do prefer the concept of BTRFS:

  • Built-in automatic checksum metadata.
  • Potential future advantages that Unraid may adopt.
  • Portable (not dependent on proprietary platforms or 3rd party checksum utilities).

 

Though I do wonder since Synology's Hybrid Raid uses BTRFS, then perhaps BTFRS's reliability is on par with XFS.

 

Notes:

My system is for photos and video, not professional use.  Keeping my data safe, easily recoverable, prevention, and idiot proof, is very important.

Edited by Jaybau
  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.