You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1533 lines
41 KiB
1533 lines
41 KiB
From e9dd5644843e2013a7dd1a8a5da2b9fa35837416 Mon Sep 17 00:00:00 2001 |
|
From: Lukasz Florczak <lukasz.florczak@linux.intel.com> |
|
Date: Fri, 18 Mar 2022 09:26:04 +0100 |
|
Subject: [PATCH 06/12] mdadm: Respect config file location in man |
|
|
|
Default config file location could differ depending on OS (e.g. Debian family). |
|
This patch takes default config file into consideration when creating mdadm.man |
|
file as well as mdadm.conf.man. |
|
|
|
Rename mdadm.conf.5 to mdadm.conf.5.in. Now mdadm.conf.5 is generated automatically. |
|
|
|
Signed-off-by: Lukasz Florczak <lukasz.florczak@linux.intel.com> |
|
Acked-by: Coly Li <colyli@suse.de> |
|
Signed-off-by: Jes Sorensen <jsorensen@fb.com> |
|
--- |
|
.gitignore | 1 + |
|
Makefile | 7 +- |
|
mdadm.8.in | 16 +- |
|
mdadm.conf.5 | 706 ------------------------------------------------ |
|
mdadm.conf.5.in | 706 ++++++++++++++++++++++++++++++++++++++++++++++++ |
|
5 files changed, 721 insertions(+), 715 deletions(-) |
|
delete mode 100644 mdadm.conf.5 |
|
create mode 100644 mdadm.conf.5.in |
|
|
|
diff --git a/.gitignore b/.gitignore |
|
index 217fe76d..8d791c6f 100644 |
|
--- a/.gitignore |
|
+++ b/.gitignore |
|
@@ -3,6 +3,7 @@ |
|
/*-stamp |
|
/mdadm |
|
/mdadm.8 |
|
+/mdadm.conf.5 |
|
/mdadm.udeb |
|
/mdassemble |
|
/mdmon |
|
diff --git a/Makefile b/Makefile |
|
index 2a51d813..bf126033 100644 |
|
--- a/Makefile |
|
+++ b/Makefile |
|
@@ -227,7 +227,12 @@ raid6check : raid6check.o mdadm.h $(CHECK_OBJS) |
|
|
|
mdadm.8 : mdadm.8.in |
|
sed -e 's/{DEFAULT_METADATA}/$(DEFAULT_METADATA)/g' \ |
|
- -e 's,{MAP_PATH},$(MAP_PATH),g' mdadm.8.in > mdadm.8 |
|
+ -e 's,{MAP_PATH},$(MAP_PATH),g' -e 's,{CONFFILE},$(CONFFILE),g' \ |
|
+ -e 's,{CONFFILE2},$(CONFFILE2),g' mdadm.8.in > mdadm.8 |
|
+ |
|
+mdadm.conf.5 : mdadm.conf.5.in |
|
+ sed -e 's,{CONFFILE},$(CONFFILE),g' \ |
|
+ -e 's,{CONFFILE2},$(CONFFILE2),g' mdadm.conf.5.in > mdadm.conf.5 |
|
|
|
mdadm.man : mdadm.8 |
|
man -l mdadm.8 > mdadm.man |
|
diff --git a/mdadm.8.in b/mdadm.8.in |
|
index e2a42425..8b21ffd4 100644 |
|
--- a/mdadm.8.in |
|
+++ b/mdadm.8.in |
|
@@ -267,13 +267,13 @@ the exact meaning of this option in different contexts. |
|
.TP |
|
.BR \-c ", " \-\-config= |
|
Specify the config file or directory. Default is to use |
|
-.B /etc/mdadm.conf |
|
+.B {CONFFILE} |
|
and |
|
-.BR /etc/mdadm.conf.d , |
|
+.BR {CONFFILE}.d , |
|
or if those are missing then |
|
-.B /etc/mdadm/mdadm.conf |
|
+.B {CONFFILE2} |
|
and |
|
-.BR /etc/mdadm/mdadm.conf.d . |
|
+.BR {CONFFILE2}.d . |
|
If the config file given is |
|
.B "partitions" |
|
then nothing will be read, but |
|
@@ -2014,9 +2014,9 @@ The config file is only used if explicitly named with |
|
or requested with (a possibly implicit) |
|
.BR \-\-scan . |
|
In the later case, |
|
-.B /etc/mdadm.conf |
|
+.B {CONFFILE} |
|
or |
|
-.B /etc/mdadm/mdadm.conf |
|
+.B {CONFFILE2} |
|
is used. |
|
|
|
If |
|
@@ -3344,7 +3344,7 @@ uses this to find arrays when |
|
is given in Misc mode, and to monitor array reconstruction |
|
on Monitor mode. |
|
|
|
-.SS /etc/mdadm.conf |
|
+.SS {CONFFILE} (or {CONFFILE2}) |
|
|
|
The config file lists which devices may be scanned to see if |
|
they contain MD super block, and gives identifying information |
|
@@ -3352,7 +3352,7 @@ they contain MD super block, and gives identifying information |
|
.BR mdadm.conf (5) |
|
for more details. |
|
|
|
-.SS /etc/mdadm.conf.d |
|
+.SS {CONFFILE}.d (or {CONFFILE2}.d) |
|
|
|
A directory containing configuration files which are read in lexical |
|
order. |
|
diff --git a/mdadm.conf.5 b/mdadm.conf.5 |
|
deleted file mode 100644 |
|
index 74a21c5f..00000000 |
|
--- a/mdadm.conf.5 |
|
+++ /dev/null |
|
@@ -1,706 +0,0 @@ |
|
-.\" 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 MDADM.CONF 5 |
|
-.SH NAME |
|
-mdadm.conf \- configuration for management of Software RAID with mdadm |
|
-.SH SYNOPSIS |
|
-/etc/mdadm.conf |
|
-.SH DESCRIPTION |
|
-.PP |
|
-.I mdadm |
|
-is a tool for creating, managing, and monitoring RAID devices using the |
|
-.B md |
|
-driver in Linux. |
|
-.PP |
|
-Some common tasks, such as assembling all arrays, can be simplified |
|
-by describing the devices and arrays in this configuration file. |
|
- |
|
-.SS SYNTAX |
|
-The file should be seen as a collection of words separated by white |
|
-space (space, tab, or newline). |
|
-Any word that beings with a hash sign (#) starts a comment and that |
|
-word together with the remainder of the line is ignored. |
|
- |
|
-Spaces can be included in a word using quotation characters. Either |
|
-single quotes |
|
-.RB ( ' ) |
|
-or double quotes (\fB"\fP) |
|
-may be used. All the characters from one quotation character to |
|
-next identical character are protected and will not be used to |
|
-separate words to start new quoted strings. To include a single quote |
|
-it must be between double quotes. To include a double quote it must |
|
-be between single quotes. |
|
- |
|
-Any line that starts with white space (space or tab) is treated as |
|
-though it were a continuation of the previous line. |
|
- |
|
-Empty lines are ignored, but otherwise each (non continuation) line |
|
-must start with a keyword as listed below. The keywords are case |
|
-insensitive and can be abbreviated to 3 characters. |
|
- |
|
-The keywords are: |
|
-.TP |
|
-.B DEVICE |
|
-A |
|
-.B device |
|
-line lists the devices (whole devices or partitions) that might contain |
|
-a component of an MD array. When looking for the components of an |
|
-array, |
|
-.I mdadm |
|
-will scan these devices (or any devices listed on the command line). |
|
- |
|
-The |
|
-.B device |
|
-line may contain a number of different devices (separated by spaces) |
|
-and each device name can contain wild cards as defined by |
|
-.BR glob (7). |
|
- |
|
-Also, there may be several device lines present in the file. |
|
- |
|
-Alternatively, a |
|
-.B device |
|
-line can contain either or both of the words |
|
-.B containers |
|
-and |
|
-.BR partitions . |
|
-The word |
|
-.B containers |
|
-will cause |
|
-.I mdadm |
|
-to look for assembled CONTAINER arrays and included them as a source |
|
-for assembling further arrays. |
|
- |
|
-The word |
|
-.I partitions |
|
-will cause |
|
-.I mdadm |
|
-to read |
|
-.I /proc/partitions |
|
-and include all devices and partitions found therein. |
|
-.I mdadm |
|
-does not use the names from |
|
-.I /proc/partitions |
|
-but only the major and minor device numbers. It scans |
|
-.I /dev |
|
-to find the name that matches the numbers. |
|
- |
|
-If no DEVICE line is present, then "DEVICE partitions containers" is assumed. |
|
- |
|
-For example: |
|
-.IP |
|
-DEVICE /dev/hda* /dev/hdc* |
|
-.br |
|
-DEV /dev/sd* |
|
-.br |
|
-DEVICE /dev/disk/by-path/pci* |
|
-.br |
|
-DEVICE partitions |
|
- |
|
-.TP |
|
-.B ARRAY |
|
-The ARRAY lines identify actual arrays. The second word on the line |
|
-may be the name of the device where the array is normally |
|
-assembled, such as |
|
-.B /dev/md1 |
|
-or |
|
-.BR /dev/md/backup . |
|
-If the name does not start with a slash |
|
-.RB (' / '), |
|
-it is treated as being in |
|
-.BR /dev/md/ . |
|
-Alternately the word |
|
-.B <ignore> |
|
-(complete with angle brackets) can be given in which case any array |
|
-which matches the rest of the line will never be automatically assembled. |
|
-If no device name is given, |
|
-.I mdadm |
|
-will use various heuristics to determine an appropriate name. |
|
- |
|
-Subsequent words identify the array, or identify the array as a member |
|
-of a group. If multiple identities are given, |
|
-then a component device must match ALL identities to be considered a |
|
-match. Each identity word has a tag, and equals sign, and some value. |
|
-The tags are: |
|
-.RS 4 |
|
-.TP |
|
-.B uuid= |
|
-The value should be a 128 bit uuid in hexadecimal, with punctuation |
|
-interspersed if desired. This must match the uuid stored in the |
|
-superblock. |
|
-.TP |
|
-.B name= |
|
-The value should be a simple textual name as was given to |
|
-.I mdadm |
|
-when the array was created. This must match the name stored in the |
|
-superblock on a device for that device to be included in the array. |
|
-Not all superblock formats support names. |
|
-.TP |
|
-.B super\-minor= |
|
-The value is an integer which indicates the minor number that was |
|
-stored in the superblock when the array was created. When an array is |
|
-created as /dev/mdX, then the minor number X is stored. |
|
-.TP |
|
-.B devices= |
|
-The value is a comma separated list of device names or device name |
|
-patterns. |
|
-Only devices with names which match one entry in the list will be used |
|
-to assemble the array. Note that the devices |
|
-listed there must also be listed on a DEVICE line. |
|
-.TP |
|
-.B level= |
|
-The value is a RAID level. This is not normally used to |
|
-identify an array, but is supported so that the output of |
|
- |
|
-.B "mdadm \-\-examine \-\-scan" |
|
- |
|
-can be use directly in the configuration file. |
|
-.TP |
|
-.B num\-devices= |
|
-The value is the number of devices in a complete active array. As with |
|
-.B level= |
|
-this is mainly for compatibility with the output of |
|
- |
|
-.BR "mdadm \-\-examine \-\-scan" . |
|
- |
|
-.TP |
|
-.B spares= |
|
-The value is a number of spare devices to expect the array to have. |
|
-The sole use of this keyword and value is as follows: |
|
-.B mdadm \-\-monitor |
|
-will report an array if it is found to have fewer than this number of |
|
-spares when |
|
-.B \-\-monitor |
|
-starts or when |
|
-.B \-\-oneshot |
|
-is used. |
|
- |
|
-.TP |
|
-.B spare\-group= |
|
-The value is a textual name for a group of arrays. All arrays with |
|
-the same |
|
-.B spare\-group |
|
-name are considered to be part of the same group. The significance of |
|
-a group of arrays is that |
|
-.I mdadm |
|
-will, when monitoring the arrays, move a spare drive from one array in |
|
-a group to another array in that group if the first array had a failed |
|
-or missing drive but no spare. |
|
- |
|
-.TP |
|
-.B auto= |
|
-This option is rarely needed with mdadm-3.0, particularly if use with |
|
-the Linux kernel v2.6.28 or later. |
|
-It tells |
|
-.I mdadm |
|
-whether to use partitionable array or non-partitionable arrays and, |
|
-in the absence of |
|
-.IR udev , |
|
-how many partition devices to create. From 2.6.28 all md array |
|
-devices are partitionable, hence this option is not needed. |
|
- |
|
-The value of this option can be "yes" or "md" to indicate that a |
|
-traditional, non-partitionable md array should be created, or "mdp", |
|
-"part" or "partition" to indicate that a partitionable md array (only |
|
-available in linux 2.6 and later) should be used. This later set can |
|
-also have a number appended to indicate how many partitions to create |
|
-device files for, e.g. |
|
-.BR auto=mdp5 . |
|
-The default is 4. |
|
- |
|
-.TP |
|
-.B bitmap= |
|
-The option specifies a file in which a write-intent bitmap should be |
|
-found. When assembling the array, |
|
-.I mdadm |
|
-will provide this file to the |
|
-.B md |
|
-driver as the bitmap file. This has the same function as the |
|
-.B \-\-bitmap\-file |
|
-option to |
|
-.BR \-\-assemble . |
|
- |
|
-.TP |
|
-.B metadata= |
|
-Specify the metadata format that the array has. This is mainly |
|
-recognised for comparability with the output of |
|
-.BR "mdadm \-Es" . |
|
- |
|
-.TP |
|
-.B container= |
|
-Specify that this array is a member array of some container. The |
|
-value given can be either a path name in /dev, or a UUID of the |
|
-container array. |
|
- |
|
-.TP |
|
-.B member= |
|
-Specify that this array is a member array of some container. Each |
|
-type of container has some way to enumerate member arrays, often a |
|
-simple sequence number. The value identifies which member of a |
|
-container the array is. It will usually accompany a "container=" word. |
|
-.RE |
|
- |
|
-.TP |
|
-.B MAILADDR |
|
-The |
|
-.B mailaddr |
|
-line gives an E-mail address that alerts should be |
|
-sent to when |
|
-.I mdadm |
|
-is running in |
|
-.B \-\-monitor |
|
-mode (and was given the |
|
-.B \-\-scan |
|
-option). There should only be one |
|
-.B MAILADDR |
|
-line and it should have only one address. Any subsequent addresses |
|
-are silently ignored. |
|
- |
|
-.TP |
|
-.B MAILFROM |
|
-The |
|
-.B mailfrom |
|
-line (which can only be abbreviated to at least 5 characters) gives an |
|
-address to appear in the "From" address for alert mails. This can be |
|
-useful if you want to explicitly set a domain, as the default from |
|
-address is "root" with no domain. All words on this line are |
|
-catenated with spaces to form the address. |
|
- |
|
-Note that this value cannot be set via the |
|
-.I mdadm |
|
-commandline. It is only settable via the config file. |
|
- |
|
-.TP |
|
-.B PROGRAM |
|
-The |
|
-.B program |
|
-line gives the name of a program to be run when |
|
-.B "mdadm \-\-monitor" |
|
-detects potentially interesting events on any of the arrays that it |
|
-is monitoring. This program gets run with two or three arguments, they |
|
-being the Event, the md device, and possibly the related component |
|
-device. |
|
- |
|
-There should only be one |
|
-.B program |
|
-line and it should be give only one program. |
|
- |
|
- |
|
-.TP |
|
-.B CREATE |
|
-The |
|
-.B create |
|
-line gives default values to be used when creating arrays, new members |
|
-of arrays, and device entries for arrays. |
|
-These include: |
|
- |
|
-.RS 4 |
|
-.TP |
|
-.B owner= |
|
-.TP |
|
-.B group= |
|
-These can give user/group ids or names to use instead of system |
|
-defaults (root/wheel or root/disk). |
|
-.TP |
|
-.B mode= |
|
-An octal file mode such as 0660 can be given to override the default |
|
-of 0600. |
|
-.TP |
|
-.B auto= |
|
-This corresponds to the |
|
-.B \-\-auto |
|
-flag to mdadm. Give |
|
-.BR yes , |
|
-.BR md , |
|
-.BR mdp , |
|
-.B part |
|
-\(em possibly followed by a number of partitions \(em to indicate how |
|
-missing device entries should be created. |
|
- |
|
-.TP |
|
-.B metadata= |
|
-The name of the metadata format to use if none is explicitly given. |
|
-This can be useful to impose a system-wide default of version-1 superblocks. |
|
- |
|
-.TP |
|
-.B symlinks=no |
|
-Normally when creating devices in |
|
-.B /dev/md/ |
|
-.I mdadm |
|
-will create a matching symlink from |
|
-.B /dev/ |
|
-with a name starting |
|
-.B md |
|
-or |
|
-.BR md_ . |
|
-Give |
|
-.B symlinks=no |
|
-to suppress this symlink creation. |
|
- |
|
-.TP |
|
-.B names=yes |
|
-Since Linux 2.6.29 it has been possible to create |
|
-.B md |
|
-devices with a name like |
|
-.B md_home |
|
-rather than just a number, like |
|
-.BR md3 . |
|
-.I mdadm |
|
-will use the numeric alternative by default as other tools that interact |
|
-with md arrays may expect only numbers. |
|
-If |
|
-.B names=yes |
|
-is given in |
|
-.I mdadm.conf |
|
-then |
|
-.I mdadm |
|
-will use a name when appropriate. |
|
-If |
|
-.B names=no |
|
-is given, then non-numeric |
|
-.I md |
|
-device names will not be used even if the default changes in a future |
|
-release of |
|
-.IR mdadm . |
|
- |
|
-.TP |
|
-.B bbl=no |
|
-By default, |
|
-.I mdadm |
|
-will reserve space for a bad block list (bbl) on all devices |
|
-included in or added to any array that supports them. Setting |
|
-.B bbl=no |
|
-will prevent this, so newly added devices will not have a bad |
|
-block log. |
|
-.RE |
|
- |
|
-.TP |
|
-.B HOMEHOST |
|
-The |
|
-.B homehost |
|
-line gives a default value for the |
|
-.B \-\-homehost= |
|
-option to mdadm. There should normally be only one other word on the line. |
|
-It should either be a host name, or one of the special words |
|
-.BR <system>, |
|
-.B <none> |
|
-and |
|
-.BR <ignore> . |
|
-If |
|
-.B <system> |
|
-is given, then the |
|
-.BR gethostname ( 2 ) |
|
-systemcall is used to get the host name. This is the default. |
|
- |
|
-If |
|
-.B <ignore> |
|
-is given, then a flag is set so that when arrays are being |
|
-auto-assembled the checking of the recorded |
|
-.I homehost |
|
-is disabled. |
|
-If |
|
-.B <ignore> |
|
-is given it is also possible to give an explicit name which will be |
|
-used when creating arrays. This is the only case when there can be |
|
-more that one other word on the |
|
-.B HOMEHOST |
|
-line. If there are other words, or other |
|
-.B HOMEHOST |
|
-lines, they are silently ignored. |
|
- |
|
-If |
|
-.B <none> |
|
-is given, then the default of using |
|
-.BR gethostname ( 2 ) |
|
-is over-ridden and no homehost name is assumed. |
|
- |
|
-When arrays are created, this host name will be stored in the |
|
-metadata. When arrays are assembled using auto-assembly, arrays which |
|
-do not record the correct homehost name in their metadata will be |
|
-assembled using a "foreign" name. A "foreign" name alway ends with a |
|
-digit string preceded by an underscore to differentiate it |
|
-from any possible local name. e.g. |
|
-.B /dev/md/1_1 |
|
-or |
|
-.BR /dev/md/home_0 . |
|
-.TP |
|
-.B AUTO |
|
-A list of names of metadata format can be given, each preceded by a |
|
-plus or minus sign. Also the word |
|
-.I homehost |
|
-is allowed as is |
|
-.I all |
|
-preceded by plus or minus sign. |
|
-.I all |
|
-is usually last. |
|
- |
|
-When |
|
-.I mdadm |
|
-is auto-assembling an array, either via |
|
-.I \-\-assemble |
|
-or |
|
-.I \-\-incremental |
|
-and it finds metadata of a given type, it checks that metadata type |
|
-against those listed in this line. The first match wins, where |
|
-.I all |
|
-matches anything. |
|
-If a match is found that was preceded by a plus sign, the auto |
|
-assembly is allowed. If the match was preceded by a minus sign, the |
|
-auto assembly is disallowed. If no match is found, the auto assembly |
|
-is allowed. |
|
- |
|
-If the metadata indicates that the array was created for |
|
-.I this |
|
-host, and the word |
|
-.I homehost |
|
-appears before any other match, then the array is treated as a valid |
|
-candidate for auto-assembly. |
|
- |
|
-This can be used to disable all auto-assembly (so that only arrays |
|
-explicitly listed in mdadm.conf or on the command line are assembled), |
|
-or to disable assembly of certain metadata types which might be |
|
-handled by other software. It can also be used to disable assembly of |
|
-all foreign arrays - normally such arrays are assembled but given a |
|
-non-deterministic name in |
|
-.BR /dev/md/ . |
|
- |
|
-The known metadata types are |
|
-.BR 0.90 , |
|
-.BR 1.x , |
|
-.BR ddf , |
|
-.BR imsm . |
|
- |
|
-.B AUTO |
|
-should be given at most once. Subsequent lines are silently ignored. |
|
-Thus an earlier config file in a config directory will over-ride |
|
-the setting in a later config file. |
|
- |
|
-.TP |
|
-.B POLICY |
|
-This is used to specify what automatic behavior is allowed on devices |
|
-newly appearing in the system and provides a way of marking spares that can |
|
-be moved to other arrays as well as the migration domains. |
|
-.I Domain |
|
-can be defined through |
|
-.I policy |
|
-line by specifying a domain name for a number of paths from |
|
-.BR /dev/disk/by-path/ . |
|
-A device may belong to several domains. The domain of an array is a union |
|
-of domains of all devices in that array. A spare can be automatically |
|
-moved from one array to another if the set of the destination array's |
|
-.I domains |
|
-contains all the |
|
-.I domains |
|
-of the new disk or if both arrays have the same |
|
-.IR spare-group . |
|
- |
|
-To update hot plug configuration it is necessary to execute |
|
-.B mdadm \-\-udev\-rules |
|
-command after changing the config file |
|
- |
|
-Keywords used in the |
|
-.I POLICY |
|
-line and supported values are: |
|
- |
|
-.RS 4 |
|
-.TP |
|
-.B domain= |
|
-any arbitrary string |
|
-.TP |
|
-.B metadata= |
|
-0.9 1.x ddf or imsm |
|
-.TP |
|
-.B path= |
|
-file glob matching anything from |
|
-.B /dev/disk/by-path |
|
-.TP |
|
-.B type= |
|
-either |
|
-.B disk |
|
-or |
|
-.BR part . |
|
-.TP |
|
-.B action= |
|
-include, re-add, spare, spare-same-slot, or force-spare |
|
-.TP |
|
-.B auto= |
|
-yes, no, or homehost. |
|
- |
|
-.P |
|
-The |
|
-.I action |
|
-item determines the automatic behavior allowed for devices matching the |
|
-.I path |
|
-and |
|
-.I type |
|
-in the same line. If a device matches several lines with different |
|
-.I actions |
|
-then the most permissive will apply. The ordering of policy lines |
|
-is irrelevant to the end result. |
|
-.TP |
|
-.B include |
|
-allows adding a disk to an array if metadata on that disk matches that array |
|
-.TP |
|
-.B re\-add |
|
-will include the device in the array if it appears to be a current member |
|
-or a member that was recently removed and the array has a |
|
-write-intent-bitmap to allow the |
|
-.B re\-add |
|
-functionality. |
|
-.TP |
|
-.B spare |
|
-as above and additionally: if the device is bare it can |
|
-become a spare if there is any array that it is a candidate for based |
|
-on domains and metadata. |
|
-.TP |
|
-.B spare\-same\-slot |
|
-as above and additionally if given slot was used by an array that went |
|
-degraded recently and the device plugged in has no metadata then it will |
|
-be automatically added to that array (or it's container) |
|
-.TP |
|
-.B force\-spare |
|
-as above and the disk will become a spare in remaining cases |
|
-.RE |
|
- |
|
-.TP |
|
-.B PART-POLICY |
|
-This is similar to |
|
-.B POLICY |
|
-and accepts the same keyword assignments. It allows a consistent set |
|
-of policies to applied to each of the partitions of a device. |
|
- |
|
-A |
|
-.B PART-POLICY |
|
-line should set |
|
-.I type=disk |
|
-and identify the path to one or more disk devices. Each partition on |
|
-these disks will be treated according to the |
|
-.I action= |
|
-setting from this line. If a |
|
-.I domain |
|
-is set in the line, then the domain associated with each patition will |
|
-be based on the domain, but with |
|
-.RB \(dq -part N\(dq |
|
-appended, when N is the partition number for the partition that was |
|
-found. |
|
- |
|
-.TP |
|
-.B SYSFS |
|
-The |
|
-.B SYSFS |
|
-line lists custom values of MD device's sysfs attributes which will be |
|
-stored in sysfs after the array is assembled. Multiple lines are allowed and each |
|
-line has to contain the uuid or the name of the device to which it relates. |
|
-.RS 4 |
|
-.TP |
|
-.B uuid= |
|
-hexadecimal identifier of MD device. This has to match the uuid stored in the |
|
-superblock. |
|
-.TP |
|
-.B name= |
|
-name of the MD device as was given to |
|
-.I mdadm |
|
-when the array was created. It will be ignored if |
|
-.B uuid |
|
-is not empty. |
|
-.RE |
|
- |
|
-.TP |
|
-.B MONITORDELAY |
|
-The |
|
-.B monitordelay |
|
-line gives a delay in seconds |
|
-.I mdadm |
|
-shall wait before pooling md arrays |
|
-when |
|
-.I mdadm |
|
-is running in |
|
-.B \-\-monitor |
|
-mode. |
|
-.B \-d/\-\-delay |
|
-command line argument takes precedence over the config file |
|
- |
|
-.SH EXAMPLE |
|
-DEVICE /dev/sd[bcdjkl]1 |
|
-.br |
|
-DEVICE /dev/hda1 /dev/hdb1 |
|
- |
|
-# /dev/md0 is known by its UUID. |
|
-.br |
|
-ARRAY /dev/md0 UUID=3aaa0122:29827cfa:5331ad66:ca767371 |
|
-.br |
|
-# /dev/md1 contains all devices with a minor number of |
|
-.br |
|
-# 1 in the superblock. |
|
-.br |
|
-ARRAY /dev/md1 superminor=1 |
|
-.br |
|
-# /dev/md2 is made from precisely these two devices |
|
-.br |
|
-ARRAY /dev/md2 devices=/dev/hda1,/dev/hdb1 |
|
- |
|
-# /dev/md4 and /dev/md5 are a spare-group and spares |
|
-.br |
|
-# can be moved between them |
|
-.br |
|
-ARRAY /dev/md4 uuid=b23f3c6d:aec43a9f:fd65db85:369432df |
|
-.br |
|
- spare\-group=group1 |
|
-.br |
|
-ARRAY /dev/md5 uuid=19464854:03f71b1b:e0df2edd:246cc977 |
|
-.br |
|
- spare\-group=group1 |
|
-.br |
|
-# /dev/md/home is created if need to be a partitionable md array |
|
-.br |
|
-# any spare device number is allocated. |
|
-.br |
|
-ARRAY /dev/md/home UUID=9187a482:5dde19d9:eea3cc4a:d646ab8b |
|
-.br |
|
- auto=part |
|
-.br |
|
-# The name of this array contains a space. |
|
-.br |
|
-ARRAY /dev/md9 name='Data Storage' |
|
-.sp |
|
-POLICY domain=domain1 metadata=imsm path=pci-0000:00:1f.2-scsi-* |
|
-.br |
|
- action=spare |
|
-.br |
|
-POLICY domain=domain1 metadata=imsm path=pci-0000:04:00.0-scsi-[01]* |
|
-.br |
|
- action=include |
|
-.br |
|
-# One domain comprising of devices attached to specified paths is defined. |
|
-.br |
|
-# Bare device matching first path will be made an imsm spare on hot plug. |
|
-.br |
|
-# If more than one array is created on devices belonging to domain1 and |
|
-.br |
|
-# one of them becomes degraded, then any imsm spare matching any path for |
|
-.br |
|
-# given domain name can be migrated. |
|
-.br |
|
-MAILADDR root@mydomain.tld |
|
-.br |
|
-PROGRAM /usr/sbin/handle\-mdadm\-events |
|
-.br |
|
-CREATE group=system mode=0640 auto=part\-8 |
|
-.br |
|
-HOMEHOST <system> |
|
-.br |
|
-AUTO +1.x homehost \-all |
|
-.br |
|
-SYSFS name=/dev/md/raid5 group_thread_cnt=4 sync_speed_max=1000000 |
|
-.br |
|
-SYSFS uuid=bead5eb6:31c17a27:da120ba2:7dfda40d group_thread_cnt=4 |
|
-sync_speed_max=1000000 |
|
-.br |
|
-MONITORDELAY 60 |
|
- |
|
-.SH SEE ALSO |
|
-.BR mdadm (8), |
|
-.BR md (4). |
|
diff --git a/mdadm.conf.5.in b/mdadm.conf.5.in |
|
new file mode 100644 |
|
index 00000000..83edd008 |
|
--- /dev/null |
|
+++ b/mdadm.conf.5.in |
|
@@ -0,0 +1,706 @@ |
|
+.\" 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 MDADM.CONF 5 |
|
+.SH NAME |
|
+mdadm.conf \- configuration for management of Software RAID with mdadm |
|
+.SH SYNOPSIS |
|
+{CONFFILE} |
|
+.SH DESCRIPTION |
|
+.PP |
|
+.I mdadm |
|
+is a tool for creating, managing, and monitoring RAID devices using the |
|
+.B md |
|
+driver in Linux. |
|
+.PP |
|
+Some common tasks, such as assembling all arrays, can be simplified |
|
+by describing the devices and arrays in this configuration file. |
|
+ |
|
+.SS SYNTAX |
|
+The file should be seen as a collection of words separated by white |
|
+space (space, tab, or newline). |
|
+Any word that beings with a hash sign (#) starts a comment and that |
|
+word together with the remainder of the line is ignored. |
|
+ |
|
+Spaces can be included in a word using quotation characters. Either |
|
+single quotes |
|
+.RB ( ' ) |
|
+or double quotes (\fB"\fP) |
|
+may be used. All the characters from one quotation character to |
|
+next identical character are protected and will not be used to |
|
+separate words to start new quoted strings. To include a single quote |
|
+it must be between double quotes. To include a double quote it must |
|
+be between single quotes. |
|
+ |
|
+Any line that starts with white space (space or tab) is treated as |
|
+though it were a continuation of the previous line. |
|
+ |
|
+Empty lines are ignored, but otherwise each (non continuation) line |
|
+must start with a keyword as listed below. The keywords are case |
|
+insensitive and can be abbreviated to 3 characters. |
|
+ |
|
+The keywords are: |
|
+.TP |
|
+.B DEVICE |
|
+A |
|
+.B device |
|
+line lists the devices (whole devices or partitions) that might contain |
|
+a component of an MD array. When looking for the components of an |
|
+array, |
|
+.I mdadm |
|
+will scan these devices (or any devices listed on the command line). |
|
+ |
|
+The |
|
+.B device |
|
+line may contain a number of different devices (separated by spaces) |
|
+and each device name can contain wild cards as defined by |
|
+.BR glob (7). |
|
+ |
|
+Also, there may be several device lines present in the file. |
|
+ |
|
+Alternatively, a |
|
+.B device |
|
+line can contain either or both of the words |
|
+.B containers |
|
+and |
|
+.BR partitions . |
|
+The word |
|
+.B containers |
|
+will cause |
|
+.I mdadm |
|
+to look for assembled CONTAINER arrays and included them as a source |
|
+for assembling further arrays. |
|
+ |
|
+The word |
|
+.I partitions |
|
+will cause |
|
+.I mdadm |
|
+to read |
|
+.I /proc/partitions |
|
+and include all devices and partitions found therein. |
|
+.I mdadm |
|
+does not use the names from |
|
+.I /proc/partitions |
|
+but only the major and minor device numbers. It scans |
|
+.I /dev |
|
+to find the name that matches the numbers. |
|
+ |
|
+If no DEVICE line is present, then "DEVICE partitions containers" is assumed. |
|
+ |
|
+For example: |
|
+.IP |
|
+DEVICE /dev/hda* /dev/hdc* |
|
+.br |
|
+DEV /dev/sd* |
|
+.br |
|
+DEVICE /dev/disk/by-path/pci* |
|
+.br |
|
+DEVICE partitions |
|
+ |
|
+.TP |
|
+.B ARRAY |
|
+The ARRAY lines identify actual arrays. The second word on the line |
|
+may be the name of the device where the array is normally |
|
+assembled, such as |
|
+.B /dev/md1 |
|
+or |
|
+.BR /dev/md/backup . |
|
+If the name does not start with a slash |
|
+.RB (' / '), |
|
+it is treated as being in |
|
+.BR /dev/md/ . |
|
+Alternately the word |
|
+.B <ignore> |
|
+(complete with angle brackets) can be given in which case any array |
|
+which matches the rest of the line will never be automatically assembled. |
|
+If no device name is given, |
|
+.I mdadm |
|
+will use various heuristics to determine an appropriate name. |
|
+ |
|
+Subsequent words identify the array, or identify the array as a member |
|
+of a group. If multiple identities are given, |
|
+then a component device must match ALL identities to be considered a |
|
+match. Each identity word has a tag, and equals sign, and some value. |
|
+The tags are: |
|
+.RS 4 |
|
+.TP |
|
+.B uuid= |
|
+The value should be a 128 bit uuid in hexadecimal, with punctuation |
|
+interspersed if desired. This must match the uuid stored in the |
|
+superblock. |
|
+.TP |
|
+.B name= |
|
+The value should be a simple textual name as was given to |
|
+.I mdadm |
|
+when the array was created. This must match the name stored in the |
|
+superblock on a device for that device to be included in the array. |
|
+Not all superblock formats support names. |
|
+.TP |
|
+.B super\-minor= |
|
+The value is an integer which indicates the minor number that was |
|
+stored in the superblock when the array was created. When an array is |
|
+created as /dev/mdX, then the minor number X is stored. |
|
+.TP |
|
+.B devices= |
|
+The value is a comma separated list of device names or device name |
|
+patterns. |
|
+Only devices with names which match one entry in the list will be used |
|
+to assemble the array. Note that the devices |
|
+listed there must also be listed on a DEVICE line. |
|
+.TP |
|
+.B level= |
|
+The value is a RAID level. This is not normally used to |
|
+identify an array, but is supported so that the output of |
|
+ |
|
+.B "mdadm \-\-examine \-\-scan" |
|
+ |
|
+can be use directly in the configuration file. |
|
+.TP |
|
+.B num\-devices= |
|
+The value is the number of devices in a complete active array. As with |
|
+.B level= |
|
+this is mainly for compatibility with the output of |
|
+ |
|
+.BR "mdadm \-\-examine \-\-scan" . |
|
+ |
|
+.TP |
|
+.B spares= |
|
+The value is a number of spare devices to expect the array to have. |
|
+The sole use of this keyword and value is as follows: |
|
+.B mdadm \-\-monitor |
|
+will report an array if it is found to have fewer than this number of |
|
+spares when |
|
+.B \-\-monitor |
|
+starts or when |
|
+.B \-\-oneshot |
|
+is used. |
|
+ |
|
+.TP |
|
+.B spare\-group= |
|
+The value is a textual name for a group of arrays. All arrays with |
|
+the same |
|
+.B spare\-group |
|
+name are considered to be part of the same group. The significance of |
|
+a group of arrays is that |
|
+.I mdadm |
|
+will, when monitoring the arrays, move a spare drive from one array in |
|
+a group to another array in that group if the first array had a failed |
|
+or missing drive but no spare. |
|
+ |
|
+.TP |
|
+.B auto= |
|
+This option is rarely needed with mdadm-3.0, particularly if use with |
|
+the Linux kernel v2.6.28 or later. |
|
+It tells |
|
+.I mdadm |
|
+whether to use partitionable array or non-partitionable arrays and, |
|
+in the absence of |
|
+.IR udev , |
|
+how many partition devices to create. From 2.6.28 all md array |
|
+devices are partitionable, hence this option is not needed. |
|
+ |
|
+The value of this option can be "yes" or "md" to indicate that a |
|
+traditional, non-partitionable md array should be created, or "mdp", |
|
+"part" or "partition" to indicate that a partitionable md array (only |
|
+available in linux 2.6 and later) should be used. This later set can |
|
+also have a number appended to indicate how many partitions to create |
|
+device files for, e.g. |
|
+.BR auto=mdp5 . |
|
+The default is 4. |
|
+ |
|
+.TP |
|
+.B bitmap= |
|
+The option specifies a file in which a write-intent bitmap should be |
|
+found. When assembling the array, |
|
+.I mdadm |
|
+will provide this file to the |
|
+.B md |
|
+driver as the bitmap file. This has the same function as the |
|
+.B \-\-bitmap\-file |
|
+option to |
|
+.BR \-\-assemble . |
|
+ |
|
+.TP |
|
+.B metadata= |
|
+Specify the metadata format that the array has. This is mainly |
|
+recognised for comparability with the output of |
|
+.BR "mdadm \-Es" . |
|
+ |
|
+.TP |
|
+.B container= |
|
+Specify that this array is a member array of some container. The |
|
+value given can be either a path name in /dev, or a UUID of the |
|
+container array. |
|
+ |
|
+.TP |
|
+.B member= |
|
+Specify that this array is a member array of some container. Each |
|
+type of container has some way to enumerate member arrays, often a |
|
+simple sequence number. The value identifies which member of a |
|
+container the array is. It will usually accompany a "container=" word. |
|
+.RE |
|
+ |
|
+.TP |
|
+.B MAILADDR |
|
+The |
|
+.B mailaddr |
|
+line gives an E-mail address that alerts should be |
|
+sent to when |
|
+.I mdadm |
|
+is running in |
|
+.B \-\-monitor |
|
+mode (and was given the |
|
+.B \-\-scan |
|
+option). There should only be one |
|
+.B MAILADDR |
|
+line and it should have only one address. Any subsequent addresses |
|
+are silently ignored. |
|
+ |
|
+.TP |
|
+.B MAILFROM |
|
+The |
|
+.B mailfrom |
|
+line (which can only be abbreviated to at least 5 characters) gives an |
|
+address to appear in the "From" address for alert mails. This can be |
|
+useful if you want to explicitly set a domain, as the default from |
|
+address is "root" with no domain. All words on this line are |
|
+catenated with spaces to form the address. |
|
+ |
|
+Note that this value cannot be set via the |
|
+.I mdadm |
|
+commandline. It is only settable via the config file. |
|
+ |
|
+.TP |
|
+.B PROGRAM |
|
+The |
|
+.B program |
|
+line gives the name of a program to be run when |
|
+.B "mdadm \-\-monitor" |
|
+detects potentially interesting events on any of the arrays that it |
|
+is monitoring. This program gets run with two or three arguments, they |
|
+being the Event, the md device, and possibly the related component |
|
+device. |
|
+ |
|
+There should only be one |
|
+.B program |
|
+line and it should be give only one program. |
|
+ |
|
+ |
|
+.TP |
|
+.B CREATE |
|
+The |
|
+.B create |
|
+line gives default values to be used when creating arrays, new members |
|
+of arrays, and device entries for arrays. |
|
+These include: |
|
+ |
|
+.RS 4 |
|
+.TP |
|
+.B owner= |
|
+.TP |
|
+.B group= |
|
+These can give user/group ids or names to use instead of system |
|
+defaults (root/wheel or root/disk). |
|
+.TP |
|
+.B mode= |
|
+An octal file mode such as 0660 can be given to override the default |
|
+of 0600. |
|
+.TP |
|
+.B auto= |
|
+This corresponds to the |
|
+.B \-\-auto |
|
+flag to mdadm. Give |
|
+.BR yes , |
|
+.BR md , |
|
+.BR mdp , |
|
+.B part |
|
+\(em possibly followed by a number of partitions \(em to indicate how |
|
+missing device entries should be created. |
|
+ |
|
+.TP |
|
+.B metadata= |
|
+The name of the metadata format to use if none is explicitly given. |
|
+This can be useful to impose a system-wide default of version-1 superblocks. |
|
+ |
|
+.TP |
|
+.B symlinks=no |
|
+Normally when creating devices in |
|
+.B /dev/md/ |
|
+.I mdadm |
|
+will create a matching symlink from |
|
+.B /dev/ |
|
+with a name starting |
|
+.B md |
|
+or |
|
+.BR md_ . |
|
+Give |
|
+.B symlinks=no |
|
+to suppress this symlink creation. |
|
+ |
|
+.TP |
|
+.B names=yes |
|
+Since Linux 2.6.29 it has been possible to create |
|
+.B md |
|
+devices with a name like |
|
+.B md_home |
|
+rather than just a number, like |
|
+.BR md3 . |
|
+.I mdadm |
|
+will use the numeric alternative by default as other tools that interact |
|
+with md arrays may expect only numbers. |
|
+If |
|
+.B names=yes |
|
+is given in |
|
+.I mdadm.conf |
|
+then |
|
+.I mdadm |
|
+will use a name when appropriate. |
|
+If |
|
+.B names=no |
|
+is given, then non-numeric |
|
+.I md |
|
+device names will not be used even if the default changes in a future |
|
+release of |
|
+.IR mdadm . |
|
+ |
|
+.TP |
|
+.B bbl=no |
|
+By default, |
|
+.I mdadm |
|
+will reserve space for a bad block list (bbl) on all devices |
|
+included in or added to any array that supports them. Setting |
|
+.B bbl=no |
|
+will prevent this, so newly added devices will not have a bad |
|
+block log. |
|
+.RE |
|
+ |
|
+.TP |
|
+.B HOMEHOST |
|
+The |
|
+.B homehost |
|
+line gives a default value for the |
|
+.B \-\-homehost= |
|
+option to mdadm. There should normally be only one other word on the line. |
|
+It should either be a host name, or one of the special words |
|
+.BR <system>, |
|
+.B <none> |
|
+and |
|
+.BR <ignore> . |
|
+If |
|
+.B <system> |
|
+is given, then the |
|
+.BR gethostname ( 2 ) |
|
+systemcall is used to get the host name. This is the default. |
|
+ |
|
+If |
|
+.B <ignore> |
|
+is given, then a flag is set so that when arrays are being |
|
+auto-assembled the checking of the recorded |
|
+.I homehost |
|
+is disabled. |
|
+If |
|
+.B <ignore> |
|
+is given it is also possible to give an explicit name which will be |
|
+used when creating arrays. This is the only case when there can be |
|
+more that one other word on the |
|
+.B HOMEHOST |
|
+line. If there are other words, or other |
|
+.B HOMEHOST |
|
+lines, they are silently ignored. |
|
+ |
|
+If |
|
+.B <none> |
|
+is given, then the default of using |
|
+.BR gethostname ( 2 ) |
|
+is over-ridden and no homehost name is assumed. |
|
+ |
|
+When arrays are created, this host name will be stored in the |
|
+metadata. When arrays are assembled using auto-assembly, arrays which |
|
+do not record the correct homehost name in their metadata will be |
|
+assembled using a "foreign" name. A "foreign" name alway ends with a |
|
+digit string preceded by an underscore to differentiate it |
|
+from any possible local name. e.g. |
|
+.B /dev/md/1_1 |
|
+or |
|
+.BR /dev/md/home_0 . |
|
+.TP |
|
+.B AUTO |
|
+A list of names of metadata format can be given, each preceded by a |
|
+plus or minus sign. Also the word |
|
+.I homehost |
|
+is allowed as is |
|
+.I all |
|
+preceded by plus or minus sign. |
|
+.I all |
|
+is usually last. |
|
+ |
|
+When |
|
+.I mdadm |
|
+is auto-assembling an array, either via |
|
+.I \-\-assemble |
|
+or |
|
+.I \-\-incremental |
|
+and it finds metadata of a given type, it checks that metadata type |
|
+against those listed in this line. The first match wins, where |
|
+.I all |
|
+matches anything. |
|
+If a match is found that was preceded by a plus sign, the auto |
|
+assembly is allowed. If the match was preceded by a minus sign, the |
|
+auto assembly is disallowed. If no match is found, the auto assembly |
|
+is allowed. |
|
+ |
|
+If the metadata indicates that the array was created for |
|
+.I this |
|
+host, and the word |
|
+.I homehost |
|
+appears before any other match, then the array is treated as a valid |
|
+candidate for auto-assembly. |
|
+ |
|
+This can be used to disable all auto-assembly (so that only arrays |
|
+explicitly listed in mdadm.conf or on the command line are assembled), |
|
+or to disable assembly of certain metadata types which might be |
|
+handled by other software. It can also be used to disable assembly of |
|
+all foreign arrays - normally such arrays are assembled but given a |
|
+non-deterministic name in |
|
+.BR /dev/md/ . |
|
+ |
|
+The known metadata types are |
|
+.BR 0.90 , |
|
+.BR 1.x , |
|
+.BR ddf , |
|
+.BR imsm . |
|
+ |
|
+.B AUTO |
|
+should be given at most once. Subsequent lines are silently ignored. |
|
+Thus an earlier config file in a config directory will over-ride |
|
+the setting in a later config file. |
|
+ |
|
+.TP |
|
+.B POLICY |
|
+This is used to specify what automatic behavior is allowed on devices |
|
+newly appearing in the system and provides a way of marking spares that can |
|
+be moved to other arrays as well as the migration domains. |
|
+.I Domain |
|
+can be defined through |
|
+.I policy |
|
+line by specifying a domain name for a number of paths from |
|
+.BR /dev/disk/by-path/ . |
|
+A device may belong to several domains. The domain of an array is a union |
|
+of domains of all devices in that array. A spare can be automatically |
|
+moved from one array to another if the set of the destination array's |
|
+.I domains |
|
+contains all the |
|
+.I domains |
|
+of the new disk or if both arrays have the same |
|
+.IR spare-group . |
|
+ |
|
+To update hot plug configuration it is necessary to execute |
|
+.B mdadm \-\-udev\-rules |
|
+command after changing the config file |
|
+ |
|
+Keywords used in the |
|
+.I POLICY |
|
+line and supported values are: |
|
+ |
|
+.RS 4 |
|
+.TP |
|
+.B domain= |
|
+any arbitrary string |
|
+.TP |
|
+.B metadata= |
|
+0.9 1.x ddf or imsm |
|
+.TP |
|
+.B path= |
|
+file glob matching anything from |
|
+.B /dev/disk/by-path |
|
+.TP |
|
+.B type= |
|
+either |
|
+.B disk |
|
+or |
|
+.BR part . |
|
+.TP |
|
+.B action= |
|
+include, re-add, spare, spare-same-slot, or force-spare |
|
+.TP |
|
+.B auto= |
|
+yes, no, or homehost. |
|
+ |
|
+.P |
|
+The |
|
+.I action |
|
+item determines the automatic behavior allowed for devices matching the |
|
+.I path |
|
+and |
|
+.I type |
|
+in the same line. If a device matches several lines with different |
|
+.I actions |
|
+then the most permissive will apply. The ordering of policy lines |
|
+is irrelevant to the end result. |
|
+.TP |
|
+.B include |
|
+allows adding a disk to an array if metadata on that disk matches that array |
|
+.TP |
|
+.B re\-add |
|
+will include the device in the array if it appears to be a current member |
|
+or a member that was recently removed and the array has a |
|
+write-intent-bitmap to allow the |
|
+.B re\-add |
|
+functionality. |
|
+.TP |
|
+.B spare |
|
+as above and additionally: if the device is bare it can |
|
+become a spare if there is any array that it is a candidate for based |
|
+on domains and metadata. |
|
+.TP |
|
+.B spare\-same\-slot |
|
+as above and additionally if given slot was used by an array that went |
|
+degraded recently and the device plugged in has no metadata then it will |
|
+be automatically added to that array (or it's container) |
|
+.TP |
|
+.B force\-spare |
|
+as above and the disk will become a spare in remaining cases |
|
+.RE |
|
+ |
|
+.TP |
|
+.B PART-POLICY |
|
+This is similar to |
|
+.B POLICY |
|
+and accepts the same keyword assignments. It allows a consistent set |
|
+of policies to applied to each of the partitions of a device. |
|
+ |
|
+A |
|
+.B PART-POLICY |
|
+line should set |
|
+.I type=disk |
|
+and identify the path to one or more disk devices. Each partition on |
|
+these disks will be treated according to the |
|
+.I action= |
|
+setting from this line. If a |
|
+.I domain |
|
+is set in the line, then the domain associated with each patition will |
|
+be based on the domain, but with |
|
+.RB \(dq -part N\(dq |
|
+appended, when N is the partition number for the partition that was |
|
+found. |
|
+ |
|
+.TP |
|
+.B SYSFS |
|
+The |
|
+.B SYSFS |
|
+line lists custom values of MD device's sysfs attributes which will be |
|
+stored in sysfs after the array is assembled. Multiple lines are allowed and each |
|
+line has to contain the uuid or the name of the device to which it relates. |
|
+.RS 4 |
|
+.TP |
|
+.B uuid= |
|
+hexadecimal identifier of MD device. This has to match the uuid stored in the |
|
+superblock. |
|
+.TP |
|
+.B name= |
|
+name of the MD device as was given to |
|
+.I mdadm |
|
+when the array was created. It will be ignored if |
|
+.B uuid |
|
+is not empty. |
|
+.RE |
|
+ |
|
+.TP |
|
+.B MONITORDELAY |
|
+The |
|
+.B monitordelay |
|
+line gives a delay in seconds |
|
+.I mdadm |
|
+shall wait before pooling md arrays |
|
+when |
|
+.I mdadm |
|
+is running in |
|
+.B \-\-monitor |
|
+mode. |
|
+.B \-d/\-\-delay |
|
+command line argument takes precedence over the config file |
|
+ |
|
+.SH EXAMPLE |
|
+DEVICE /dev/sd[bcdjkl]1 |
|
+.br |
|
+DEVICE /dev/hda1 /dev/hdb1 |
|
+ |
|
+# /dev/md0 is known by its UUID. |
|
+.br |
|
+ARRAY /dev/md0 UUID=3aaa0122:29827cfa:5331ad66:ca767371 |
|
+.br |
|
+# /dev/md1 contains all devices with a minor number of |
|
+.br |
|
+# 1 in the superblock. |
|
+.br |
|
+ARRAY /dev/md1 superminor=1 |
|
+.br |
|
+# /dev/md2 is made from precisely these two devices |
|
+.br |
|
+ARRAY /dev/md2 devices=/dev/hda1,/dev/hdb1 |
|
+ |
|
+# /dev/md4 and /dev/md5 are a spare-group and spares |
|
+.br |
|
+# can be moved between them |
|
+.br |
|
+ARRAY /dev/md4 uuid=b23f3c6d:aec43a9f:fd65db85:369432df |
|
+.br |
|
+ spare\-group=group1 |
|
+.br |
|
+ARRAY /dev/md5 uuid=19464854:03f71b1b:e0df2edd:246cc977 |
|
+.br |
|
+ spare\-group=group1 |
|
+.br |
|
+# /dev/md/home is created if need to be a partitionable md array |
|
+.br |
|
+# any spare device number is allocated. |
|
+.br |
|
+ARRAY /dev/md/home UUID=9187a482:5dde19d9:eea3cc4a:d646ab8b |
|
+.br |
|
+ auto=part |
|
+.br |
|
+# The name of this array contains a space. |
|
+.br |
|
+ARRAY /dev/md9 name='Data Storage' |
|
+.sp |
|
+POLICY domain=domain1 metadata=imsm path=pci-0000:00:1f.2-scsi-* |
|
+.br |
|
+ action=spare |
|
+.br |
|
+POLICY domain=domain1 metadata=imsm path=pci-0000:04:00.0-scsi-[01]* |
|
+.br |
|
+ action=include |
|
+.br |
|
+# One domain comprising of devices attached to specified paths is defined. |
|
+.br |
|
+# Bare device matching first path will be made an imsm spare on hot plug. |
|
+.br |
|
+# If more than one array is created on devices belonging to domain1 and |
|
+.br |
|
+# one of them becomes degraded, then any imsm spare matching any path for |
|
+.br |
|
+# given domain name can be migrated. |
|
+.br |
|
+MAILADDR root@mydomain.tld |
|
+.br |
|
+PROGRAM /usr/sbin/handle\-mdadm\-events |
|
+.br |
|
+CREATE group=system mode=0640 auto=part\-8 |
|
+.br |
|
+HOMEHOST <system> |
|
+.br |
|
+AUTO +1.x homehost \-all |
|
+.br |
|
+SYSFS name=/dev/md/raid5 group_thread_cnt=4 sync_speed_max=1000000 |
|
+.br |
|
+SYSFS uuid=bead5eb6:31c17a27:da120ba2:7dfda40d group_thread_cnt=4 |
|
+sync_speed_max=1000000 |
|
+.br |
|
+MONITORDELAY 60 |
|
+ |
|
+.SH SEE ALSO |
|
+.BR mdadm (8), |
|
+.BR md (4). |
|
-- |
|
2.31.1 |
|
|
|
|