Беспонтовый lvm cache
/dev/sda — основной винт
/dev/sdb — ssd
data — lvgroup
DataLV — lv
# pvcreate /dev/sdb
# vgextend data /dev/sdb
Два раздела под данные и под метаданные. Под данные в 1000 раз больше места надо чем под меты.
# lvcreate -n DataLVcache -L19.9G data /dev/sdb
# lvcreate -n DataLVcacheMeta -L20M data /dev/sdb
# lvconvert —type cache-pool —cachemode writethrough —poolmetadata data/DataLVcacheMeta data/DataLVcache
writeback VS writethrough — неясно. Типа writethrough более надёжный, а writeback более быстрый. На чтение вообще никак не влияет.
# lvconvert —type cache —cachepool data/DataLVcache data/DataLV
Типа готово.
Режим кэширования меняется так:
# lvconvert —cachemode writethrough|writeback VG/CacheLV
Плюс нашёл только один — всё меняется на лету. Без перемонтирования и перезагрузок. Данные не страдают.
Огромный минус — не смог загрузиться с кэшированной rootfs. Предлагают только танцы с бубном с пересборкой ядра. А это не наш метод.