R
R
rPman2011-10-16 02:21:07
linux
rPman, 2011-10-16 02:21:07

Linux implementation of read/write caching of one block-device based on another?

Tell me a software solution for creating a block device (sufficient to mount the file system):
* created on the basis of two (or maybe more, but this is too much) block devices (well, you can connect files through loop) of different sizes
* one of these block devices - main, other intermediate ones are caching (records are temporarily stored on them)
* caching storages can have a size different from the main one (see below)
* the ability to determine the minimum and maximum data storage time in the 'cache', incl. 'unlimited, until space is exhausted' and 'on demand'
i.e. writes to a block device can remain in it and not be transferred to the main device indefinitely
* independent caching settings for writes and reads
* high performance (processing a large number of requests for small data blocks and linear read / write large ones)
ideally:
* the ability to change the configuration on the fly when the device is locked (file system is mounted)
* the ability to cascade caching storage, a bit wild e.g.:
super fast (RAM) -> fast (SSD) -> slow (HDD) -> basic very slow (Network storage)
Super ideal:
* the ability to turn off the main storage without stopping work (until it is requested data out of cache naturally)
* the ability to export a 'snapshot of data pending changes' as a file and to 'manually' apply these changes to the main storage
Something wild:
* multiple network connections to the main storage (it is clear that only one node at a time has write access)
ps individually, I saw something like that ... based on DRBD / LVM, etc. but, for example, LVM turned out to be incredibly slow when using snapshots for writing (almost everything that I described could be done except for network chips), DRBD is the organization of a block device with synchronization between nodes, but you can’t get a snapshot and load it yourself, although this is a dubious possibility ) etc.

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question