X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=mdadm.conf.5;h=400b10c361bd4e731985f435d91dc9aabc261bc2;hb=de89706515967cb6a7174d32748ed7891ce5772f;hp=376b8388ff22014f91ab74a7a14d2873740f59bd;hpb=0e69da729dd75c3047f22230529d67563b6aeb59;p=thirdparty%2Fmdadm.git diff --git a/mdadm.conf.5 b/mdadm.conf.5 index 376b8388..400b10c3 100644 --- a/mdadm.conf.5 +++ b/mdadm.conf.5 @@ -53,9 +53,20 @@ Also, there may be several device lines present in the file. Alternatively, a .B device -line can contain the word +line can contain either of both of the words +.B containers +and .BR partitions . -This will cause +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 @@ -67,7 +78,7 @@ 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" is assumed. +If no DEVICE line is present, then "DEVICE partitions containers" is assumed. For example: .IP @@ -75,22 +86,35 @@ DEVICE /dev/hda* /dev/hdc* .br DEV /dev/sd* .br -DEVICE /dev/discs/disc*/disc +DEVICE /dev/disk/by-path/pci* .br DEVICE partitions .TP .B ARRAY The ARRAY lines identify actual arrays. The second word on the line -should be the name of the device where the array is normally +may be the name of the device where the array is normally assembled, such as -.BR /dev/md1 . +.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 +(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= @@ -135,6 +159,7 @@ this is mainly for compatibility with the output of .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 @@ -157,10 +182,15 @@ or missing drive but no spare. .TP .B auto= -This option declares to +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 -that it should try to create the device file of the array if it -doesn't already exist, or exists but with the wrong device number. +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", @@ -189,6 +219,18 @@ 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 @@ -294,19 +336,177 @@ to suppress this symlink creation. The .B homehost line gives a default value for the -.B --homehost= -option to mdadm. There should be exactly one other word on the line. -It should either exactly -.B -or a host name. +.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 , +.B +and +.BR . If .B is given, then the .BR gethostname ( 2 ) -systemcall is used to get the host name. +systemcall is used to get the host name. This is the default. + +If +.B +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 +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 +.B +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, only arrays -with this host name stored in the metadata will be considered. +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 . + +.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 +ppcontains 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 + +Key words used in the +.I POLICY +line and supported values are: + +.RS 7 +.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 +.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 +.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 .SH EXAMPLE DEVICE /dev/sd[bcdjkl]1 @@ -346,7 +546,25 @@ ARRAY /dev/md5 uuid=19464854:03f71b1b:e0df2edd:246cc977 ARRAY /dev/md/home UUID=9187a482:5dde19d9:eea3cc4a:d646ab8b .br auto=part - +.br +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 @@ -354,6 +572,8 @@ PROGRAM /usr/sbin/handle\-mdadm\-events CREATE group=system mode=0640 auto=part\-8 .br HOMEHOST +.br +AUTO +1.x homehost -all .SH SEE ALSO .BR mdadm (8),