Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Hybrid Storage harddisks use a large non-volatile cache to save power and improve speed.

I wanted to ask if there's a reasonably simple way to simulate that under Linux. Ideally there would be a FUSE-filesystem that does this, but I would also appreciate hints for writing a homegrown script.

For now this is purely theoretical, but my setup would be a small home server (Sheeva Plug) with an external USB harddisk that goes to sleep after a few minutes of inactivity. To keep it powered down as long as possible, I would like to use a 16GB SD card as a cache for the harddisk, thus simulating Hybrid Storage.

The only possible solutions I found thus far were Hierarchical storage management packages for enterprise use, which are way too expensive for this task...

share|improve this question
up vote 2 down vote accepted

I would start by looking up FUSEFS and mcachefs. It seems as though this is feasible using mcachefs. Also do realize that those SD cards have a limited number of write cycles before the data integrity starts to degrade. Not an immediate issue, but something to be aware of down the line.

An alternative would be to use the mcachefs and use some relatively large (1-2 tb) disk, and then get one of those smaller like 320gb 10,000 rpm disks with lots of cache to use as both your cached filesystem as well as swap and var. Not nearly as cool but might prevent headaches down the road.

share|improve this answer
Ah, my Google-fu wasn't strong enough to find mcachefs. It's very close to what I'm looking for, and there seems to be a fork that actually does asynchronous writeback, so I'll take a closer look at that. Thank you! – DataWraith Mar 2 '10 at 14:33
I may have to give it a try too. – spowers Mar 2 '10 at 23:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .