LVM Cache Logical Volumes
LVM can now use fast block devices (e.g. SSDs and PCIe Flash) to improve the performance of larger but slower block devices. These hierarchical or layered logical volumes are called "Cache Logical Volumes" in LVM.
- Name: Alasdair G. Kergon
- Email: email@example.com
- Name: David Cantrell
- Email: firstname.lastname@example.org
- Name: Dave Lehman
- Email: email@example.com
- Release notes owner:
- Targeted release: Fedora 21
- Last updated: (DATE)
- Tracker bug: <will be assigned by the Wrangler>
LVM is now capable of using fast block devices (e.g. SSDs) as write-back or write-though caches for larger slower block devices. Users can create cache logical volumes to improve the performance of their existing logical volumes or create new cache logical volumes composed of a small and fast device coupled with a large and slow device. These cache logical volumes can be used with most LVM segment types, including RAID 1/4/5/6/10, linear, stripe and thin pools.
Benefit to Fedora
Users will have the advantage of fast block device speeds with the capacity of larger but slower block devices.
- Proposal owners:
- Other developers: N/A (not a System Wide Change)
- Release engineering: N/A (not a System Wide Change)
- Policies and guidelines: N/A (not a System Wide Change)
- Nothing changes for users following update path.
- The logical volumes using cache will become unavailable from systems using older kernels and LVM. The cache will have to be dropped to grant access for those legacy systems.
How To Test
To test the feature user will have to:
- install the system with cache configured once the Anaconda UI is available
- converting existing LVs to use SSD cache once the LVM package is updated to include latest upstream patches
An SSD or other fast block device is recommended to actually increase the speed but the feature will be testable without one as the user may create a cache device from the data disk with effect of decreased performance.
Information on how to setup cache logical volumes can be found in the lvm(8) man page.
Users will enjoy the increased speed of disk storage while keeping capacity of HDD.
- Anaconda: Implementation of UI
- Dracut: Module to Detect and install required configuration files and kernel modules
- Contingency mechanism: (What to do? Who will do it?)
* LVM2: Changes are already present upstream. If severe bugs are found, cache can be disabled here. * Dracut: There is already a hardcoded dm-cache installation. If the detection is not done in time, it will work as is. * Anaconda: Cache will work even without UI except it will not be configurable by regular users without using command line. Users can also setup cache LVs after installation. * LVM2: We will need an ability to drop the cache should the cache device fail or become corrupted. (This can be done using Live CD.)
- Contingency deadline: beta freeze
- Blocks release? No (not a System Wide Change), Yes/No
- Blocks product? -
- Command line: Cache section of the upstream [lvm(8)] man page.