Red Hat Bugzilla – Bug 54657
software RAID/Disk Druid issues
Last modified: 2007-04-18 12:37:37 EDT
Description of Problem:
Using 7.2, I've tried setting up Software RAID using Disk Druid. This is
RAID 0 on 4 18GB SCSI disks. I've noticed that when I do this, it works,
but there is one problem that shows up if any disk partitions for separate
mount points, including swap partitions, are of the same size: the
/dev/md[x] devices ignore what RAID partitions you specify and mix and
match different partitions across cylinder boundaries. I consider this a
problem for two reasons:
(1) it is my understanding that for optimum performance that all RAID
partitions for a given RAID device should reside across the same cylinder
(2) even if (1) isn't correct, Disk Druid should not modify which RAID
partitions should go into a selected RAID device.
FWIW, I tried to workaround the problem using Kickstart -- the problem
still occurs here -- the partitions I specify are ignored and partitions
are mixed across cylinder boundaries. This indicates an anaconda problem to me.
I realize all of this may be confusing, here is an example. Suppose I have
four disks. I create a 512 MB partition on each one for a given mount point
(say /tmp). These partitions are all on the same cylinder boundaries. I
then make the RAID device and specify that each of these partitions --
/dev/sda11, /dev/sdb11, /dev/sdc11, and /dev/sdd11 -- should be used to
make up the RAID device for /tmp. Then I create another 512 MB partition on
each of the disks for another mount point (say /var/tmp). Again, these
partitions are all on the same cylinder boundaries. I then make the RAID
device and specify that each of these partitions -- /dev/sda12, /dev/sdb12,
/dev/sdc12, and /dev/sdd12 -- should be used to make up the RAID device for
/var/tmp. If I then go and edit each of these partitions to verify the
partitions that make up each RAID device, or if I go ahead an install and
then check the /etc/raidtab afterwords, the RAID device for /tmp might be
make up of /dev/sda12, /dev/sdb11, /dev/sdc11, and /dev/sdd12 and /var/tmp
might be made up of the other 512 MB partitions, meaning that I now have
RAID devices using disk partitions crossing different cylinder boundaries.
Trying to "fix" this by restating in Disk Druid which partitions should be
used for each device does no good.
This problem also exists if swap partitions are used that are the same size
(in this example, swap partitions of 512 MB each)--swap might be on
/dev/sda10, /dev/sdb11, /dev/sdc10, and /dev/sdd10, with the RAID device
using the other partitions.
Again, installing from Kickstart also exhibits the same problem. The only
workaround is to ensure that the partition sizes for all RAID devices
including non-RAID swap partitions must be of different sizes.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
Two separate problems here really, both of which are elsewhere I'm pretty sure,
but I'll just go ahead and clarify the problems and look for the older bugs later.
Problem #1: Partitions aren't strongly ordered in Disk Druid and if you have a
lot of partitions which are the same size, then there is no way to differentiate
between them. This is definitely somewhere in bugzilla and has the tentative
patch which is probably going to go in to make the partition ordering much
stronger so that you can have predictability there; it was just too large of a
change for me to feel comfortable about it when it was reported.
Problem #2: Kickstart doesn't allow you to specify "I want a partition this size
and I want it to be sdXY". If you do
part raid.01 --size 1500
part raid.02 --size 1500
You can easily ensure that raid.01 and raid.02 are the partitions included in
your RAID device, but where raid.01 and raid.02 end up isn't well-defined for
the same reason as above and also you can't override and force it to be created
as sdXY (which may well not happen just because of how it doesn't fit in with
I suppose one solution to this problem would be to have, at least as an option,
anaconda/kickstart/whatever ensure that partitions that make up a given RAID
device fall within the same cylinder boundaries. Is this possible? Users
shouldn't have to know that this ensures the highest levels of speed when using
This is an enhancement pretty much covered by existing bugzilla requests. I'll
let katzj roll it up.
We have some thoughts about making a RAID wizard type of thing which would
encompass trying to do things like that.
I think this situation would be best handled by the using the 'by cylinder'
partitioning option now available in anaconda.
The rest of the request is handled by existing bugzilla requests.