Empty disk for removal (drain)


Recommended Posts

It would be great to have this feature integrated.


I have a lot of smaller disks (sub 4TB) that I'm working on removing from the array. And I have no need to replace every single disk with a larger one.


What I would love to see is the possibility to mark disks for removal. And during the next few days the data on the disk will be reallocated to the free space on other disks.


Then you can just remove the disk from the array.

  • Like 3
  • Thanks 1
Link to comment

+1 , would be great to be able to have Unraid handle the removal of a drive, that is shrink the array. unBalance is a great tool but it does not handle the fact that unRaid can still write to the disk during the process. If Unraid handled the process it could be a one click solution where the system:

-Ensures writes are not done to the disk

-Moves all data to other disks

-New config

-notification when drive is removed from the array

  • Like 1
Link to comment

I agree. I used unbalance too but had to dig in the manual and forums how to remove the disk without issues in a second step. I think a one click solution for the whole process would be better and I think this is quite essential for a NAS software. In Stablebit Drivepool (where the drivepool of several disks can be compared to UNRAIDs array) there is such a function to remove a drive from the pool (i.e. array in UNRAID language). The files are distrubuted to the other drives and when this is finished the drive ist taken out of the pool and is "unassigned".

  • Like 1
Link to comment
28 minutes ago, sota said:

The disk would need to be zero'ed while still in the array, then it could be removed without rebuilding parity.

The question is, how to do that.

There are already procedures in place to accomplish all this.


You can use Unbalance to move the data, then dd zeros to the drive slot, then set a new config and remove the drive, and start the array with the parity is valid checkbox checked.


The issue is that people don't want to do all that manually, they want a big red "EASY" button.


Note, this would not be fast, nor risk free. There is no shortcutting the huge amount of data writes that have to happen to accomplish this.


Anyone who writes an all in one script would need to put in MASSIVE effort to make the procedure as safe and idiot proof as possible, and still end up with a support headache from people complaining about how long the procedure takes. It's a lot of effort for almost zero reward.

Link to comment

I have to disagree.


unRAID is being billed as an appliance that gives you enterprise features for less money, and does lots of things without requiring as much user knowledge as a home-spun setup using a more common distro. If you're saying a regular user should be totally ok with using the terminal zero a drive with dd, then you're kind of missing the point.


I could actually see this saving time, in the sense that a user kicks off the drain operation, then comes back a day or two later, can restart the array at a more convenient time, and yank the drive.


How I'd see it happening is more like:

  1. User selects drive to drain
  2. Data is evacuated to other drives
  3. Drive is zero'd out
  4. System leaves pending operation to remove drive from config on next array stop
  5. Notification is left for user of pending array operations
  6. User stops array
  7. Config is changed such that drive is removed
  8. User starts array


So this has gone from requiring several integrations in the UI, potentially installing a new plugin, as well as terminal commands (that have to be left running for ages, mind), to 2 clicks on a default unRAID install.


Look, at the end of the day Linux gurus are always going to scoff at the noobs, but if it's a storage appliance first, and one that sells itself on flexibility at that (different size/types of drives, etc.) then removing a drive is what I would call a fundamental - and likely expected from a new user's point of view - operation.

Link to comment
35 minutes ago, -Daedalus said:

If you're saying a regular user should be totally ok with using the terminal zero a drive with dd, then you're kind of missing the point.

No, completely the opposite, I expect the regular user to not be able to do most of what I outlined. I'm not saying the easy button feature isn't needed, I'm pointing out that a linux savvy programmer COULD give us a plugin to handle it, but that fact that none have is evidence that if it's going to happen, it's probably going to have to wait in line with the myriad of other features that users are asking limetech itself to integrate.


Hopefully the recent paid staff additions will accelerate the implementation of these many wanted features, but I'm not holding my breath.


A great many (almost all?) of the features currently being added to the core of unraid started life as user created add ons, and have been slowly incorporated. The fact that nobody has stepped up and written a community supported plugin to do this specific function says something. I was simply pointing out what obstacles are there for a community member to set this up. Doesn't mean it won't eventually happen.


Who knows, maybe limetech has this all lined up for the next major beta after the 6.9 series.


I've also left out some major issues that would have to be addressed with a slot removal function, namely the difficulties posed by the very thing that makes unraid different. Each drive slot is an independent file system, and can be referenced with individual specificity if desired. That means that if you remove a slot and there are still file paths configured to write to it directly, bad things will happen. There are so many different places that could be done, it's difficult to cover your bases, as simply moving the files to a different path doesn't mean the application that wrote them there will be able to find them at the new location. If everyone was forced to use fuse /mnt/user paths, there would be less of an issue, but that's not how things are right now. /mnt/diskX is a perfectly valid path to save and retrieve files, and some people use direct paths for practically everything for speed and organizational reasons. Also, the /mnt/user shares have include and exclude rules that reference the disk slots, you have to reconcile what happens when one of those slots is gone, and how to allocate the data that is to be moved from the slot to be vacated.


It's not as cut and dried as it seems.

  • Like 2
Link to comment

I like the idea of multiple manual/user-initiated triggers on a single screen.

<button> drain drive

<button> wipe drive

<button> stop array

<button> remove drained drive and reset array config

<button> start array


as was mentioned, it gives the user the ability to manually schedule certain tasks.

I'm trying to think of a procedure that causes less thrashing on the parity drive (drain will cause X amount of parity work, wipe will cause the entire parity drive to be touched) but also ensure data safety during the process.  I'm not really seeing one.

Link to comment
  • 3 weeks later...
7 hours ago, Output said:

Well, Im in the process of removing 4 3gb drives that now have reached EOL with over 7 years of operation. I'm replacing them with 2 10gb drives instead and really would like this built in even if it would take a long time. Doing it manually is just such a pain :) 


Yes its a pain, but if you remember the unRAID 4.7 days we had to run Pre-Clear on drives that took days simply because there was no mechanism to put in a disk and have unRAID do it for us and if we did skip the Preclear our array would be unavailable to us for many many hours. 


All we can do is put in requests and work towards the solution and in the end new users or if we stay around long enough will benefit from the new addons. ;)

  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.