Replies: 3 comments 6 replies
-
|
Heh, cool! That would definitely be the largest setup for NonRAID I've heard about so far. I'm biased, of course, but my assessment would also be that the driver part is solid, because it is the same thing that has been battle-tested a lot on unraid side. Where things are different, is of course For example the mount order thing you mention, that should have no impact on the driver, but as you mention using ZFS, if you have Also regarding the |
Beta Was this translation helpful? Give feedback.
-
|
The migration is complete. Everything runs normal. There are some things that are actually 300 times faster than unraid. I don't mean that as hyperbole as stupid as it sounds. Now time will tell for stability. |
Beta Was this translation helpful? Give feedback.
-
|
Very useful info for me to do some migrate test from unraid. 😄 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
My Plan
So I'm about to do something that's either really clever or really stupid, and I figured I should introduce myself before I potentially become a cautionary tale in your issue tracker.
I'm planning to migrate my production unRAID server to NonRAID on Arch (btw). Half a petabyte. 28 disks. The whole thing. I've been doing extensive testing, already submitted a PR and an issue, and I wanted to share what I've learned and get some feedback before I pull the trigger.
My Current Setup (The one I'm Leaving Behind)
Running unRAID 7.1.4:
It's been rock solid. But I'm a developer, I do a lot of open source work, and unRAID's locked-down environment has been driving me up a wall. I want a real Linux distro where I can actually manage things properly. Package management, AUR access, docker alternatives, the works.
But I'm not giving up parity protection on half a petabyte of data. That's where you come in.
The Testing
I wasn't about to just copy my superblock over and pray. I'm crazy, but I'm not THAT crazy.
So, I set up a bare-metal test system on Arch (btw) with kernel 6.12.1, NonRAID DKMS 1.3.2, kernel module 2.9.35, and beat on it with USB drives simulating a real array.
Test rig:
Results:
Verified with SHA256 checksums at every stage. Everything matched.
What I Learned (The Hard Way)
The kernel module is solid. Almost every "bug" I found turned out to be PEBKAC. The module correctly detects failures, reconstructs from parity, handles replacement, rebuilds. All of it works.
Mount order matters. You HAVE to mount filesystems BEFORE starting a rebuild. If you start the rebuild first and then mount, writes update parity but not the already-rebuilt sectors. Stale data. Bad times.
The
unassignstep isn't optional. I initially thought the "Slot already has disk assigned" error was a bug. It's not. It's a safety feature. Full workflow is:USB drives are weird. Some USB drives report different vendor strings depending on cold boot vs hot-plug timing. Serial stays the same, but the prefix changes. Caused disk ID mismatches after reboot. This is a USB firmware quirk, not a NonRAID problem. SATA/SAS drives have stable IDs.
My Contributions
PR #91 documented the full disk replacement procedure, fixed the size display (was doing binary math but labeling as TB), and fixed the reload warning to include the unmount step.
Issue #92 found 13 prompts that ignore the
-u/--unattendedflag. Theunassigncommand is the big one. Can't automate the replacement workflow without it.The Migration
/nonraid.datnmdctl startand see what happensI already tested loading my production superblock (without starting the array) and it parsed correctly. Disk IDs matched, slot assignments were right, sizes were right*.
*Once I realized it was calculating sizes in TiB but labeling as TB. Fixed in my PR.
Why I'm Posting This
Heads up. Someone's about to run this on a fairly large production system. If there's something I should know, now's a good time to mention it. (Or to get popcorn for the show, I guess)
Testing gaps I can fill. The README mentions some untested scenarios:
Guess I will be testing these soon enough for better or worse.
Sanity check. Is my migration approach sound? Am I missing something obvious?
Long-term. I'm interested in contributing beyond just being a user. The kernel module seems solid. The rough edges are in nmdctl and documentation, which is exactly the kind of thing I like working on.
Let me know if you want more details on any of the testing, have suggestions, or just want to chat about
data hoardinglarge-scale NonRAID setups. I'll be around.Beta Was this translation helpful? Give feedback.
All reactions