This service will be undergoing maintenance at 00:00 UTC, 2016-08-01. It is expected to last about 1 hours
Bug 888879 - RAID 10 requires 4 disks, but we allow it with only 2 disks
RAID 10 requires 4 disks, but we allow it with only 2 disks
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: python-blivet (Show other bugs)
19
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: David Lehman
Fedora Extras Quality Assurance
:
Depends On:
Blocks: F18-accepted/F18FinalFreezeExcept
  Show dependency treegraph
 
Reported: 2012-12-19 12:16 EST by Máirín Duffy
Modified: 2013-06-18 02:17 EDT (History)
13 users (show)

See Also:
Fixed In Version: pykickstart-1.99.32-1.fc19
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-06-18 02:17:44 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Máirín Duffy 2012-12-19 12:16:21 EST
Description of problem:

The latest Anaconda UI for Fedora 18 allows a user to select both mirroring and striping (RAID 10) when they only have two disks.

According to our documentation and various other sources, RAID10 requires a minimum of 4 disks (e.g., https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6-Beta/html/Installation_Guide/Create_Software_RAID-x86.html - see the last line, "RAID 10 requires at least four RAID partitions.")

I think we should flip this then to requiring 4 instead of 2 disks for RAID10. It seems to be these couple of lines:

<clumens> def get_raid_min_members(raidlevel):
<clumens>     raid_min_members = {RAID10: 2,
Comment 1 Máirín Duffy 2012-12-19 12:19:26 EST
It might also be worth noting:

<dlehman> commit e9c01eb4e23 changed raid10 min members from 4 to 2. it notes the change but gives no rationale.
Comment 2 Brian Lane 2012-12-19 23:58:10 EST
http://neil.brown.name/blog/20040827225440

According to that announcement the raid10 used in mdadm is actually RAID0+1, a RAID0 (stripe) built on top of RAID1(mirror). I have used RAID10 with 2 disks before.
Comment 3 Brian Lane 2012-12-20 00:09:01 EST
After reading (ha!) the RHEL guide I think the confusion here is between disks and partitions. In the new installer we're not dealing with partitions, those are created for you. So 2 disks really is the correct number.
Comment 4 Chris Lumens 2013-01-02 10:31:09 EST
The question, then, is if there's anything to do about this in anaconda.  Or is this a documentation problem?
Comment 5 Máirín Duffy 2013-01-02 11:30:39 EST
Well, if mdadm allows this to happen, I guess it's mdadm's issue and not ours. We talked about this in IRC today and I think the conclusion was that the best way to resolve this situation is to change the documentation to note that if you have less than 4 disks and select stripe + mirror, you will get RAID 0+1 (striped across partitions, then mirrored across disks) rather than actual RAID 10, which requires 4 disks.

I'm adding Jack to the CC list since this involves the docs, and I'll drop him an email too to explain the situation.
Comment 6 Jack Reed 2013-01-02 19:07:50 EST
I've added an Important admonition that addresses this to the list of RAID levels in the RAID creation procedure:

http://git.fedorahosted.org/cgit/docs/install-guide.git/commit/?id=5f83409a37698c62e3ef9ac0d9b6450fe1c5ea94
Comment 7 Adam Williamson 2013-01-03 14:17:37 EST
wikipedia suggests that 2-disk RAID10 is totally a Thing for mdadm, but it's non-standard according to conventional definitions of RAID levels.
Comment 8 Ronny Buchmann 2013-01-06 17:26:31 EST
raid10 on (In reply to comment #6)
> I've added an Important admonition that addresses this to the list of RAID
> levels in the RAID creation procedure:
> 
> http://git.fedorahosted.org/cgit/docs/install-guide.git/commit/
> ?id=5f83409a37698c62e3ef9ac0d9b6450fe1c5ea94

it's not raid0+1, it doesn't use two partitions.

If the layout is not explicitly specified (which I assume, but didn't chekc the code), then for two disks it's the same layout as RAID1.
Comment 9 Jack Reed 2013-01-06 21:43:21 EST
David (or anyone in the know), can you please verify Comment 8? What should I have instead of 'RAID0+1'?
Comment 10 Andy Wang 2013-01-07 15:46:57 EST
In case it's relevant, mdadm calls it RAID10:
     Raid Level : raid10
     Array Size : 239421056 (228.33 GiB 245.17 GB)
  Used Dev Size : 239421056 (228.33 GiB 245.17 GB)
   Raid Devices : 2
  Total Devices : 2

So not sure how confusing it would be to call it something else in the documentation.  I thought it was pretty much common knowledge that Linux MD implementation was capable of doing raid10 with 2 drives (with near and far layout options).
Comment 11 Máirín Duffy 2013-01-07 17:10:56 EST
That mdadm can do 'raid10' with 2 drives i think is a quirk and based on descriptions of what raid10 should be from various sources, I'm not sure it's entirely accurate to refer to it as raid10 without some form of note or warning in the docs as suggested. E.g., maybe someone is using this and isn't familiar with mdadm's quirks.

E.g. as pointed out by adamw:

https://en.wikipedia.org/wiki/Raid10#Near_versus_far.2C_advantages_for_bootable_RAID

"A nonstandard definition of "RAID 10" was created for the Linux MD driver;[4] RAID 10 as recognized by the storage industry association and as generally implemented by RAID controllers is a RAID 0 array of mirrors (which may be two way or three way mirrors) [5] and requires a minimum of 4 drives."
Comment 12 Marian Ganisin 2013-01-08 09:59:14 EST
md raid10 will create just RAID-1 on 2 drives (however in way of md raid10 driver which is/(can be) different from md raid1). md raid10 on 3 drives is similar to non-standard RAID-1E.
Comment 13 Fedora End Of Life 2013-04-03 09:40:36 EDT
This bug appears to have been reported against 'rawhide' during the Fedora 19 development cycle.
Changing version to '19'.

(As we did not run this process for some time, it could affect also pre-Fedora 19 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 19 End Of Life. Thank you.)

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora19
Comment 14 David Lehman 2013-06-06 13:32:54 EDT
I am going to change the minimum disks for raid10 to four. This will bring it in line with most users' expectations, as well as make it consistent with btrfs' raid10 requirements.
Comment 15 Jack Reed 2013-06-06 20:55:16 EDT
Thanks, David. I'll remove the admonition about creating a RAID10 with two disks now that it's no longer possible.
Comment 16 Fedora Update System 2013-06-14 12:46:05 EDT
pykickstart-1.99.32-1.fc19,python-blivet-0.16-1.fc19,anaconda-19.30.6-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/pykickstart-1.99.32-1.fc19,python-blivet-0.16-1.fc19,anaconda-19.30.6-1.fc19
Comment 17 Fedora Update System 2013-06-15 13:07:44 EDT
Package anaconda-19.30.7-1.fc19, pykickstart-1.99.32-1.fc19, python-blivet-0.16-1.fc19:
* should fix your issue,
* was pushed to the Fedora 19 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing anaconda-19.30.7-1.fc19 pykickstart-1.99.32-1.fc19 python-blivet-0.16-1.fc19'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-10913/pykickstart-1.99.32-1.fc19,python-blivet-0.16-1.fc19,anaconda-19.30.7-1.fc19
then log in and leave karma (feedback).
Comment 18 Fedora Update System 2013-06-18 02:17:44 EDT
pykickstart-1.99.32-1.fc19, python-blivet-0.16-1.fc19, anaconda-19.30.8-1.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.