Bug 865850
| Summary: | LVM RAID: Sync state of RAID 4/5/6 not displayed by 'lvs' (or anything else) | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Jonathan Earl Brassow <jbrassow> |
| Component: | lvm2 | Assignee: | Jonathan Earl Brassow <jbrassow> |
| Status: | CLOSED ERRATA | QA Contact: | Cluster QE <mspqa-list> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | medium | ||
| Version: | 6.3 | CC: | agk, cmarthal, coughlan, dwysocha, heinzm, jbrassow, msnitzer, nperic, prajnoha, prockai, thornber, zkabelac |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | lvm2-2.02.98-2.el6 | Doc Type: | Bug Fix |
| Doc Text: |
Previously, the degree to which RAID 4/5/6 logical volumes had completed their initial array synchronization (i.e. initial parity calculations) was not printed in the output of the 'lvs' command. This information is now printed under a heading that has been changed from "Copy%" to "Cpy%Sync". Users can request the "Cpy%Sync" information directly via 'lvs' with either of the following options:
~> lvs -o copy_percent
~> lvs -o sync_percent
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2013-02-21 08:14:30 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
Jonathan Earl Brassow
2012-10-12 15:55:23 UTC
Changes committed upstream (unit tests are shown in commit messages):
*** PLEASE NOTE: 2 CHECK-INS COMPOSE THIS FIX ***
commit e1917809477c4850cc1094121001d61a2b70ef26
Author: Jonathan Brassow <jbrassow>
Date: Tue Oct 23 21:19:27 2012 -0500
RAID: Make RAID 4/5/6 display sync status under heading s/Copy%/Cpy%Sync
The heading 'Copy%' is specific to PVMOVE volumes, but can be generalized
to apply to LVM mirrors also. It is a bit awkward to use 'Copy%' for
RAID 4/5/6, however - 'Sync%' would be more appropriate. This is why
RAID 4/5/6 have not displayed their sync status by any means available to
'lvs' yet.
Example (old):
[root@hayes-02 lvm2]# lvs vg
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sy Convert
lv vg -wi-a---- 1.00g
raid1 vg rwi-a-r-- 1.00g 100.00
raid4 vg rwi-a-r-- 1.01g
raid5 vg rwi-a-r-- 1.01g
raid6 vg rwi-a-r-- 1.01g
This patch changes the heading to 'Cpy%Sync' and allows RAID 4/5/6 to print
their sync percent in this field.
Example (new):
[root@hayes-02 lvm2]# lvs vg
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv vg -wi-a---- 1.00g
raid1 vg rwi-a-r-- 1.00g 100.00
raid4 vg rwi-a-r-- 1.01g 100.00
raid5 vg rwi-a-r-- 1.01g 100.00
raid6 vg rwi-a-r-- 1.01g 100.00
commit 6db461e3b0d3fbc394fe2ed2a7d6a3c070453874
Author: Jonathan Brassow <jbrassow>
Date: Tue Oct 23 20:33:54 2012 -0500
mirror/raid: Move 'copy_percent' to common code (mirror.c -> lv_manip.c)
The 'copy_percent' function takes the 'extents_copied' field from each
segment in an LV to create the numerator for the ratio that is to
become the copy_percent. (Otherwise known as the 'sync' percent for
non-pvmove uses, like mirror LVs and RAID LVs.) This function safely
works on RAID - not just mirrors - so it is better to have it in
lv_manip.c rather than mirror.c.
There's a lot of different functions that do a lot of different things
in lv_manip.c, so I placed the function near a function in lv_manip.c
that it was close to in metadata-exported.h. Different placement in the
file or a different name for the function may be useful.
QA test requirements: 1) Show that 'lvs' outputs the sync% for RAID1/4/5/6/10, mirror, and pvmove 2) Show that 'lvs -o +sync_percent' is another way to get the sync %'age (the default way is to use the legacy 'lvs -o copy_percent', which is a default column in 'lvs' output). (07:14:25) [root@r6-node01:~]$ lvs -o +sync_percent,devices LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert Cpy%Sync Devices lv_root VolGroup -wi-ao--- 7.54g /dev/vda2(0) lv_swap VolGroup -wi-ao--- 1.97g /dev/vda2(1930) mirror vg mwi-a-m-- 1.95g mirror_mlog 68.40 68.40 mirror_mimage_0(0),mirror_mimage_1(0),mirror_mimage_2(0) (07:14:29) [root@r6-node01:~]$ lvs -a -o+devices LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert Devices lv_root VolGroup -wi-ao--- 7.54g /dev/vda2(0) lv_swap VolGroup -wi-ao--- 1.97g /dev/vda2(1930) mirror vg mwi-a-m-- 1.95g mirror_mlog 72.20 mirror_mimage_0(0),mirror_mimage_1(0),mirror_mimage_2(0) [mirror_mimage_0] vg Iwi-aom-- 1.95g /dev/sda1(0) [mirror_mimage_1] vg Iwi-aom-- 1.95g /dev/sdb1(0) [mirror_mimage_2] vg Iwi-aom-- 1.95g /dev/sdc1(0) [mirror_mlog] vg lwi-aom-- 4.00m /dev/sde1(0) lvs omits device desply when using the option +sync_percent. Why can't it display it the same as without +sync_percent? Disregard the comment.. I have missed -a. Sorry. I need a coffee.. Marking this BZ verified with lvm2-2.02.98-8.el6.x86_64 (07:01:35) [root@r6-node01:~]$ lvs -o +sync_percent LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert Cpy%Sync lv_root VolGroup -wi-ao--- 7.54g lv_swap VolGroup -wi-ao--- 1.97g raid4_lv bigvg rwi-a-r-- 800.00m 27.50 27.50 (07:02:19) [root@r6-node01:~]$ lvs -o +sync_percent LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert Cpy%Sync lv_root VolGroup -wi-ao--- 7.54g lv_swap VolGroup -wi-ao--- 1.97g raid4_lv bigvg rwi-a-r-- 800.00m 100.00 100.00 raid5_lv bigvg rwi-a-r-- 804.00m 17.41 17.41 (07:04:22) [root@r6-node01:~]$ lvs -o +sync_percent LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert Cpy%Sync lv_root VolGroup -wi-ao--- 7.54g lv_swap VolGroup -wi-ao--- 1.97g raid10_lv bigvg rwi-a-r-- 804.00m 100.00 100.00 raid1_lv bigvg rwi-a-r-- 800.00m 8.00 8.00 raid4_lv bigvg rwi-a-r-- 800.00m 100.00 100.00 raid5_lv bigvg rwi-a-r-- 804.00m 100.00 100.00 raid6_lv bigvg rwi-a-r-- 804.00m 75.62 75.62 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. http://rhn.redhat.com/errata/RHBA-2013-0501.html |