Jump to content
  • 0

Placing files on drives so that all are filled by the same amount (not percentage) in real-time rather than by balancing


JamesC

Question

Hello,

I'm using DrivePool with SnapRAID, so I have automatic balancing disabled.

My ideal behaviour is that, when placing a new file into the pool, DrivePool would write it onto the drive that currently has the least data on it - not as a percentage of the total capacity of that drive, but as a raw number - unless that drive is already ~90% full. Overall this would result in each drive (that's not already full) storing the same amount of data. I want this rather than having all drives filled to the same percentage, or to the same amount of free space, because I have one ~8TB drive in my pool while the others are ~3-4TB, and I don't want the 8TB drive to store twice as much data and therefore be a bigger loss than the others if I was to be unable to recover it (at least until the pool is full enough that that becomes necessary).

I thought the 'Equalise by space used' option of the Disk Space Equaliser balancing plugin would be able to achieve this, but it seems like it only sets balancing targets and doesn't change the real-time file placement logic, so I'd need to run a balance (or enable autobalance) for it to have any effect. I've tried fiddling with the various balancers, plug-in/file-placement settings and file-placement rules, but DrivePool seems to want to just write new data to my larger drive (despite it already having 2.4TB on it vs the 2TB the others have - as I understand it, this is because DrivePool prioritises the disk with the most free space) unless I go out of my way to force it to write to the others by unticking the larger drive in the file-placement rules.

Is there any way to achieve what I'm looking for that I'm missing?

Thanks,

James

Edit: Perhaps having read this thread, it is relevant that my drives are all USB3 external HDDs.

Edit 2: Okay, my bad, having read this I see that there's a technical reason why DrivePool has to write to the disk with most free space and then rebalance later due to not knowing the size of incoming files ahead of time. I guess with some pokery of the Ordered File Placement balancer I could approximate the behaviour I want.

Edit 3: It would be nice to be able to set per-drive fullness limits on Ordered File Placement. Fill this drive up to X%, then fill the next drive up to Y%, etc. Or allow the limits to be expressed by amount of space used, rather than percentage used, or amount of free space remaining.

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0
On 6/29/2024 at 1:41 PM, JamesC said:

I don't want the 8TB drive to store twice as much data and therefore be a bigger loss than the others if I was to be unable to recover it (at least until the pool is full enough that that becomes necessary).

It's a kludge but you could use Disk Management to shrink the 8TB poolpart to match the size of the 3~4TB poolparts? When your pool is full enough you could then re-expand that poolpart.

Link to comment
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...