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?
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?
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?
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?
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
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.