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,
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.
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.
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.
The question, then, is if there's anything to do about this in anaconda. Or is this a documentation problem?
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.
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
wikipedia suggests that 2-disk RAID10 is totally a Thing for mdadm, but it's non-standard according to conventional definitions of RAID levels.
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.
David (or anyone in the know), can you please verify Comment 8? What should I have instead of 'RAID0+1'?
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).
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."
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.
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
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.
Thanks, David. I'll remove the admonition about creating a RAID10 with two disks now that it's no longer possible.
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
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).
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.