steveroch-rs
Dabbler
- Joined
- Feb 26, 2020
- Messages
- 36
Hi I'm Steve,
and I am planning a FreeNAS system as a central data storage for everything I do at home.
Reading every single official and unofficial hardware guide and learning literally everything about OpenZFS I become increasingly confused what the best hardware for my use case is...
To clarify let me tell you my requirements:
I really really enjoy the simplicity of running services in Docker. It's just like "Yeah I want this, I need that, run it, done". Therefore I plan on using a powerful Docker host to run my services especially those which require databases. My network will be monitored with Zabbix, I want to host a website inside a Docker container, maybe have an application database for a cool battleships game I plan to develop with an Android app.
All of those require different DBMSs, mainly MySQL, PostgreSQL and MariaDB which is why I want to run them containerized as well.
To achieve that I want to mount my FreeNAS on the docker host and then pass that mount point as a volume into the containers.
Thank you for reading this far, really!!
Now that you know my requirements here's what I got planned so far:
My inital plan was to use a 12-bay 3.5" HP Proliant DL380pG8 server with an initial config of 6 6TB WD Red (Pro) drives in RAIDZ2.
Then I read here (ZFS Pool Performance) that RAIDZ2 has abyssmal IOPs performance, so I looked into using a 6x 2way mirror with 3TB drives which should yield pretty great average performane in seq./rand. reads and writes at the cost of losing 50% of my raw capacity.
Later I thought "Hey why fix myself on 3.5" drives?! I could use 2.5" drives and and buy the 25-bay version of the DL380, right?!". This would give me way more flexibility with storage meaning I could start off with 2x 5-drive RAIDZ2s and adding the 3rd, 4th and 5th RAIDZ2 later as I need more space. This won't fix the IOPs problem with RAIDZ2 but it is expandable.
There's just this giant questionmark left in my head and that is running 25 drives in close proximity... I am a little scared that running 25 normal WD Red 2.5" drives will kill my system due to vibration. I know their 3.5" Red Pros are rated up to 16 drives but there are no "Pro" 2.5" ones.
So my first real question is, how much of a concern is this really for a average moderate usage home-user??? I really don't mind losing those movies or music because they will be backed up anyway or just reripped. The databases will be backed up as well to an external mini-NAS.
I read from one guy who said you could theoretically dampen the drives' vibrations with some rubber or sponge but I know this is more a hack than it is a solution. What do you think?
What are your recommendations to tackle the IOPs problem? Use a SLOG + L2ARC?
I really have no estimate on how many IOPs a database whose application is just accessed by 1 user needs. Maybe the 500-1000IOPs of the pool is enough, I have no idea :(
The system will have at least 64GB of RAM and can be quickly and cheaply expanded to 128GB. Is there even a need for an L2ARC then? I mean the biggest files I handle are 40GB large.
For now this is everything I wanted to ask and have clarified.
Here's the TL;DR:
Thank you again for reading this far! Here's the end ;-)
I think this could be useful for future first time builders like myself trying to choose the correct hardware.
Have a great day and stay healthy!
Steve
and I am planning a FreeNAS system as a central data storage for everything I do at home.
Reading every single official and unofficial hardware guide and learning literally everything about OpenZFS I become increasingly confused what the best hardware for my use case is...
To clarify let me tell you my requirements:
- Plex Server with ~6-12TB of movies, shows, music (high sequential reads)
- GitLab Server (don't think high performance matters here)
- Sonarr, Radarr and the like (occasional high sequential writes)
- Nextcloud Server (mostly seq. read, sometimes write; little files)
- iSCSI storage for Proxmox VMs and LXC containers (read this is IOPs intensive)
- NFS, SMB, AFP shares for me and my family's PCs (mixed workload I think?!)
- Database storage (mostly random reads/writes very IOPs intensive?!)
- Clients will connect via 1GbE each (my machines will get 10Gb SFP+ cards some time -> 10Gbit NIC for FreeNAS box)
- total usable storage should be around 20TB
I really really enjoy the simplicity of running services in Docker. It's just like "Yeah I want this, I need that, run it, done". Therefore I plan on using a powerful Docker host to run my services especially those which require databases. My network will be monitored with Zabbix, I want to host a website inside a Docker container, maybe have an application database for a cool battleships game I plan to develop with an Android app.
All of those require different DBMSs, mainly MySQL, PostgreSQL and MariaDB which is why I want to run them containerized as well.
To achieve that I want to mount my FreeNAS on the docker host and then pass that mount point as a volume into the containers.
Thank you for reading this far, really!!
Now that you know my requirements here's what I got planned so far:
My inital plan was to use a 12-bay 3.5" HP Proliant DL380pG8 server with an initial config of 6 6TB WD Red (Pro) drives in RAIDZ2.
Then I read here (ZFS Pool Performance) that RAIDZ2 has abyssmal IOPs performance, so I looked into using a 6x 2way mirror with 3TB drives which should yield pretty great average performane in seq./rand. reads and writes at the cost of losing 50% of my raw capacity.
Later I thought "Hey why fix myself on 3.5" drives?! I could use 2.5" drives and and buy the 25-bay version of the DL380, right?!". This would give me way more flexibility with storage meaning I could start off with 2x 5-drive RAIDZ2s and adding the 3rd, 4th and 5th RAIDZ2 later as I need more space. This won't fix the IOPs problem with RAIDZ2 but it is expandable.
There's just this giant questionmark left in my head and that is running 25 drives in close proximity... I am a little scared that running 25 normal WD Red 2.5" drives will kill my system due to vibration. I know their 3.5" Red Pros are rated up to 16 drives but there are no "Pro" 2.5" ones.
So my first real question is, how much of a concern is this really for a average moderate usage home-user??? I really don't mind losing those movies or music because they will be backed up anyway or just reripped. The databases will be backed up as well to an external mini-NAS.
I read from one guy who said you could theoretically dampen the drives' vibrations with some rubber or sponge but I know this is more a hack than it is a solution. What do you think?
What are your recommendations to tackle the IOPs problem? Use a SLOG + L2ARC?
I really have no estimate on how many IOPs a database whose application is just accessed by 1 user needs. Maybe the 500-1000IOPs of the pool is enough, I have no idea :(
The system will have at least 64GB of RAM and can be quickly and cheaply expanded to 128GB. Is there even a need for an L2ARC then? I mean the biggest files I handle are 40GB large.
For now this is everything I wanted to ask and have clarified.
Here's the TL;DR:
- 64-128GB RAM system with 24-32 Threads, 10Gbit NIC, max. 25TB storage, Xeon E5-24xxx series CPU
- very mixed workload mostly random/sequential reads and occasional writes
- streaming, databases, content storage (photos, movies, music)
- accessed mainly by me alone, family and friends just stream content and access Nextcloud
- RAIDZ2 or Mirror
- 12 3.5" 3TB drives or 25 2.5" 2TB drives
- vibration concerns?! use rubber?
Thank you again for reading this far! Here's the end ;-)
I think this could be useful for future first time builders like myself trying to choose the correct hardware.
Have a great day and stay healthy!
Steve
Last edited: