You're better off getting a single-board computer for this. You'll be able to install your own mSATA drive, and it'll run most distros without any fuss. That said, this quickly escalates to just set up a real NAS box. You don't really want to use an SSD for backup because they can lose data when not used. Alternatively, just go with a cloud provider.
As funnny as this is, i never really go the whole concept of a "real NAS box" - do people usually mean specialized hardware in combination with something like the FreeNAS OS?
Because right now i'm just using consumer hardware (an Athlon 200GE for its low 35W TDP, some cheapo RAM and a number of Seagate BarraCuda HDDs) in combination with Debian, which also runs on my other cloud servers. It's all mounted on my other devices either through SFTP or a Nextcloud instance that's also running on them for easier file replication. I don't even have RAID or ZFS/XFS/Btrfs file systems, just ext4 because any sort of clustering would introduce unneeded complexity to the setup - instead, a cron job with rsync backs the data from the "primary" HDDs to "secondary" ones every day in an incremental manner (well there's also BackupPC that does network rsync backups across servers).
What purpose would running a NAS oriented OS distro even serve, for simple uses cases like that? It feels like the current "ad hoc" setup is really affordable and easy to operate.
I think a SoC would also be nicely suited for this, as long as there is sufficient I/O capability. In regards to phones, however, i feel like drivers for obscure devices could probably become problematic quickly.
> Software RAID, to avoid data loss due to drive failure
Ok it's old but: raid is not backup.
I've personally worked for a small online shop that was selling digital items and shut down when their raid failed. Of course, they had ignored my warnings to build a mirror system or do copies on removable drives or ... anything resembling an actual backup.
Edit: that said, I do have a box that's pretty similar to what you're describing.
Yes, for actual backups I have M-DISC BluRays [0] which I keep in a fireproof box. They're limited in capacity compared to the full NAS, but big enough for really important stuff like photos and scanned documents (which conveniently are intrinsically write-once).
It probably depends on how much you need to store. But if you need ongoing backup that will get larger and larger then the answer is probably "No".
I back up my family photos and other important files to Amazon S3 using Restic. My 150GB of data ends up costing me about $1.50/month. I could get the price down lower if I use, say, the Infrequent Access storage tier, but at that price point I just can't be bothered to deal with it.
A free tier often isn't worth it if you have to put any time into thinking about whether you'll exceed the limit. I'd just go with a cheap pay-as-you-go service and not worry about it.
To me choosing a specialized hardware was motivated by these two factors:
- power management
- semi-closed source applications
On power management, I don't use the NAS box continuously, and there can be long gaps between accesses. Having the box "sleep" for 95% of the day, and wake up the disks only for one or two bursts of activity is interesting to me.
I tried doing that with DIY solutions, including Raspberry Pi+SATA disk type of arrangements. Overall it didn't work great and was a PITA.
On the semi-proprietary apps, I am thinking about Synology's apps. I could totally live without them, but it's a nice addition to the package, they're easy to install, seem to be well maintained and work decently well.
> Having the box "sleep" for 95% of the day, and wake up the disks only for one or two bursts of activity is interesting to me.
Have you really managed to get that to work? I got a QNAP TS-230 a few months ago hoping I could do just that, but it turns out that even this smallest NAS box they are offering isn't really designed with this "occasional use" in mind. There are so many user questions about this (https://www.qnap.com/en-us/how-to/faq/article/why-are-my-nas...) that they even built a half-baked utility that's supposed to give you a hint which process is preventing the drives from going into sleep mode, but it's not a great help. I have disabled all services (photo indexing with face recognition and other such crap) except for the most basic ones, but still the drives are happily chugging along, flashing their LED every few minutes, not spinning down. I know that it's basically a Linux computer, and there are probably utilities I can install to diagnose the issue better than with the above-mentioned software, but isn't this something that's supposed to work out of the box, or at least be easy for an average user to accomplish?!
I run relatively few stuff on it too, with no client that consistently access the shares though samba/nfs (I cluster the scripts that run automaticaly around the same range of time, and they unmount after they’re done).
I wonder if your system is not writing logs from a monitoring service (something checking your dynamic DNS, or waiting for remote connections, or pinging the internal servers to see if they’re alive).
I stopped most default services, including sync (it’s done more rarely via a user script instead), and yes, it can be a PITA to understand what’s running out of the box.
As someone who normally rolls their own and has a half dozen raspberry pis around the house, I have a Synology NAS.
As you said, it's very low energy and zero noise (rubber feet and quiet fan).
It's also effortless to set up and run with their RAID system and syncing etc is very good. It'll let me know if there is a problem with a drive, it keeps itself updated and I've never had to reboot it.
I do not use it for Plex as it wouldn't be able to handle it. They are a bit under powered but they're very optimised for their main purpose, Network Attached Storage, and that's the most important thing for me.
It is also very neat and tidy, unlike most home made solutions.
Would OpenMediaVault on a Raspberry Pi have met your RAID and sync needs?
I keep eyeing OMV but haven't splurged on running a NAS with multiply-redundant drives separate from my application server; currently it's just an RPi4 as a docker host, with rsync keeping two USB drives in sync with each other.
I’m obviously not very good at this, but my issue with OpenMediaVault was less the software side than finding hardware to reliably work with it.
For instance trying with an old low profile PC, wake on lan didn’t work half of the time so I gave up, and just let the drives sleep. But they would also fail to wake up sometimes.
All in all a NAS is not that expensive (I have one I bought for 400 or so, and it’s lasting for 15 years now…), so it’s hard to justify the endless tweaking of a solution that could work the same if done well.
BTW even with a commercial NAS , ssh access is configurable, major scripting languages are there, and recent ones have docker I think. For the really custom stuff, like you I use Raspberry Pis that mount the NAS files as needed.
yea, normies do just buy a ready-built nas appliance, if you know what you are doing or like to tinker, use old consumer hardware.
just one nitpick with your setup:
if your primary hdd corrupts, rsync will not notice/care and corrupt your backup as well. zfs is all the rage because it aims to have two sources for the data aswell as a checksum, so it can tell which data-source is flawed AND fix it.
That software solution sort of dances around the issue, because if any files were to become corrupted, i could just go back in time to their older versions, though that approach isn't necessarily good either - since that means having to store the original "full" backups for a long time and also takes up more storage, which i do for the essential data, but not the stuff that i'm willing to lose. And, since the data stored can be arbitrary and therefore checking for corruption would have to be done manually, there are serious drawbacks to that, in regards to even knowing when things have gone wrong.
Of course, there's also the possibility to use additional sources of redundancy, like versions within Nextcloud should the actual file contents of a particular version become corrupt, however for certain scenarios file systems like you've described indeed do become the way to go. Maybe not for every homelab out there, though.
yea, error correcting memory is a second step towards data integrity. but it is of little use if your at-rest storage has no means to detect errors (like normal filesystem or raid1).
> You don't really want to use an SSD for backup because they can lose data when not used
Not (really) true, there is not much hard data backing this up as I see it, and for what there is, the retention would be 1+ year. The thread is not about offline backups, but an always powered backup server anyway. And SSD does make sense for a lot of reasons: HDD speeds are likely slower than local CAT cable, the higher IOPS helps on parallel workload cases, not to mention the way lower power draw and zero noise (no moving parts for the rest of the setup), compared to a chirping HDD.