Alert required when trying to add disks to raidz?

Status
Not open for further replies.

liteswap

Dabbler
Joined
Jun 7, 2011
Messages
37
When you add a disk to a ZFS RAID in the expectation of adding a disk to the RAID set, it adds a striped vdev, it does not expand the RAID set. This is not obvious nor even (I would argue) intuitive behaviour. But it is what it is.

I've done some extensive reading of the forums over recent days, and it's clear many users have not managed to avoid this pitfall. They should have (and I number myself among them but I am by no means the only one) read the manual all the way through. And the forums. Yet we are all guilty of this sin of omission at some point.

Is it too much to ask that the software steps in when a user tries to do this with an 'Are you sure?' query, pointing out what the consequences might be?
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
It is not possible to expand a RAIDZ vdev (i.e., turn a 6-disk RAIDZ2 vdev into an 8-disk RAIDZ2 vdev). It is, however, possible expand a pool by adding a second (or third, etc.) vdev, whether that additional vdev is a mirror, a RAIDZ, or a single disk. No matter what the new vdev is, the pool is striped across all the vdevs. All of this is fundamental ZFS stuff, and won't (indeed, can't) be changed in FreeNAS.

When a user tries to expand a vdev by adding a single disk, the ZFS volume manager already warns the user in bold red print of what they're doing, and in fact won't allow them to continue without switching into manual mode. The warning looks like this:
Screen Shot 2014-10-17 at 4.08.27 PM.png

I added the red circe, but the red, bold text is exactly as the Web GUI presents it. You'll notice that the drop-down on the left also identifies the new disk as a stripe. What additional would you propose?

Lest I sound snarky, I understand the problem, and I see it posted here quite a bit. I'm just not sure how it continues to happen, given that warning, and the fact that you have to switch to manual setup to make it happen at all.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,525
The screen gives you red text or a red background. I forget which.

This has been discussed to death, and at some point you just have to hold the admin responsible. There's so many irrecoverable ways to damage your data that a user "might" not know that unless we removed 99% of the features and force users to only have 1 or two options, you will never be able to lock down the features enough.

Then, there's the CLI, where you can do anything you want. How many proverbial "seat belts" do you put in your car before you are no longer able to use the car? That's the problem with FreeNAS.

Remember, TrueNAS and FreeNAS are commercial grade products. They aren't "super simple like Windows" and you can do plenty of things that are unrecoverable. We see them from time to time. But for that 1 in 10000 that screw it up, should be limited the other 9999 users that *did* do the research and know better? I don't think that's fair for the 9999 users.

If you used FreeNAS back in 9.1.0 I was very hot over the volume manager. The "manual setup" is what 8.x had. It was extremely powerful, but it expected the administrator to not do stupid things. The decision was made to make it much more power and add "seatbelts". The final product was useless for many people. 9.1.0 had the "new" volume manager. It was touted as one of the biggest reasons to upgrade. But for many of us, we swore it off and refused to use it. I almost left the FreeNAS project at that point. If *I* can't be trusted to do what I want with my data, then why use the product.

You couldn't use mis-sized disks because using mis-sized disks are bad for vdevs. Oh, but if you *know* about this limitation and are okay with it because you are waiting for that last 3TB to come in the mail, you are f*cked.

And if you bought disks from different manufacturers they'd be slightly different sizes. Sorry, you can't use those either because they aren't the right size.

You couldn't do *anything* that wasn't defined as "ideal". You wanted a 4 disk RAIDZ1? Sorry, can't do that.

The volume manager decided what you could do, and if you didn't like it... too damn bad.

If you look at threads from back then we literally told people to install the last 8.x release, create their pool, then upgrade to 9.x. Until 9.2.0 came out the "manual setup" didn't exist and you were stuck using a volume manager that either doesn't have enough seatbelts or too many. No matter what someone will *always* be unhappy.

Sorry, but this is the end of the road. If red warning text isn't good enough to deter you, or at least make you ask yourself if this really is what you should be doing, I don't know what will.

Everyone can never be happy all of the time. At some point you just have to blame the admin.

And keep this in mind. Even when we had 9.1.0 and people couldn't do what they wanted, more often than not they went to the CLI to do it anyway. And there is no way to stop "stupid" at the CLI. So what's the real point if they're going to find a way to get what they want anyway?

This is an argument that nobody will win, everyone has fought, and the lines have been drawn. If you have an idea that will make the volume manager better without hindering those that know better, feel free to ask for it. But, if the functionality of the volume manager is going to change, expect heavy opposition.
 
Status
Not open for further replies.
Top