Bug 1067112

Summary: Unable to create striped raid on VGs with 1k extent sizes
Product: Red Hat Enterprise Linux 7 Reporter: Corey Marthaler <cmarthal>
Component: lvm2Assignee: Heinz Mauelshagen <heinzm>
lvm2 sub component: Mirroring and RAID QA Contact: cluster-qe <cluster-qe>
Status: CLOSED ERRATA Docs Contact:
Severity: low    
Priority: high CC: agk, dwysocha, heinzm, jbrassow, msnitzer, prajnoha, prockai, thornber, zkabelac
Version: 7.0Keywords: Triaged
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: lvm2-2.02.125-1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 834050 Environment:
Last Closed: 2015-11-19 12:45:18 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:
Bug Depends On: 834050    
Bug Blocks:    

Comment 1 Corey Marthaler 2014-02-19 17:48:06 UTC
[root@harding-02 ~]# lvcreate  --type raid4 -i 3 -n raid_on_1Kextent_vg -L 60M raid_sanity
  Using default stripesize 64.00 KiB
  Reducing requested stripe size 64.00 KiB to maximum, physical extent size 1.00 KiB.
  device-mapper: reload ioctl on  failed: Invalid argument
  Failed to activate new LV.
[root@harding-02 ~]# lvcreate --type raid1 -m1 -n raid_on_1Kextent_vg -L 60M 
  Please provide a volume group name
  Run `lvcreate --help' for more information.
[root@harding-02 ~]# lvcreate --type raid1 -m1 -n raid_on_1Kextent_vg -L 60M raid_sanity
  Logical volume "raid_on_1Kextent_vg" created
[root@harding-02 ~]# lvremove raid_sanity
Do you really want to remove active logical volume raid_on_1Kextent_vg? [y/n]: y
  Logical volume "raid_on_1Kextent_vg" successfully removed
[root@harding-02 ~]# lvcreate --type raid4 -i2 -n raid_on_1Kextent_vg -L 60M raid_sanity
  Using default stripesize 64.00 KiB
  Reducing requested stripe size 64.00 KiB to maximum, physical extent size 1.00 KiB.
  device-mapper: reload ioctl on  failed: Invalid argument
  Failed to activate new LV.
[root@harding-02 ~]# lvcreate --type raid5 -i2 -n raid_on_1Kextent_vg -L 60M raid_sanity
  Using default stripesize 64.00 KiB
  Reducing requested stripe size 64.00 KiB to maximum, physical extent size 1.00 KiB.
  device-mapper: reload ioctl on  failed: Invalid argument
  Failed to activate new LV.
[root@harding-02 ~]# lvcreate --type raid6 -i3 -n raid_on_1Kextent_vg -L 60M raid_sanity
  Using default stripesize 64.00 KiB
  Reducing requested stripe size 64.00 KiB to maximum, physical extent size 1.00 KiB.
  device-mapper: reload ioctl on  failed: Invalid argument
  Failed to activate new LV.


3.10.0-84.el7.x86_64
lvm2-2.02.105-3.el7    BUILT: Wed Feb  5 06:36:34 CST 2014
lvm2-libs-2.02.105-3.el7    BUILT: Wed Feb  5 06:36:34 CST 2014
lvm2-cluster-2.02.105-3.el7    BUILT: Wed Feb  5 06:36:34 CST 2014
device-mapper-1.02.84-3.el7    BUILT: Wed Feb  5 06:36:34 CST 2014
device-mapper-libs-1.02.84-3.el7    BUILT: Wed Feb  5 06:36:34 CST 2014
device-mapper-event-1.02.84-3.el7    BUILT: Wed Feb  5 06:36:34 CST 2014
device-mapper-event-libs-1.02.84-3.el7    BUILT: Wed Feb  5 06:36:34 CST 2014
device-mapper-persistent-data-0.2.8-4.el7    BUILT: Fri Jan 24 14:28:55 CST 2014
cmirror-2.02.105-3.el7    BUILT: Wed Feb  5 06:36:34 CST 2014

Comment 3 Zdenek Kabelac 2014-03-03 09:01:58 UTC
Seems like the smallest usable extent_size with raid is currently 256KB. With smaller extent size various calculation about raid metadata size are incorrect.

Comment 6 Heinz Mauelshagen 2014-11-05 11:04:41 UTC
(In reply to Zdenek Kabelac from comment #3)
> Seems like the smallest usable extent_size with raid is currently 256KB.
> With smaller extent size various calculation about raid metadata size are
> incorrect.

Even with calcuations fixed, the extent size can't got below PAGE_SIZE (i.e. typically 4KiB), because that's the minimum payload size per device for a RAID4/5/6 mapping.

Comment 7 Zdenek Kabelac 2014-11-05 13:42:57 UTC
Yes - we have many limitation on minimal size.
i.e. thin-pool metadata cannot be smaller then 2MB
But we handle this requirement even with 1K extent size.

Same needs to apply to raid target.

Comment 9 Jonathan Earl Brassow 2015-04-10 22:43:32 UTC
Can we at least trap the error and report and error message?  I think it is not that necessary to make this work, but it would be nice to fail gracefully.

Comment 14 Corey Marthaler 2015-08-05 18:36:36 UTC
Fix verified in the latest rpms.

3.10.0-302.el7.x86_64
lvm2-2.02.126-1.el7    BUILT: Tue Jul 28 11:32:33 CDT 2015
lvm2-libs-2.02.126-1.el7    BUILT: Tue Jul 28 11:32:33 CDT 2015
lvm2-cluster-2.02.126-1.el7    BUILT: Tue Jul 28 11:32:33 CDT 2015
device-mapper-1.02.103-1.el7    BUILT: Tue Jul 28 11:32:33 CDT 2015
device-mapper-libs-1.02.103-1.el7    BUILT: Tue Jul 28 11:32:33 CDT 2015
device-mapper-event-1.02.103-1.el7    BUILT: Tue Jul 28 11:32:33 CDT 2015
device-mapper-event-libs-1.02.103-1.el7    BUILT: Tue Jul 28 11:32:33 CDT 2015
device-mapper-persistent-data-0.5.4-1.el7    BUILT: Fri Jul 17 08:56:22 CDT 2015
cmirror-2.02.126-1.el7    BUILT: Tue Jul 28 11:32:33 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.126-1.el7    BUILT: Tue Jul 28 11:32:33 CDT 2015


[root@harding-03 ~]# lvcreate --type raid1 -m 1 -n raid_on_1Kextent_vg -L 60M raid_sanity
  Logical volume "raid_on_1Kextent_vg" created.

[root@harding-03 ~]# lvcreate --type raid4 -i 3 -n raid_on_1Kextent_vg -L 60M raid_sanity
  Using default stripesize 64.00 KiB.
  The extent size in volume group raid_sanity is too small to support striped RAID volumes.

[root@harding-03 ~]# lvcreate --type raid5 -i 3 -n raid_on_1Kextent_vg -L 60M raid_sanity
  Using default stripesize 64.00 KiB.
  The extent size in volume group raid_sanity is too small to support striped RAID volumes.

[root@harding-03 ~]# lvcreate --type raid6 -i 3 -n raid_on_1Kextent_vg -L 60M raid_sanity
  Using default stripesize 64.00 KiB.
  The extent size in volume group raid_sanity is too small to support striped RAID volumes.

[root@harding-03 ~]# lvcreate --type raid10 -i 3 -n raid_on_1Kextent_vg -L 60M raid_sanity
  Using default stripesize 64.00 KiB.
  The extent size in volume group raid_sanity is too small to support striped RAID volumes.

Comment 15 errata-xmlrpc 2015-11-19 12:45:18 UTC
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