Jump to content
Covecube Inc.
  • 0
DriveDuck

Drive removal process

Question

During the drive removal process, I noticed that the pool went into a read only mode. Why is this necessary?

 

With drives up to 8TB and larger pool sizes, the pool becomes unusable for too many hours. Why does the process not move the files away from the drive and does stops new files written onto the drive being removed?

 

Is there a way, with the balancing plugins, to achieve emptying a drive manually? For now, this would help a lot preparing a drive removal.

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Not tried it but I think if you move the drive you want to empty to the bottom of the "ordered file placement" plugin and selected "control new file placement and move existing..." if should do what you want and empty the drive assuming there is enough space.

Share this post


Link to post
Share on other sites
  • 0

The reason that it's necessary, is to ensure that no processes/programs lock the files on the pool. When the file is locked, it means that we can't move the file as the program may be actively modifying the contents (or could, at any time).  Which is why programs lock the file, in the first place.

 

There are a couple of ways around this.  The simple way is to "Drive Usage Limiter" balancer and "prep" the drive for removal.  Specifically, uncheck the "duplicated" and "Unduplicated" options for the disk in question, and let the software balance the data off of the drive.  Once the drive is cleared off, you should be able to quickly remove the now empty drive from the pool.

(this is the way I recommend doing this personally).

 

Additionally, there is an advanced config setting to disable the "Read Only" status, but you may run into the the above issues.

http://wiki.covecube.com/StableBit_DrivePool_2.x_Advanced_Settings

Find the "RemoveDrive_PoolReadOnly" setting, and set it to "False". Reboot the system, and you should be good to go. 

 

 

 

Not tried it but I think if you move the drive you want to empty to the bottom of the "ordered file placement" plugin and selected "control new file placement and move existing..." if should do what you want and empty the drive assuming there is enough space.

That may work too, but the above doesn't require the installation of any additional balancers, and wont't reorganize the entire pool.... just the one drive's contents.

Share this post


Link to post
Share on other sites
  • 0

The reason that it's necessary, is to ensure that no processes/programs lock the files on the pool. When the file is locked, it means that we can't move the file as the program may be actively modifying the contents (or could, at any time). Which is why programs lock the file, in the first place.

If a file is locked, putting the entire pool into read only mode won’t change that. During the removal process it should be possible for the dp kernel modul to prevent further writing to the pool. That includes moving a file away from the disc before locking it or writing anew.

What simply is not possible in a business environment (and I’m sure in non-business too) is to essentially lock several TBs of data for many hours or even days.

 

There are a couple of ways around this. The simple way is to "Drive Usage Limiter" balancer and "prep" the drive for removal. Specifically, uncheck the "duplicated" and "Unduplicated" options for the disk in question, and let the software balance the data off of the drive. Once the drive is cleared off, you should be able to quickly remove the now empty drive from the pool.

(this is the way I recommend doing this personally).

The opposite worked for me. In the “Drive Usage Limiter” plugin, I had to uncheck all other drives but the drive I needed to remove. Putting the % to 0, the next balancing ensured the drive was evacuated.

Share this post


Link to post
Share on other sites
  • 0

If a file is locked, putting the entire pool into read only mode won’t change that. During the removal process it should be possible for the dp kernel module to prevent further writing to the pool. That includes moving a file away from the disc before locking it or writing anew.

What simply is not possible in a business environment (and I’m sure in non-business too) is to essentially lock several TBs of data for many hours or even days.

I've highlighted the specific part in question here: It does, by setting the disk as read only. Aside from that, the only other way to really accomplish this is by using a file system filter, I believe. 

 

 

But as I've posted above, we do include the option to disable this behavior, so it kind of a moot point (no offense). 

 

 

 

The opposite worked for me. In the “Drive Usage Limiter” plugin, I had to uncheck all other drives but the drive I needed to remove. Putting the % to 0, the next balancing ensured the drive was evacuated.

Well, that's really backwards. :)

 

The entire point of the Drive Usage Limiter to specify which is allowed to be placed on the drive and what can't. And will need to be changed once the disk in question is removed. 

 

Additionally, by using the method you did, it will degrade the pool condition, even once it's moved the files out, I believe.  The way I've outlined above will show the pool condition as fine once the files are moved out of the disk in question.  And once the disk is removed, you don't need to do anything to the balancer, as it will "return to normal". 

 

But if it works, then that's fine. :)

Share this post


Link to post
Share on other sites
  • 0

Believe me, I was surprised as much as you that it only worked the other way around. Every day I see the excellent support and help you provide here.

 

I seem to be able to set the percentage per drive by setting the checkmarks for the drive, choose the percentage and safe the setting. I can do this for every drive individually.

 

Currently another drive is being emptied to be removed, by simply setting it alone to 0%.

 

What I don’t understand is your comment about the pool condition being degraded. There are no indications in the GUI and the pool behaves perfectly fine.

Share this post


Link to post
Share on other sites
  • 0

Well, the way you set it, specifically only allowed placement on that drive unless it was 0% full. Then it would use the other drives. So that's why it worked. 

 

It should work the other way, as long as the slider is set to a decently high number (90% by default, I believe). 

 

If that wasn't working, then it may have been a priority issue. Moving the balancer to the top of the list should fix that, in this case. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  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.

Loading...

×
×
  • Create New...