I've bought a brand new 250GB Samsung 850 EVO for my laptop, that I want to use as primary storage device, together with the old - but still pretty functioning - 250GB 7500 RPM HDD that I put in the former DVD bay with an adaptor caddy.
Right now the HDD has only one big ext4
partition containing the OS, the applications and data files, what I want to do is to use the HDD just for the data, but I don't want to miss out on the opportunity to get the speed gains of the SDD by doing so.
What I'm searching for is a solution which combines one small, say 50GB or even less, partition on the SDD and merge it with the partition on the HDD so that the least modified of the most accessed files are automatically moved onto the SSD.
I've looked at caches like EnancheIO and Bcache, but they don't seem what I want, because (correct me if I'm wrong):
- The space occupied by the cache partition is subtracted from the amount of space available.
- The cache speeds up access to the most accessed files regardless of whether they're also the least often modified, which defies the point of not wanting to wear out the SSD.
Is the above correct, or could a cache (which one of those two?) help me reach my goal? If the above is correct, do you know of any other viable solution?
Would a union filesystem, like OverlayFS, be helpful here? Say you monitored the HDD for the most accessed files (keeping track of their atime on a daily basis) and say you identified the least modified ones among them (keeping track of their mtime), in theory you could move those files onto the SDD, freeing space on the HDD, whilst the union filesystem could make all that transparent to the user.
Would this work?