Hey all!
I heard that this forum is a great place to get help diving deeper down the Linux Server rabbit hole (of course, not exclusively), and would like to get some “experienced” input and understand a couple of concepts regarding BTRFS and how to plan ahead.
I will try to keep it short and to the point:
- I am building my first Server/NAS after dreaming about it for almost a decade now
- I am a programmer and quite familiar with Linux but less so with Server related parts (which will hopefully change in the near future!)
- The new Server will be used as a playground for some ‘server-y’ tasks and also as a NAS for my data.
So while I am waiting for my hardware to arrive (yes, I bought it in advance…) I am trying to make my final decision on how I want to configure it. And this is where we finally get to BTRFS. (Side note: I have used ZFS in the past with TrueNAS at work, though very briefly, but would like to go with BTRFS)
I have 3x 6TB hard drives that should be used for the “NAS” part and currently have another 3TB and 4TB hard drive flying around with my current data, which I don’t want to continue to use for the NAS.
I would like to be able to ‘lose’ a drive without losing any data. So, currently, I am looking at setting a BTRFS-managed RAID1 configuration. The RAID1C3 is a bit aggressive as I would really like to have enough space to copy the data from my old drives. But with the ability to add more devices in the future, what does the ‘classic’ BTRFS upgrade path look like? Let’s say that I get another 3x 6TB drives and add them to BTRFS. If two drives out of those 6 drives fail, I will lose all/some of my data, correct?
But that seems a bit weak, and I would assume that you would usually not use this configuration in practice.
With 6 drives, I would assume a good target would be two possible drive failures, but how would I set this up with BTRFS?
Or, more clearly, what resources or tools do you use to plan the future upgrade path of your BTRFS volumes?
How do you handle redundancy when adding/removing disks (even without the additional complexity of having differently sized HDDs)?
Creating multiple volumes (like with datasets in ZFS ?) is something I would really like to avoid since that is a very ‘messy’ solution, IMHO.
The reason why I am asking is that I do see a possibility that in the next 1/2 years to double/triple my storage needs, and would really like not to make a bad decision early on.
I am really looking forward to your feedback!
Even if you say that I should just read the BTRFS documentation more closely
Thanks!