]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - md.4
imsm: fix imsm_map.num_domains
[thirdparty/mdadm.git] / md.4
diff --git a/md.4 b/md.4
index cf423cbe6b88dfe035c446e6ef1f33f83c847a9c..ea12eaffaf1570f040801ff518c5a62b4b655d12 100644 (file)
--- a/md.4
+++ b/md.4
@@ -1,9 +1,9 @@
-''' Copyright Neil Brown and others.
-'''   This program is free software; you can redistribute it and/or modify
-'''   it under the terms of the GNU General Public License as published by
-'''   the Free Software Foundation; either version 2 of the License, or
-'''   (at your option) any later version.
-''' See file COPYING in distribution for details.
+.\" Copyright Neil Brown and others.
+.\"   This program is free software; you can redistribute it and/or modify
+.\"   it under the terms of the GNU General Public License as published by
+.\"   the Free Software Foundation; either version 2 of the License, or
+.\"   (at your option) any later version.
+.\" See file COPYING in distribution for details.
 .TH MD 4
 .SH NAME
 md \- Multiple Device driver aka Linux Software RAID
@@ -16,8 +16,8 @@ The
 .B md
 driver provides virtual devices that are created from one or more
 independent underlying devices.  This array of devices often contains
-redundancy, and hence the acronym RAID which stands for a Redundant
-Array of Independent Devices.
+redundancy and the devices are often disk drives, hence the acronym RAID
+which stands for a Redundant Array of Independent Disks.
 .PP
 .B md
 supports RAID levels
@@ -168,6 +168,13 @@ All devices in a RAID1 array should be the same size.  If they are
 not, then only the amount of space available on the smallest device is
 used (any extra space on other devices is wasted).
 
+Note that the read balancing done by the driver does not make the RAID1
+performance profile be the same as for RAID0; a single stream of
+sequential input will not be accelerated (e.g. a single dd), but
+multiple sequential streams or a random workload will use more than one
+spindle. In theory, having an N-disk RAID1 will allow N sequential
+threads to read from all disks.
+
 .SS RAID4
 
 A RAID4 array is like a RAID0 array with an extra device for storing
@@ -233,7 +240,7 @@ across a later section of all drives, always ensuring that all copies
 of any given block are on different drives.
 
 The 'far' arrangement can give sequential read performance equal to
-that of a RAID0 array, but at the cost of degraded write performance.
+that of a RAID0 array, but at the cost of reduced write performance.
 
 When 'offset' replicas are chosen, the multiple copies of a given
 chunk are laid out on consecutive drives and at consecutive offsets.
@@ -519,10 +526,22 @@ Finally, "idle" can be written to stop the check/repair process.
 .B md/stripe_cache_size
 This is only available on RAID5 and RAID6.  It records the size (in
 pages per device) of the  stripe cache which is used for synchronising
-all read and write operations to the array.  The default is 128.
+all write operations to the array and all read operations if the array
+is degraded.  The default is 256.  Valid values are 17 to 32768.
 Increasing this number can increase performance in some situations, at
-some cost in system memory.
+some cost in system memory.  Note, setting this value too high can
+result in an "out of memory" condition for the system.
+
+memory_consumed = system_page_size * nr_disks * stripe_cache_size
 
+.TP
+.B md/preread_bypass_threshold
+This is only available on RAID5 and RAID6.  This variable sets the
+number of times MD will service a full-stripe-write before servicing a
+stripe that requires some "prereading".  For fairness this defaults to
+1.  Valid values are 0 to stripe_cache_size.  Setting this to 0
+maximizes sequential-write throughput at the cost of fairness to threads
+doing small or random writes.  
 
 .SS KERNEL PARAMETERS