filesystem read only caching [SSD]
by mrpops2ko from LinuxQuestions.org on (#6CFDA)
hi all i'm relatively new to linux so please forgive me but i've googled around this topic quite a bit and i'm not really finding any results that seem relevant.
My goal is to create a read only cache, my setup would be something like 10x 8tb regular spinning rust (all of which are JBOD single disks using XFS).
I've looked at solutions on what I can do to cache data that is accessed from those disks into a much smaller SSD cache, for active content. Ideally this would be done for data that is leaving the RAM cache and instead then goes to the SSD for quick accessibility should it be required.
I understand that the current solutions which seem to exist are;
DM-cache
bcache
These are the ones which are commonly mentioned but through reading their manual pages it seems that they all have some form of write caching to them, and they don't really seem actively maintained. None seem to have been updated for quite some time, and in general it doesn't appear that many are using them in the wild.
I don't wish to take a spin on bcacheFS because that filesystem doesn't look even alpha ready yet nevermind production.
I've also discovered that theres another tool called open-cas which seems to be the perfect thing for what I want but unfortunately when installing that I learned one of the gotcha's was that I would need a non-preemptive kernel. The one which ships with ubuntu 22.04 and many others all seem to be preemptive in nature.
I don't know enough about linux kernel in general to make a distinction on which is better, how they relate, what the performance characteristics are of the different kernels and I likely am going to make some errors in compiling the kernel myself in order to satisfy this open-cas requirement.
So my question is, does anybody have any recommendations that are outside of what I have stated in order to accomplish this. I did stumble upon some very old and seemingly outdated and unmaintained alternatives but they all looked like a run on the wild side of things, with many historic bugs piled up and no maintainers in sight.
One of the ones which seemed to state that it did what I wanted was EnhanceIO but no maintainers or modifications since 2015 and github issues that state it will kill data even in read only mode lol
this might be something but i'm a bit worried to try something like this out when it doesn't seem to have much users and its largely no-name
So this is where I am at currently, unsure of what to do and where to go. Any suggestions are very much welcome. open-cas seems like the best solution but I have the kernel issues that i need to overcome then...
My goal is to create a read only cache, my setup would be something like 10x 8tb regular spinning rust (all of which are JBOD single disks using XFS).
I've looked at solutions on what I can do to cache data that is accessed from those disks into a much smaller SSD cache, for active content. Ideally this would be done for data that is leaving the RAM cache and instead then goes to the SSD for quick accessibility should it be required.
I understand that the current solutions which seem to exist are;
DM-cache
bcache
These are the ones which are commonly mentioned but through reading their manual pages it seems that they all have some form of write caching to them, and they don't really seem actively maintained. None seem to have been updated for quite some time, and in general it doesn't appear that many are using them in the wild.
I don't wish to take a spin on bcacheFS because that filesystem doesn't look even alpha ready yet nevermind production.
I've also discovered that theres another tool called open-cas which seems to be the perfect thing for what I want but unfortunately when installing that I learned one of the gotcha's was that I would need a non-preemptive kernel. The one which ships with ubuntu 22.04 and many others all seem to be preemptive in nature.
I don't know enough about linux kernel in general to make a distinction on which is better, how they relate, what the performance characteristics are of the different kernels and I likely am going to make some errors in compiling the kernel myself in order to satisfy this open-cas requirement.
So my question is, does anybody have any recommendations that are outside of what I have stated in order to accomplish this. I did stumble upon some very old and seemingly outdated and unmaintained alternatives but they all looked like a run on the wild side of things, with many historic bugs piled up and no maintainers in sight.
One of the ones which seemed to state that it did what I wanted was EnhanceIO but no maintainers or modifications since 2015 and github issues that state it will kill data even in read only mode lol
this might be something but i'm a bit worried to try something like this out when it doesn't seem to have much users and its largely no-name
So this is where I am at currently, unsure of what to do and where to go. Any suggestions are very much welcome. open-cas seems like the best solution but I have the kernel issues that i need to overcome then...