From Fedora Project Wiki
(Remove duplicate comment)
(Change Proposal Name)
Line 22: Line 22:
 
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->
 
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->
  
= Change Proposal Name <!-- The name of your change proposal --> =
+
= LVM Cache Logical Volumes <!-- The name of your change proposal --> =
  
 
== Summary ==
 
== Summary ==
 
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. -->
 
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. -->
 +
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.
  
 
== Owner ==
 
== Owner ==
Line 32: Line 33:
 
This should link to your home wiki page so we know who you are.  
 
This should link to your home wiki page so we know who you are.  
 
-->
 
-->
* Name: [[User:FASAcountName| Your Name]]
 
 
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
 
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
* Email: <your email address so we can contact you, invite you to meetings, etc.>
+
* Name: [[User:agk| Alasdair G. Kergon]]
 +
* Email: agk@redhat.com
 +
* Name: [[User:dcantrel| David Cantrell]]
 +
* Email: dcantrel@redhat.com
 +
* Name: [[User:dlehman| Dave Lehman]]
 +
* Email: dlehman@fedoraproject.org
 
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
 
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
 
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
 
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
Line 45: Line 50:
  
 
== Current status ==
 
== Current status ==
* Targeted release: [[Releases/<number> | Fedora <number> ]]  
+
* Targeted release: [[Releases/21 | Fedora 21 ]]  
 
* Last updated: (DATE)
 
* Last updated: (DATE)
 
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
 
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
Line 59: Line 64:
 
== Detailed Description ==
 
== Detailed Description ==
 
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
 
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
 +
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 ==
 
== Benefit to Fedora ==
 
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?-->
 
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?-->
 +
Users will have the advantage of fast block device speeds with the capacity of larger but slower block devices.
  
 
== Scope ==
 
== Scope ==
Line 80: Line 87:
  
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
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 ==
 
== How To Test ==
Line 96: Line 104:
 
3. What are the expected results of those actions?
 
3. What are the expected results of those actions?
 
-->
 
-->
 +
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.
  
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Line 103: Line 119:
 
<!-- If this change proposal is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
 
<!-- If this change proposal is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)
+
Users will enjoy the increased speed of disk storage while keeping capacity of HDD.
  
 
== Dependencies ==
 
== Dependencies ==
Line 109: Line 125:
  
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)
+
* Anaconda: Implementation of UI
 +
* Dracut: Module to Detect and install required configuration files and kernel modules
  
 
== Contingency Plan ==
 
== Contingency Plan ==
 
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
 
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
 
* Contingency mechanism: (What to do?  Who will do it?) N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
* Contingency mechanism: (What to do?  Who will do it?) N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 +
  * LVM2: the change is present in upstream
 +
  * Dracut: there is already hardcoded dm-cache installation. If the detection is in 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.
 +
  * LVM2: we will need an ability to drop the cache shall the cache device fail or become corrupted (this can be done using Live CD.)
 
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
 
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
* Contingency deadline: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
+
* Contingency deadline: beta freeze <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
 
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
* Blocks release? N/A (not a System Wide Change), Yes/No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
+
* Blocks release? No (not a System Wide Change), Yes/No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks product? product <!-- Applicable for Changes that blocks specific product release/Fedora.next -->
+
* Blocks product? - <!-- Applicable for Changes that blocks specific product release/Fedora.next -->
  
 
== Documentation ==
 
== Documentation ==
Line 124: Line 145:
  
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)  
+
* Command line: Cache section of the upstream [[https://git.fedorahosted.org/cgit/lvm2.git/tree/man/lvm.8.in#n401| lvm(8)]] man page.
  
 
== Release Notes ==
 
== Release Notes ==

Revision as of 18:34, 8 April 2014

Important.png
Comments and Explanations
The page source contains comments providing guidance to fill out each section. They are invisible when viewing this page. To read it, choose the "edit" link.
Copy the source to a new page before making changes! DO NOT EDIT THIS TEMPLATE FOR YOUR CHANGE PROPOSAL.


LVM Cache Logical Volumes

Summary

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.

Owner

Current status

  • Targeted release: Fedora 21
  • Last updated: (DATE)
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

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.

Scope

  • 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)

Upgrade/compatibility impact

  • 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.

N/A (not a System Wide Change)

User Experience

Users will enjoy the increased speed of disk storage while keeping capacity of HDD.

Dependencies

  • Anaconda: Implementation of UI
  • Dracut: Module to Detect and install required configuration files and kernel modules

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
 * LVM2: the change is present in upstream
 * Dracut: there is already hardcoded dm-cache installation. If the detection is in 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.
 * LVM2: we will need an ability to drop the cache shall 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? -

Documentation

  • Command line: Cache section of the upstream [lvm(8)] man page.

Release Notes