Bug 1255184
Summary: | cache pool conversion issues with 'cachemode' | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Corey Marthaler <cmarthal> |
Component: | lvm2 | Assignee: | Zdenek Kabelac <zkabelac> |
lvm2 sub component: | Cache Logical Volumes | QA Contact: | cluster-qe <cluster-qe> |
Status: | CLOSED ERRATA | Docs Contact: | |
Severity: | high | ||
Priority: | high | CC: | agk, heinzm, jbrassow, msnitzer, prajnoha, tlavigne, zkabelac |
Version: | 7.2 | Keywords: | Regression, TestBlocker, Triaged |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | lvm2-2.02.129-1.el7 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-11-19 12:47:29 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Corey Marthaler
2015-08-19 21:23:53 UTC
All cache attributes are now primarily entered when LV is cached - cache-pool should be seen as 'wrapper' for Data & Metadata LV (building brick). However for backward compatibility we fully support also cache-pool with all caching attributes set - so of course this bug needs couple fixes. However it's now valid unused cache-pool is now without any cache-mode set - this setting will be taken from configuration just in the moment you attach cache-pool to some LV. Currently the only setting which is set when cache-pool is created is cache-pool chunk size - which is needs for estimation of cache-pool metadata volume size. Addressed with upstream commit: https://www.redhat.com/archives/lvm-devel/2015-August/msg00185.html Fix verified in the latest rpms. 3.10.0-313.el7.x86_64 lvm2-2.02.129-2.el7 BUILT: Wed Sep 2 02:51:56 CDT 2015 lvm2-libs-2.02.129-2.el7 BUILT: Wed Sep 2 02:51:56 CDT 2015 lvm2-cluster-2.02.129-2.el7 BUILT: Wed Sep 2 02:51:56 CDT 2015 device-mapper-1.02.106-2.el7 BUILT: Wed Sep 2 02:51:56 CDT 2015 device-mapper-libs-1.02.106-2.el7 BUILT: Wed Sep 2 02:51:56 CDT 2015 device-mapper-event-1.02.106-2.el7 BUILT: Wed Sep 2 02:51:56 CDT 2015 device-mapper-event-libs-1.02.106-2.el7 BUILT: Wed Sep 2 02:51:56 CDT 2015 device-mapper-persistent-data-0.5.5-1.el7 BUILT: Thu Aug 13 09:58:10 CDT 2015 cmirror-2.02.129-2.el7 BUILT: Wed Sep 2 02:51:56 CDT 2015 sanlock-3.2.4-1.el7 BUILT: Fri Jun 19 12:48:49 CDT 2015 sanlock-lib-3.2.4-1.el7 BUILT: Fri Jun 19 12:48:49 CDT 2015 lvm2-lockd-2.02.129-2.el7 BUILT: Wed Sep 2 02:51:56 CDT 2015 [root@host-109 ~]# grep writethrough /etc/lvm/lvm.conf # Possible options are: writethrough, writeback. # writethrough - Data blocks are immediately written from cache_pool_cachemode = "writethrough" [root@host-109 ~]# vgcreate cache_sanity /dev/sd[abcdefgh]1 Volume group "cache_sanity" successfully created [root@host-109 ~]# lvcreate -L 4G -n display_cache cache_sanity /dev/sde1 Logical volume "display_cache" created. [root@host-109 ~]# lvcreate -L 4G -n pool cache_sanity /dev/sdd1 Logical volume "pool" created. [root@host-109 ~]# lvcreate -L 12M -n pool_meta cache_sanity /dev/sdd1 Logical volume "pool_meta" created. [root@host-109 ~]# lvconvert --yes --type cache-pool --cachemode writeback -c 32 --poolmetadata cache_sanity/pool_meta cache_sanity/pool WARNING: Converting logical volume cache_sanity/pool and cache_sanity/pool_meta to pool's data and metadata volumes. THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.) Converted cache_sanity/pool to cache pool. [root@host-109 ~]# lvs -a -o +devices,cachemode LV VG Attr LSize Pool Origin Data% Meta% Cpy%Sync Devices Cachemode display_cache cache_sanity -wi-a----- 4.00g /dev/sde1(0) [lvol0_pmspare] cache_sanity ewi------- 12.00m /dev/sda1(0) pool cache_sanity Cwi---C--- 4.00g pool_cdata(0) writeback [pool_cdata] cache_sanity Cwi------- 4.00g /dev/sdd1(0) [pool_cmeta] cache_sanity ewi------- 12.00m /dev/sdd1(1024) [root@host-109 ~]# lvs --noheadings -o lv_name --select 'cachemode=writeback' pool [root@host-109 ~]# lvconvert --yes --type cache --cachepool cache_sanity/pool cache_sanity/display_cache Logical volume cache_sanity/display_cache is now cached. [root@host-109 ~]# lvs --noheadings -o lv_name --select 'cachemode=writeback' display_cache [root@host-109 ~]# dmsetup status cache_sanity-display_cache: 0 8388608 cache 8 266/3072 64 3/131072 6 64 0 0 0 3 0 1 writeback 2 migration_threshold 2048 smq 0 rw - [root@host-109 ~]# lvs -a -o +devices,cachemode LV VG Attr LSize Pool Origin Data% Meta% Cpy%Sync Devices Cachemode display_cache cache_sanity Cwi-a-C--- 4.00g [pool] [display_cache_corig] 0.00 8.66 0.00 display_cache_corig(0) writeback [display_cache_corig] cache_sanity owi-aoC--- 4.00g /dev/sde1(0) [lvol0_pmspare] cache_sanity ewi------- 12.00m /dev/sda1(0) [pool] cache_sanity Cwi---C--- 4.00g 0.00 8.66 0.00 pool_cdata(0) writeback [pool_cdata] cache_sanity Cwi-ao---- 4.00g /dev/sdd1(0) [pool_cmeta] cache_sanity ewi-ao---- 12.00m /dev/sdd1(1024) Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-2147.html |