Mailinglist Archive: opensuse-features (101 mails)

< Previous Next >
[openFATE 311037] let partitioner create faster RAID
Feature changed by: Greg Freemyer (gregfreemyer)
Feature #311037, revision 4
Title: let partitioner create faster RAID

openSUSE Distribution: Unconfirmed
Requester: Desirable

Requested by: Bernhard Wiedemann (bmwiedemann)
Partner organization:

Both mkfs.ext[234] and mkfs.xfs have options to tune the filesystem for
striped RAID (i.e. RAID0/RAID10), so it would be nice if yast2/disk
could make use of it. The options are -E stride=x -E stripe-width=y and
-d sunit=x,swidth=y notice that units of above sizes may vary. There
are several sites out there describing how to choose the proper values
for x and y, e.g.

#1: Bernhard Wiedemann (bmwiedemann) (2011-01-04 16:14:20)
I have found this perl code doing the calculations #!/usr/bin/perl -w
use strict; my $raiddev="/dev/md0"; my $raidlevel=0; # one of 0,5,6 for
striping with 0,1,2 redundant disks my $blocksize=4; # FS block size
KiBiBytes my $chunksize=128; # 4-256 KiBiBytes (multiple of $blocksize)
my @physdevs=(); # ... # create new RAID system(qw(echo mdadm --
create), $raiddev, "--level", $raidlevel, "--chunk", $chunksize, "--
raid-devices", scalar @physdevs, @physdevs);
# create FS my $stripewidth=@physdevs; if($raidlevel==1)
{$stripewidth=1;} if($raidlevel==5) {$stripewidth--;} if($raidlevel==6)
{$stripewidth-=2;} $stripewidth*=$chunksize/$blocksize; system(qw(echo
mkfs.ext3 -b), $blocksize*1024, "-R", "stride=".
($chunksize/$blocksize), "-R", "stripe-width=".$stripewidth,

+ #2: Greg Freemyer (gregfreemyer) (2011-01-13 00:02:31)
+ Even in 11.3 this should already work. The kernel got "disk topology"
+ support around 2.6.32 I think. Definitely by 2.6.34 which is in 11.3.
+ The mdraid layer of the kernel got patches to set these values in time
+ for 2.6.34 as well. Ext4 and XFS should both have the code already that
+ uses this internal kernel knowledge. If a userspace app (eg. mkfs.ext4)
+ wants to access it, it can look in /sys/block/sda/queue/* for the info.
+ So if you have a machine that is not tuning the filesystem based on
+ your raid setup, its a bug, not a missing feature of yast.

openSUSE Feature:

< Previous Next >
List Navigation
This Thread