Jump to content

What happens when the cache drive is full?


tucansam

Recommended Posts

I have a 320GB 2.5" disk lying around that I'd like to use as my cache drive.  I only have room in my server for a 2.5" drive (two, actually). 

 

If I configure my MB's onboard SATA to run a pair of 2.5" disks in RAID0, this would help with my space issues.

 

However, is there something that happens when the cache drive fills before the mover script runs, or does the system simply return disk full errors?

 

I've thought about making the mover script run once per hour.  Or just creating a script that would run it manually, as the only time this would be a real problem would be during my initial data copy (have some 5TB of data to copy over).

 

Advice?

Link to comment

Yes do the transfer before adding the cache. Using the cache will cause your data to be unprotected until transferred to the array. If you do not mind the temporary lapse in protection you can disable your parity until the 5 tb is transferred, this will have the same effect as using the cache drive without having to move the data twice.

Link to comment

I agree with the rest. Invoking the mover once an hour is still going to fill the cache up faster than it can move that data to the array considering over a gigabit network you will be writing to the cache drive at around 3 times faster than the data can be moved to the array. Just disable the cache drive for now.

Link to comment
  • 3 years later...

This was the thread I came to when looking for info about how the cache works (or maybe SHOULD work).

 

What I would like to see is that the cache is allowed to fill to a certain % before being bypassed (effectively disabling cache) AND the mover script auto-run...before the cache is re-enabled..

 

 

Link to comment

This was the thread I came to when looking for info about how the cache works (or maybe SHOULD work).

 

What I would like to see is that the cache is allowed to fill to a certain % before being bypassed (effectively disabling cache) AND the mover script auto-run...before the cache is re-enabled..

Absolute size rather than percentage for Min Free Space is the way it currently works and that is the way it should work. You set Min Free Space to be larger than the largest file you expect to copy . When you copy a file that would make it go below that setting it goes to the array instead, so you never run out of cache space when copying to user shares.

 

Note that cache is not actually disabled by Min Free Space. You could have min free set to 50GB and when it gets to 55GB, if you try to copy a 10GB file it will go to the array instead, but you can still copy a 2GB file to cache.

 

Running mover when copying is probably counter-productive so that is probably why it has never been automatically triggered.

Link to comment

This was the thread I came to when looking for info about how the cache works (or maybe SHOULD work).

 

What I would like to see is that the cache is allowed to fill to a certain % before being bypassed (effectively disabling cache) AND the mover script auto-run...before the cache is re-enabled..

 

And as I answered before, writing to the array while the mover is working will really slow down the write operation. Trying a large read while the mover is writing to the same disk would also slow things down. Hence the current method of filling the cache and then just writing to the array. The mover running when scheduled allows you to do it when you're not using the array so it doesn't slow anything down.

 

What happens if you don't fill the cache enough to trigger the mover for quite a while? Will the data just sit there for days or weeks until enough data is written?

 

Asking for a feature - that gets done in the feature request section.

 

https://lime-technology.com/forum/index.php?board=63.0

 

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...