Hey guys. This is my second NAS box and want to test out Rockstor. I made some mistakes with my first NAS and want your honest opinion on my current setup.
AMD Phenom II triple core black edition. 2.8ghz or something
4GB ram non ECC (this worries me)
SSD sata boot drive.
6x4tb 2.5 inch Seagate backup plus drives (not very fast probably 5400rpm)
Zotac 890GX-A-E itx motherboard
450 watt silverstone micro psu
4x sata port controller pcie-1x
SilverStone CS01-HS NAS chassis.
My first NAS i built using openmediavault and went ZFS. but didn’t realize without ECC memory i was putting myself at risk. Consumer motherboards are really hard to get ECC support for. Its still running ok but nothing super critical is on there. I hope to upgrade the motherboard on that soon to get ECC.
With my 2nd NAS. i am using older AM3 which does support ECC just a matter of finding out if the motherboard will support it.
ZFS required 16GB of ECC memory for ZRAID 2. (equivilant to raid 6)
However BTRFS is not stable RAID 5/6 so if i go RAID 10 will i still need ECC memory?
Also Raid 5/6 is striped. is Raid 10 striped? would i get similar performance as RAID 5 with RAID 10 but with less space?
Also if Raid 5/6 ever gets stable in BTRFS do you know if it will be easy to switch from RAID 10 to RAID 5/6 when it is stable?
I’m running Rockstor on an old Asus M3A78-CM board with a Phenom II X4 940 BE installed.
It has been very reliable.
My system has 8 gigs of ram installed, non ECC.
But Rockstor will run fine in 2 Gigs if it needs to. I rarely see memory usage above 1 Gig, the rest is used for buffers / cache.
For RAID, I would avoid Raid 5/6 for now, and go with RAID 1 or 10. Raid10 is striped, and has given good performance on my system. Allthough today I run RAID1.
Conversion between different RAID levels is very easy. Tell Rockstor which RAID level you want to go to, and let it work (it takes time).
I have changed RAID level many times on my pool (RAID6 -> RAID5 -> RAID6 -> RAID1 -> RAID10 -> RAID1), and it has worked without any data loss.
Thanks for the reply.
So to sum up my concerns.
BTRFS in RAID 10 is not a memory hog like ZFS is in Zraid2 or 3.
Can easily convert to different RAID levels later (thats awesome)
Still concerned about lack of ECC. IF my memory module goes bad and i scrub the file system in BTFS i can still destroy my data like in ZFS correct?
What do you think is the recommended memory amount for my NAS? 8GB more than enough? should i try to get more?
I don’t know enough about ECC vs non-ECC regarding BTRFS to make a solid statement. I don’t think there is anything in BTRFS that prevents data degradation due to memory errors.
The rule of thumb is that if you store sensitive data on your NAS, use ECC. It minimizes the risks.
My NAS is mostly used for media storage (not that critical), so I take the chance of running with non ECC.
The system has been running more than a year now without producing any errors.
In my opinion 4Gb is more than enough. BTRFS is much lighter on memory than ZFS. I think you will be more than fine with 8Gb. But it all depends on usage.
I’m hoping someone else gives some input here, as these are only my experiences with one system. Others must have more experience.
So, typycally for a very long time there was a established metric that can be used as a “rule of thumb”:
Every 1GB of top of the range, produced to highest safety standards DRAM (dynamic ram, and DualDatarateRAM uses DynamicRAM for storing data) will produce a one (1) or more bit error per one (1) week of non stop operation.
so:
etx4 if lucky will use tens of MB of RAM, so error there will statistically show up every 100 weeks or more
ZFS that can use even 64GB of ram for it’s buffers can encounter 64 errors within a week in this memory (if it will use 64GB of course)
btrfs is very elastic BUT it can dynamically grow its buffers and on normal machine those are LARGER than ext4, so erro rate’s will be higher.
What enyone has to understand is that BTRFS for performace purposes keeps relevant B-Tree (full structure of file system alocation on the disk) in memory for performance purposes. So if you look for a file btrfs will quickly walk through this tree in ram and go after sectors on the disk without the delay.
There is a HUGE elephant in the room here - if this B-Tree will be hit by RAM error, there is no way for btrfs to know and it may get synced to the long term storage (hard disks, ssds, anything you user here) posibly resulting in WHOLE system corruption.
//-----sarcasm ON ---->>
in contrast if you have ZFS with 128GB ram buffer that is non ECC, statystically in good ram you will get 1 error per hour, and if it’s not a good ram (specially non registered “udimm”) than you can get error there every 15 minutes - that’s why insist so much on ECC
ever wondered your self how apple made first few generations of Iphone that could run stable for days, weeks, months while if you had a windows mobile phone it was crashing every day or so ? they used ECC ram and never told anyone … it’s not even part of wiki … but if you stripp it you will see that the used dices that were 72bit wide for 64bit wide memory alocation - this extra 8 bit is your ecc.
//—sarcasm OFF—>>