Linux storage tiering

From Roy's somewhat wise thoughts
Revision as of 15:24, 29 April 2022 by Roy (talk | contribs) (→‎Tiering)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Tiering

Storage tiering is like caching, except that with caching, the cached data is stored both on the slower medium (typically rotating drives) and in cache (like SSDs or NVMEs). With tiering, the data is migrated between the tiers according to usage statistics. This means tiering is a bit like persistent cache, but also frees up the space used by the data in the cache. In many usecases, this won't be necessary, since the cache size usually is only a small fraction of the slower storage. Some large-scale storage solution also use magnetic tape as the bottom tier, spooling off data not used for some time out tape with a large tape robot. This saves space and power and ensures the data is available, albeit perhaps with a wee bit of delay for that on tape.

autotier

btrfs

bcachefs

  • bcache, a caching engine for the Linux block level, came into mainline Linux Kernel in 2013 and has been regarded as stable for quite some time now (2022-04-29).
  • bcachefs is a filesystem built on the same codebase as bcache, but
  • Documentation

ZFS

ZFS does not support tiering, but has had persistent L2ARC (read cache) since around 2020.