HDD configuration for home server

Hello community,

I want to setup a new home server as my old one has a broken mainboard.
All parts are already there and I want to re-use my old disks.

The old one ran Linux with a ZFS mirror of two HDD.
But I also have left a SSD (MX500) with 480GB - only used for a few days in a laptop.

My general workload is running a few jails (re-installation of my old LXC containers) running stuff like Grafana, TimescaleDB, Mosquitto server and Gitea.
So nothing "heavy".
The main load would be the 3TB of data that needs to be handled and synchronized nightly to an offsite ZFS storage.
No streaming usecase like videos or music.
Also only a 1Gbit ethernet is attached to the server.
Around four clients are connected to make backups to the server and sometimes accessing shares.
Throughput of around 50-80MBytes/s in sum is more then enough.

So my question is:
Does it make sense to have the following configuration?
zpool1: one SSD for the base system + jails + TimescaleDB
zpool2: both HDD in mirror for the samba shares + snapshots from the zpool1
Reasoning behind would be that I would do the heavy writing (also many small chunks) on the SSD and keep the mostly huge chunks to the HDD.
Or is it better to place everything into the HDD mirror?


Thank you!
 
The OS and jails are easily reinstalled (document what you did!) in case of disk failure, so this could be put on the single drive. As for your data, you want to have some extra protection. You put the data on the mirror. Mirrors are not a substitute for backups of course but they do help mitigate the risk of dataloss if a drive dies (which they will eventually do).
 
OK, thank you!
Means to me I'll put the OS + jails on the SSD, do periodic snapshots + send / receive them regularly to my HDD pool.
The HDD pool then contains my personal data and backups.
 
That’s exactly what I do, plus syncoid to replicate snapshots to rsync.net.

Also I have a dataset on the HDD pool that I share via NFS so I can rsync backup from my Mac to NAS.
 
OK, thank you!
Means to me I'll put the OS + jails on the SSD, do periodic snapshots + send / receive them regularly to my HDD pool.
The HDD pool then contains my personal data and backups.

There's nothing technically wrong with your snapshot proposal.

However, please consider the outage duration, inconvenience, time, documentation, planning, and effort required to correctly re-install and configure the O/S and applications on the server and each of the jails, and then to restore the snaps, and then to figure out any post-snap deltas. It can be done, but you need to be organised, and testing the whole process is the only way to be confident that you have all bases covered.

A second Crucial MX500 is €39.59 from Amazon. For that modest price, why not mirror your O/S and jails as well?

I would also encourage you to review your backup strategy. To provide reasonable protection you need to have a strategy that gets your data safely away from the server, and very preferably, also off-site. Snaps sent to an external USB drive are often the easiest.
 
I second the notion to get a second SSD.

Although, if your HDs are big enough you could make the backup of root+jails bootable off the HDs. So if the SSD dies you have no downtime, you just boot from the HDs. This requires careful testing.
 
To expand on what SirDice said above: RAID (which includes mirroring) is mostly protection against disk failure. But it doesn't protect against software and wetware failure. What if one of your programs overwrites important files? What if your file system is broken? What if the administrator does "rm -Rf *" in the wrong directory? For that you need backups. Snapshots are a good technology to build backups onto, except for the fact that they then share the same file system implementation. If you want to be really safe, you first do backups to a separate storage system (for example to a third disk which is running FFS, or to a different system running Linux), and then put RAID in there to protect your life data.

The HDD pool then contains my personal data and backups.

So getting back to RAID: A mirror of two drives can only tolerate one fault. Imagine one of your disks dies (that's not an uncommon occurrence), you go buy a spare disk and install it. In the process of copying data onto the new disk, you discover that you had one sector error on the other disk. Oops, now you have data loss. With modern disk drives being very large, the probability of this scenario is actually not low. Matter-of-fact, about 15 years ago the CTO of NetApp (then one of the largest storage vendors) said that selling storage systems that can only tolerate a single fault is "professional malpractice".

I know that on the scale of an amateur system it's hard to provision enough disks, but a 2-way mirror is a bit light. If you could afford a third disk and run a 3-way mirror, I would be more comfortable sleeping at night.

Having said this: My server at home is nearly identical to yours: Two spinning HDD as a 2-way mirror for the data disk (using ZFS), and two SSDs for boot. The two SSDs are not actually a mirror, but I usually boot from the first one, and the second one is kept up-to-date by doing a binary copy nightly. Like this a full failure of the SSD just requires a little configuration in the BIOS, and my system loses 1 day worth of updates. Then I add to that backups that are kept off-site, and are typically 1-2 hours behind: If my data mirror pair dies (as I described above), it would take me multiple days to restore everything from backups, but it would be possible.
 
My home server consists of two mirrored 250GB WD Black 2.5" drives (I got a bunch really cheap when they were swapped out of desktop machines at work for SSDs) for the OS and program installation, then two mirrored 4TB WD Enterprise Gold drives for data. Backups of course are done. My use case is simple file sharing/storage, and video streaming to the house (rarely more than two going at a time). Works great, simple to setup.
 
If I were putting together a new system today, I would use 2 x NVMe SSDs mirror as my primary filesystem with 2 (or more) HDD for backups and archiving random reference stuff. Apart from much faster speeds newer SSDs such as Samsung 990 pro provide 600TBW / TB capacity with 5 year warranty. One can write over 300GB/day and it will still last 5 years.
 
Back
Top