Add LVM Thin provisioning support to the yum-fs-snapshot plugin
For the purposes of system rollback: Provide the ability to create a snapshot of all thinly provisioned LVM2 volumes associated with FS mount points that are relevant to a yum transaction.
- Name: Ondrej Kozina and Mike Snitzer
- okozina AT redhat DOT com
- snitzer AT redhat DOT com
- Targeted release: Fedora 19
- Last updated: 2013-01-28
- Percentage of completion: 0%
Yum's fs-snapshot plugin already has support for LVM2's old snapshots. LVM2's new thinp snapshots offer much more performance and ease administration. It is desirable to have the life-cycle of snapshots that are created by yum's fs-snapshot plugin be managed by the snapper utility. As such it could be that the yum fs-snapshot plugin is extend to provide a wrapper around snapper for the creation of thinp based snapshots.
Benefit to Fedora
The snapshots of thinly provisioned volumes could be used as rollback points after a system update is deemed undesirable.
The yum-utils package's fs-snapshot plugin will be modified to use the snapper tool to create the snapshots of the the thinp volumes. The snapper tool would prefer to have both a pre and post-upgrade snapshot be created (useful to display the exact changes that occurred between the 2 snapshot points) -- so we'll have to coordinate with the yum developers to understand if there is an existing post transaction hook that can be used.
How To Test
Enable the thinp snapshots support in the fs-snapshot plugin's config file and then perform an update with yum. This presumes that the system was installed to thinly provisioned volume(s) -- adding thinp volume support to anaconda's kickstart is also an F-19 feature (TODO: add reference to anaconda thinp feature page)
Users will create a shared pool of storage that will host all thin provisioned volumes and their associated snapshots. So in contrast to the old dm-snapshot implementation the user will not need to manage or monitor the free space of N snapshot volumes -- the storage for thin and snapshot volumes is allocated on-demand from the backing shared pool of storage. Once the thinp snapshots support is enabled in the fs-snapshot plugin's config file the user will have snapshot created for them automatically. They will then be able to use the snapper tool to manage the life-cycle of these snapshots.
- Anaconda's thinp support via kickstart
- yum hook to create snapshot after the yum transaction completes
None necessary, no other packages or capabilities will depend on this feature.