High Storage Capacity NAS - Hardware recommendations and advice

Hello All!

I run my own business where I data process large quantities of videos and my requirements for storage is rapidly expanding + as my system grows the need of a centralised storage is a must.

I’d like to start with maybe 8 - 14TB to begin with and then slowly expand up to maybe 50 - 60TB.

I’m pretty new to this stuff but I’ve done abit of research about NAS systems, but as storage is larger than that of a typical NAS it would be great for some opinions on how to go about it.

I saw this video from LinusTechTips on NAS builds.

So at the moment I am thinking of getting a standard PC case with about 8 bays, put a LSI Raid card in
(video recommends this: New LSI Internal SAS SATA 9211-8i 6Gbps 8 Ports HBA PCI-E RAID Controller Card | eBay) and then to start with put a 8TB HDD along with maybe 1 or 2 3TB HDDs that I currently own. As the card can apparently handle 8 HDDs, the max capacity theoretically could be 8x8 which is 64TB total.

I will be storing data feeds to the NAS which will reach around 100MB/s. So can I just use a gigabit switch like this to connect PCs to the NAS?
https://www.amazon.co.uk/TP-LINK-TL-SG1024D-24-Port-Rackmount-Unmanaged/dp/B003UWXFM0/ref=sr_1_10?ie=UTF8&qid=1475444036&sr=8-10&keywords=gigabit+switch

Is this a good idea? What do you guys recommend in terms of processor, RAM, mobo ect?

Thank you!

Theoretically a Gigabit switch will provide 125MB/s transfer speed, but in reality you'll get around 100-110 in a best-case scenario. Any internet usage etc can negatively affect that speed, of course.


Regarding the amount of storage, with 8x 8TB you can theoretically get 64TB indeed, but you'd be putting the drives in RAID0 then. If any one drive fails in that scenario, all the data of the entire RAID array will be lost.

ZFS is great for error correction/protection, but it has some overhead. It's impossible to tell how much before you actually build the array. Drive configuration can affect it, and even identical setups can somehow end up having different amounts of overhead. In my own NAS that ended up being 4TB. With that and the 2 parity drives, my 32TB of raw hard drive space (8x 4TB) left me with 19.9TB of effective storage.

If you're going to use 8TB drives, it takes a very long time for the array to resilver (repair itself) when you insert a new drive after a drive failure. Because the drives get worked real hard during that resilvering period, the chance of a second drive failing is a lot bigger. That's why it's generally advised to use RAIDZ3 when using such large drives. Yes, that means that out of your 8 HDDs, 3 will be for parity data only.
With RAIDZ3, your 64TB worth of drives would give you 40TB ... minus whatever the ZFS overhead ends up being. You could end up having 38GB, but it may just as well be 32.
Sure, you could go RAIDZ2, RAIDZ1 or even RAID0 to get more storage, but keep in mind that the less parity you have, the bigger the risk of losing everything.

Oh, and seeing as you need the data on a professional basis, you're really going to want to consider some form of backup as well. So make sure you have at least as much storage space on external drives as you are using on the NAS.


I'm not sure how much you read up on the LSI cards, but those can be flashed to either be a RAID card or an HBA. For Freenas you'll want it to be an HBA (aka "IT mode") so the OS itself can configure the software RAID setup.
If you will be using a Windows-based NAS, it's usually the norm to have the card in RAID mode because Windows is nowhere near good enough to do proper 8-drive software RAID.


I went more or less the same route for my own NAS (8 drives in a tower case, LSI card), albeit less hard drive space.
I didn't bother starting small. I had about 10TB worth of data and predicted that it could grow to 15-20 in the next 10 years, so I went with 8x 4TB drives in a RAIDZ2 setup (2 drives parity) for a theoretical 24TB. As I said earlier, I ended up with 19.9TB.

Specs :

Case : Fractal Design Define R5 -> 8x 3.5" HDD bays with rubber mounts, 2x 2.5" tray on the back of the motherboard, 2x 5.25" bay for possible expansion
Motherboard : Intel Server S1200V3RPS
CPU : Intel Core i3-4170 -> ECC compatible, although with hindsight I could have gotten a Xeon and had a lot more power for less money
RAM : 16GB (2x 8GB) Kingston ValueRAM ECC DDR3-1333 -> With the raw storage, I really should up that to 32GB sometime.
HBA : LSI 9211-8i flashed to IT mode, controlling all 8 HDDs via a pair of "SAS to 4x SATA" cables

Drive-wise, I went with :
8x Western Digital Red 4TB in RAIDZ2
2x Crucial MX200 256GB in mirrored (RAID1) configuration.
1x PNY 16GB USB drive (for the FreeNAS OS itself)


Nevermind the cooler, it's complete overkill for a NAS.

On mine the HDDs are used for mass storage. Movies, series, music, Windows and Linux iso files, etc.
The SSDs are for my regular data. personal and work-related documents, photos, etc.
Seeing as the LSI card can only handle 8 drives total, I connected the SSDs to 2 of the motherboard's own SATA ports.

This setup uses around 50W on idle, close to 100W during sustained writing.

2 Likes

How about looking into Gluster, Ceph, etc?

You can scale it up and also out as you need more storage.

Hi M_C,

Tek Enterprise channel has some great storage info on BTRFS, ZFS, RAID and the like.

I've only this weekend built my first FreeNAS setup and like you and Cap'nChaos, it's built for long-term 50+ TB storage.
I've gone for ZFS and done a quick and dirty simple table to define the kind of space you'll have for each size of HDD over a number of drives. The last two columns are the size after RAIDZ2s two-drive failure limit and RAIDZ3s three-drive failure limit.

I've gone for the 6TB RAIDZ2 10+2 myself, so eventually I'll have approx. 55 TB of storage.

My specs are pretty much the same as Tek Syndicate's NAS from https://www.youtube.com/watch?v=GrUs2QMF1ns and the specs here: https://teksyndicate.com/videos/our-new-nas-build-40-tb-64-gb-ecc-ram

I went for a relatively off-brand cheap case with 12xHDD space, 64GB of Crucial 16GB DDR3-1600 ECC UDIMM VLPs, as only other alternative was £50+ extra per 16GB stick, and 4xToshiba X300 6TB 128MB Cache HDDs (cheapest 6 TBs I've found).

So far I'm still on the burn-in tests for the HDDs, got about 10.2 TB usable space after RAIDZ2 - which is a factor to consider carefully. I went with ZFS due to the duplication capabilities as well as the general healthier state of the data under this NAS when compared to others. At least currently.

I know that SSDs can be used to cache the writes to the drives, which may help to speed up the overall transfer to the NAS, as well as offering a bit more data integrity I think, like ECC RAM. I'm pretty much a newbie in this regard, my second foray into NASes, the first being an off-the-shelf unit.

I know Linus @ Linus Tech Tips has done videos on gaining greater speeds over networks, for their requirements.
(Search for "Quadruple Your Network Speed for $100 with SMB 3.0 Multichannel"and "10x Your Network Speed... On a Budget!") They're not a universal panacea unfortunately.

Firstly, thank you for all the replies. I'll pop questions at the bottom

The connection to the NAS will be entirely offline. So I think I'll be okay with a gigabit switch
As for the Raid setting, I was thinking of going for RAID5/Z. My data is deleted every 30 days, so in the unlikely event of a HDD breaking, having one backup should cover 99% of issues occurring with storage damage.

As for write speeds, maybe I need to consider getting some SSD space as CACHE memory which will significantly increase the write speeds attainable?

@NX2L I think having one centralised system will make my life much easier in the long run

@Sarandraith - The teksyndicate NAS build has lots of RAM and processing power for virtualisation ect, I'm just going to be storing data > rendering the files using a workstation > storing the rendered videos on the NAS. Raid5 does keep cropping up, I think it is perfect for my sistuation.

Questions:
Turns out seagate does 10TB HDDs, so what raid configuration would you recommend if I start with a 10TB HDD + 2x 3TB HDD? I think maybe I could go for RAID0 then when I've got maybe 3 10TB HDDs maybe I can move to RAID5.

If I run out of space, is it possible to just build another NAS and add it to the network? - I'm considering getting a better LSI card that can deal with maybe 12 HDDs

Processor + RAM recommendations for a NAS that is purely used for storage that can deal with write speeds of maybe 100MB/s

Should I consider using SSDs as CACHE?

Thank you!

Hi @mountain_cabbage

The TS and my own config has such a large amount of RAM due to ZFS requiring a 1 GB per 1 TB of storage management system, for things like hashing the data for bit rot comparisons, duplication checks and the like, as it's a software RAID rather than hardware RAID. I'm pretty new to it all, but https://en.wikipedia.org/wiki/ZFS covers it very well.

The problem with using large drives is the time it takes to replace them if/when there's an error, so the best practice is generally to have a larger array of smaller drives, to compensate for such contingencies. Of course, against such judgement I've gone for 6TB drives!

RAID 5 is such a case I think, of the rebuild time potentially leading to further disks failing, as say with 10 TB disks with 5 in RAID 5, one breaks and the remaining four are all being read to rebuild the striping for the replacement, leading to potentially another in the chain breaking. That type of RAID doesn't have much fault-tolerance for losing more than one disk. It's one of the reasons why I liked ZFS so much, even though the OS and file system are quite foreign to me. RAIDZ2 allows for 2 disks to break before losing data; so when one fails and it's being rebuilt, if another fails I've got a greater chance of recovering without another failing.

RAID 6/RAIDZ2 in your case for larger drives, may be a better way to go as it's double distributed parity, allowing up to two failed drives. RAIDZ3 is relatively new and was implemented for larger HDDs, like 6-10TB upwards and allows 3 drives to fail, for the long times it takes to replace them in the RAID.

What you could do is build two NAS systems and have them sync the data between each other, so you have a failover state for your storage and some tolerance for one system failing but business operations continuing with the other system whilst you rebuild/repair the faulty one. You can have as many as you want/have the resources to implement and support.

Cache drives also promote data integrity as well as write speeds to the NAS, as it effectively caches the user data and then writes it within the storage. Depending upon how much data you're expecting to be written to the NAS and the overhead of losing native drive ports/PCIE slots for NVME or M.2 drives, it a use-specific case I think.

Please excuse the all-over-the-place replies to your questions and thoughts.

Are the 10 TB and 2x3TB HDDs to be configured together in the RAID or are the 2x3TBs for O/S and/or other systems RAID?
Say all HDDs as storage, performance and no fault-tolerance due to sync'd backup and 30 day limit - yes RAID 0 would do fine. Although if the data is critical within that 30 day limit, I'd run pre-production tests and have a pre-production pilot month, to highlight any issues. Once that's done, I'd still run regular tests to ensure that the whole system worked throughout those 30 days or build in some data recovery for the potential breakdown of both systems.
RAID 5 for 3x10TB and 2x3TB HDDs would be better overall from the outset, imo, but certainly it works within your desired future system.

Remember RAID cards can be a point of failure too and they don't necessarily deal well with bit rot, although the lifetime of your data storage needs is quite short that this shouldn't be too much of an issue. I'd be more concerned with the quality of the HDDs and the likely mileage they'll be racking up over the months due to the filling and purging of data.

Multi-core CPUs are best regardless, ECC RAM is a recommendation although more essential for certain NAS OSes - which is where the specs diverge somewhat based upon needs.

Non-ECC RAM and Buffered/Registered ECC RAM is more prevalent and cheaper, so it depends upon the Motherboard specs as to limits and types required. For most I think 8 GB RAM is sufficient, but ZFS-based require 1GB per 1TB of storage ratio of RAM. More RAM generally helps with whatever you're doing, but 8 GB should be sufficient for your needs. The reason I've gone for full-on RAM in my build is due to the lack of choice for RAM for my choice of M/B; luckily I found the Crucial sticks rather than the only other option, saving myself spending more. Ideally it's better to ramp up the specs as requirements change, but I don't mind the initial outlay knowing that I'm covered from here on in RAM-wise!

I did research several types of CPU, M/Bs, etc., but I have to admit I liked the native 12-SATA drives of the ASRock C2750 Intel Avaton Mini-ITX Motherboard than most other Xeon-based Motherboards.

  • ASRock C2750 Intel Avaton Motherboard
  • 64GB ECC RAM - (4x) Crucial 16GB DDR3-1600 ECC UDIMM VLP
  • Toshiba X300 6TB 128MB Cache HDD - (4x)
  • CiT 2206 Case
  • Cooler Master V650 PSU

Oh and for the 24-Port Gigabit switch - if you're likely to have that many users feeding data to your NAS, you may want to have a managed switch to control that throughput. Maybe someone with better networking chops than I can offer better advice regarding that. I've got an unmanaged Netgear 8-Port Gigabit switch at home, that suits my setup fine.

To be honest for my application I don't think I even need that much safety, as the files are kept for 30 days. I've just seen that toshiba does 3TB HDDs now for about 70 pounds, which is pretty ridiculous. So I'm thinking of starting out with maybe 7 3TB HDDs, so 21TB. Makes sense to use Raid 5/Z.

I've been doing some more research since I last posted and it appears I can potentially go an alternative route where I use freeNAS and just plug HDDs direcetly into the mobo. Is there an advantage/disadvantage to this? Also does anyone know if I can use more than one LSI card? (In case I want to expand to maybe 16 3TB HDDs.

Build is set to go ahead at the end of this month!

I'll definitely go for ECC, so you're suggesting that I have at least 21GB of ram if I'm going to have 21TB to start with?

As for the gigabit switch, ill upgrade to a faster one if I ever get near the 100MB limit.

Thanks for the replies so far!

Hi @mountain_cabbage,

I'm using FreeNAS exactly the way you describe; direct motherboard SATA connection (12 with ASROCK all-in-one). From my perspective it was a good starter NAS, 12 drives being good for a good while yet and all enclosed in one system.

Downside is only one PCI so LSI cards would be limited to one. But yes you can add them in as long as it's switched to IT mode, as ZFS requires direct connection to the drives and the built in RAID would bugger it up.

As to advantages/disadvantages of LSI over direct m/b, I'm not really sure in general. I know ZFS is built to directly interface with the drives and LSI has in built RAID controllers that interfere with that and effectively cause the LSI board to lie about what's happening on the drives to ZFS defeating the whole reason for using it. I guess LSI RAID is certainly better than Windows and most software RAID systems, but I'm not sure it's the best hardware RAID available by a long shot.

As long as the motherboard you choose and the cpus can support the PCI lanes, you can have as many as you like. Really do look around and research what you can afford. I do favour maxing out the RAM, even though it's not reaching parity as of yet with storage. A lot of the data transfers can be stored in the RAM to maximise speeds too.

So with 21TBs of storage, I'd recommend putting 32GB of RAM in. See earlier in the post for my motherboard of choice, which has four ram slots - say 4 sticks of 8GB. I've maxed mine out to the 64GB limit already, to give me faster and hopefully cheaper upgrades in the future.
[EDITED to fix memory size and add in LSI info]

[EDITED to include further info link on LSI and FreeNAS] https://forums.freenas.org/index.php?threads/confused-about-that-lsi-card-join-the-crowd.11901/