Due to issues with USB Flash Drives and the like, I’d like to ask for recommendations on a NAS Setup. Right now, the drives will be storing mostly media (videos, images) and text data. It won’t be accessed too much, and latency won’t really be an issue. What I want in the setup is the ability to swap the hard drives myself if need be, but I also don’t really want to have a whole computer dedicated to it. Using a Raspberry Pi (or anything like it) is a bit out of my league, because I am not good with handling fragile things like that, and I’m not very handy with making my own enclosures out of things lying around my house. I live in a Subsidized Apartment, so I can’t really do anything to the walls. The walls are plaster/drywall anyway, so nothing really sticks to them.
I don’t have any old PCs lying around either. So recommending I get one, would require having me buy one via eBay or the like. As for what kind of RAID setup I would want, I probably want RAID 1 with two drives. One drive will back up to the other one. I don’t really know how to do this myself on a computer, as I’ve never once used RAID Settings before. The drives can be mechanical, as I won’t really be running anything from them.
I use a X86 PC as a NAS built from parts I had lying around from years ago. No-frills BIOS boot, Fedora Server 40, and vsftpd for FTP (notes). I have a small SSD for Fedora and a dedicated drive for NAS. Prior to setting it up myself, I used OpenMediaVault instead of Fedora Server.
If I was involving RAID, I’d do it software (I think mdadm). I imagine that’s standard across Linux distros and Arch Wiki would probably detail that nicely.
For drives or hardware, thrift stores can have PCs and hardware in electronics. I ran servers off of a few Optiplex I got for like $20 each Even a laptop can be used likely with USB-to-SATA adapters (or esata if lucky). Also Pi; it’s just a regular Linux distro, some file sharing method, and wires to connect disk drives to it, but I wouldn’t trust USB-to-SATA adapters for long-term NAS.
I had a Seagate Personal NAS 2-bay that did RAID1 out the box that was kind of cool, but wasn’t helpful with trying to read data off the drives connected outside the NAS. Ended up installing Debian to it for a bit which also wiped out Seagate’s RAID set-up. As cool as that was, I’m fine with setting up mainstream distros on regular hardware as long as it includes vsftpd.
The Synology NAS enclosures work really well, if you don’t object to the price then you can’t really go wrong with them. They have a simple webinterface for management and they integrate well with most linux networks.
The cheaper DS223J listed on that page will probably more than suffice for your needs, it’s about $100 less than the DS224+.
For something more plug-and-play, some routers have ports that will allow you to connect cheaper USB/eSATA drive enclosures to your network.
Personally, I’d probably want to put the storage on the network at the block level (i.e. SAN, not NAS) so that I could mount a Linux-native filesystem (ZFS, Btrfs, XFS, etc.) rather than having to use protocols like SMB or NFS which impose limits on filenames that can be used or lack support for xattrs, inotify, etc. I might opt for something like AoE if I could find the hardware for it and it was reasonably cheap:
If you had a spare computer (which, I understand, you said you didn’t), NBD would probably be a better way to make a mini-SAN.
I guess the moral of the story is that there are lots of ways to do it, each with their trade-offs.
I specifically want a router pre-loaded with OpenWRT like this company does. Because I’m too afraid to do it myself on other routers, considering my reputation for homebrewing bricking.
The Synology Enclosures support ext4 and brtfs internally.
It looks like you might be able to get a cheaper USB external drive enclosure and plug that into your router to put the storage on the network.
Yes, but it doesn’t matter what the internal storage is formatted with when you export it over a protocol like Samba or NFS. It is the protocol that is incapable of passing or handling the more advanced filesystem features, even if the underlying filesystem can handle it. (e.g., you won’t be able to create a subvolume or create a snapshot on Btrfs if you are accessing it over the SMB protocol.)
Considering I don’t know what a subvolume is or use brtfs, I don’t really need those advanced features. I pretty much only need it for file storage and retreival for when I want them on my computer.
Yeah, for your case, you probably wouldn’t want to export the storage at the block level then (AoE or NBD). A high-level protocol such as SMB, NFS, or FTP would probably work better for you. Another advantage of the higher-level protocols is that they can be accessed/mounted simultaneously from multiple devices. That isn’t (trivially) possible when working with block-level storage.
Since I already have a USB Enclosure from ages ago when I was transferring my Laptop’s SATA SSD to my new computers, I can use that to test it on the new router when I get it in a couple months. If it works, then I can just buy a mechanical HDD enclosure like you said @glb
P.S. If you decide later that you do want to do something like sending incremental Btrfs snapshots to your external storage (e.g. for backups), it looks like you might have the option of (re)configuring your OpenWRT router to do that as well:
I don’t see why not. Many of those USB HDD enclosures support hardware RAID. Alternatively, it looks like software RAID (mdadm) can be installed in OpenWRT. If NBD is used, then software RAID could be implemented on the client system.
If the enclosure supports hardware RAID then i guess it’s basically a full ARM board just like a Synology NAS. Then i would prefer to not connect it with USB through my router, but just operate it standalone.
For software RAID i don’t think i would (personally) trust an OpenWRT router, even if it could be supported by a third party client/plugin. I wouldn’t trust it to be stable enough or to provide good recovery options in case anything goes wrong. But that is mainly due to my historic experiences with OpenWRT, i like it a lot but i’ve experienced a decent amount of instability with it as well over the years.
I would prefer the stability of a dedicated NAS solution. I’ve owned a 2-bay Synology in the past and it was simply rock solid, it always worked and i never had to pay a minute of attention to it. I could place it anywhere, near the router or not and it would just work. For something like storage or backup that is what i prefer the most.
I now use a portable SSD attached to my router, which also works ‘okay’. But i don’t expect the data to be 100% safe. So that’s a calculated risk i am taking.
No, many of them are very basic/minimal hardware RAID implementations. They aren’t full ARM boards. This is the sort of board that many of the inexpensive USB/eSATA enclosures will contain:
Right, judging from the prices online that would cost about $100 less than an ARM based 2-bay NAS from QNAP or Synology etc.
It could be worth it for OP if they prefer it to be as barebones as possible. You lose some flexibility since it will not have an ethernet port, web-interface etc, but if those things are not required then it could be an affordable alternative.
SSD’s are far more reliable than flash drives since the latter don’t have any real error detection / correction.
That Samsung EVO 250 will be close to 10 years old now so that is quite old. At some point it could be a candidate for retirement, before it has a chance to fail.
This is in an External SSD Enclosure, so I’ll just be using it in the meantime to store the data my flash drive would’ve stored until I can get the NAS set up. Yes, I plan to go with the Synology NAS setup, because I also feel like USB might not be the best idea for this sort of thing.