I’ve been thinking about a new storage/archival system for a while, ever since Drobo went out of business. I’ve been using Drobo for years and went through three DAS (direct-attached storage) units, starting with the first-generation 4-disk DAS, then the second generation, and finally the 5-disk Drobo. I chose Drobo for its ability to expand storage without requiring manual rebuilding or any intervention on the user’s behalf. Unlike other solutions on the market at the time, you could also use drives of different sizes, and it was very user-friendly. During my ownership, I rarely had to do anything: just monitor it, swap disks, and enjoy life. Ok, occasionally I ran into issues, but nothing I couldn’t resolve relatively quickly.
One little quirk I discovered was that disk problems could go unnoticed due to infrequent use. So I figured I’d give Drobo a workout once a year by forcing it to rebuild itself through carefully and deliberately ejecting a disk. The idea was that a disk could be in bad shape but keep working simply because it saw so little use. So, once a year, I would remove a drive, insert a new one, and let Drobo rebuild. Then I’d remove the new drive, put the old one back in, and let it rebuild again. So far, it’s worked fine.
So Drobo is convenient, easy to use, and pretty much hands-off, while providing storage and redundancy. Now, it’s worth mentioning that while the system is working properly, everything is awesome. But if there’s a hardware problem, well… Drobo uses a proprietary data format, so recovering data from its drives isn’t exactly trivial. Moreover, if too many drives fail (more than one, or more than two in some configurations), all your data becomes unavailable and is possibly lost. This isn’t unique to Drobo, of course, but it’s still something to consider.
Unfortunately, since the company went out of business, I’m living on borrowed time and need to switch to something else. But what? I don’t want to purchase expensive hardware or bother with configurations, vendor lock-in, rebuilds, and whatever else classic solutions come with. Effectively, I want something cheap, easy to replace or fix, and that behaves just like Drobo. One idea that came to mind was to reproduce Drobo in software. Maybe it won’t be 100% like Drobo, but as long as I get close, I’m good. So, what features are important?
- Storage pooling – Unites multiple drives into a single pool that the user can access.
- Adding a drive – Automatically expands the pool and updates redundancy.
- Removing a drive – Safely redistributes data, removes the drive from the pool, and restores redundancy.
- Replacing a drive – Automatically migrates or reconstructs data and incorporates the replacement drive.
- Drive failure – Detects failed drives and assists with automatic data recovery.
- Data protection – Automatically maintains redundancy, checks data integrity, and detects corruption.
- Disk monitoring – Monitors drive health and warns about potential failures.
- Automatic maintenance – Handles parity synchronization, scrubbing, and other routine operations without user intervention.
- Notifications – Reports problems that require user attention.
- As simple as possible.
I’ve been keeping an eye on mergerfs and SnapRAID for a while as a potential solution, and I feel like they almost fit my needs. Ok, it’s not a complete solution, but it’s a solid base that can be abstracted away, automated, and otherwise hidden.
Ok, as they say, “there are no solutions, only trade-offs,” so what are the trade-offs? First, redundancy is not automatic. SnapRAID has to sync periodically, so if I add data and a drive fails before SnapRAID has a chance to sync, well, newly added data on that drive is not protected. I wish there were a way around this issue (which I’ll try to find), but even that limitation is acceptable to me. I’m looking for storage that’s mostly going to be read from and rarely written to. Second, the parity drive must be at least as large as the largest data drive in the array. Not a big initial problem, but if the array is going to be expandable, this must somehow be automated. Third, if a drive fails, data from that drive becomes unavailable until recovery is completed. Finally, there are a few minor limitations involving file size, drive balancing, and software complexity.
So, what am I getting back for all of those downsides? Graceful degradation: files are stored on independent drives, with no proprietary technology, and in case of a really bad failure when redundancy fails, I can still get to files on surviving drives. I’m free to recover drives, clone them, or otherwise attempt to rescue drives or data without relying on proprietary software or hardware. Accessibility: just plug individual drives into any other computer and access your data, provided the file system is supported. No vendor lock-in: don’t want Linux anymore? Just plug the drives into Windows or Mac, get a file system driver (if needed), and the data is there. Slight caveat: the solution (abstraction on top of mergerfs and SnapRAID) will have to run on Linux. Cost: a simple 4-bay external USB dock costs about $90. Need to replace or expand? Just buy more and add them to the array via software. Cheap and simple. Expandability: as far as I can tell, neither SnapRAID nor mergerfs has any practical limit on the number of drives it can handle, so unlike traditional hardware solutions, you can just keep adding drives to your heart’s content. Well, within reason.
Hopefully I didn’t miss much, but so far I’m trading a fully automated proprietary 4/5-bay box with good data availability, expandability, and redundancy for semi-automated open-source Linux software with a bunch of drives, graceful degradation, expandability, accessibility, and redundancy.
So far, it looks like a worthy trade to me, but I’m not drawing conclusions yet since the solution doesn’t exist, or at least I haven’t found it yet. So my plan is to explore, implement (if it doesn’t exist), and reevaluate.
Now, in all fairness, I’ve been steering clear of NAS (network-attached storage), partially because I don’t need it (I do have an old Linux machine running, or rather napping), partially because of the drawbacks I described above with proprietary hardware and vendor lock-in, and partially because of cost, complexity, and the learning curve. But that’s just me. I just want DAS (loosely speaking), with no strict requirements for performance, availability, or other features. My focus is on simplicity, storage, redundancy, and data recovery. I simply don’t want or need a box that can do RAID, Docker, cloud, and a bunch of other stuff. I know there is a beautiful OMV (OpenMediaVault), which I’ve played with a little, but again, too many features, and I’m not willing to exchange my fully running Linux machine for OMV’s web interface and plugin ecosystem. Well, at least not at this point.
Anyhow, the future will tell. Let me start on a solution and see how it goes.






















































































































































































































































































































































































































































