Tiered storage in Linux?
Posted on 2011-10-11
I've been looking at this for a while, and not come up with anything satisfactory. I don't know if it can be done, but I thought I'd solicit some opinions on how people think it might be achieved. It may prove to be impossible...
I have a Linux server that runs 24/7, with a very light load. It has a software RAID6 set with everything except /boot on it. The drives never spin down because there are always log entries, database updates etc. One of the small tasks assigned to this box, for example, is to poll a solar-power inverter every 5 minutes and record the result to a MySQL database.
How can I allow the drives to spin down? I'm thinking perhaps using a USB flash drive as a buffer, like having a tiered drive, so that if the power goes out it's not lost, but every few hours it can be flushed to the drives. Is that doable?
Failing that, is it sane to just write to the flash drive and rsync back to the spinning drives occasionally (for folders with logfiles and for database files)?
Other than that, how long can I reasonably stall output of the data within the machine so I don't fire up the drives very often?
My ideal would just be to pop in an SSD or other flash device and have it perform block-level buffering for the main drives, allowing the main drives to be updated in big chunks rather than piecemeal as they are just now.