You are not logged in.
Hi,
This is both a question and an idea.
The case
The case is a home media center. It's a fairly low disk usage scenario, but if it's used it's often with large files.
You also often need lots of space so HDD's are (i think) still likely to have in these scenarios.
This gives a bit of an annoyance too. If you for instance watch a movie from your home media center the HDD is spinning all the time while you're watching. Some HDD's make nearly no audible noise, some do. It depends on a variety of factors. Lets - for the sake of this argument - say the HDD does make a little noise that's barely audible but just enough to hear it in the more quiet parts of a movie and is considered to be an annoyance.
Additionally, to browse through your movie collection the HDD needs to spin up too. Ideally the HDD only spins up to watch a movie or to copy a movie to/from it (or any media really).
My "would like to have" solution
I would like to add caching to this, like bcache, but with a quite big twist!
It would be ideal when you start playing a movie (or any media) that your media is copied from the HDD -> caching SSD. This has a couple of big advantages:
- The movie then plays from a completely silent SSD
- The HDD is used at it's full speed to copy large data in one go (the ideal HDD case)
- The HDD can spin down quickly after, reducing power consumption
For the media center, this should be completely transparent. So that means it should likely be implemented in a sort of proxy filesystem i guess? Or a "caching proxy"?..
To add to this even more. It would be ideal if that SSD cache would also be used to fill listings on the media center and provide the thumbnails and whatever else data there is that could be considered metadata, not the full data.
Does something like this exist?
Now i really would like to know if there is a filesystem out there that does the above? I'm guessing bcache is the closest, but even that is not what i want. For instance, bcache caches read/writes when they are done for the next access. I want the media file to be copied in full to the cache and be read from there right when it is invoked. The downside here is that playback might take a bit longer then usual as it would first be a copy (HDD -> SSD) before it begins playing from the SSD. But then again, the implementation might be smart enough to allow playback as soon as the first 100MB or so has been copied. Which would make it conceptually the same like playing back a file which is still being "downloaded" where downloading here is a copy in process.
But this is just "a direction" i'm thinking of. There might well be totally different approaches for this that i'm simply not aware of. If you folks know some, please do share!
Cheers,
Mark
Offline
Sorry, no idea if that's possible.
The typical solution for this usecase seems to be to move the hdd out of the living room/media center and make it accessible over a network connection.
In other words, put the HDD in a Network Attached Storage (NAS) and relocate the nas to some part of the house were the noise doesn't bother anyone.
Last edited by Lone_Wolf (2019-11-02 11:04:11)
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Sorry, no idea if that's possible.
The typical solution for this usecase seems to be to move the hdd out of the living room/media center and make it accessible over a network connection.
In other words, put the HDD in a Network Attached Storage (NAS) and relocate the nas to some part of the house were the noise doesn't bother anyone.
Hi,
Thank you for your reply!
That would indeed be a solution i could go for.
Note that my idea/question isn't just for the noise, but also for the perceived performance of a media center.
Sure, if you actually start playing something it will still have to wait till the drive spins up at the very least. But all other "metadata" operations would be served from a hot cache thus giving the impression of a snappy responding media center.
Offline
That's just normal file caching then. If you want, write a service to run at startup that reads the relevant index/meta-data files that you're interested in so that it's already in the cache.
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Put the disk in a padded box to silence it. Stick a thermometer in if you're worried about heat building up.
Offline
As of lower pricing of SSD these days, what about using them generally and only do backups on HDD? Otherwise, have a look at ZFS/SSD_Caching.
Offline
A combination of bcache and btrfs is (mostly) capable of doing this:
Offline