X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=mdmon.8;h=ac7352fc5822bdb4a87e71eee3e9ef8288876d26;hb=72362f18aee5adedb405fe61c324604184d74555;hp=df9dfbcee7c0a172fd1b842d0414789230c80923;hpb=cd9a8b5cb4c2a402dbc2bf0ce314cd87285bcf4d;p=thirdparty%2Fmdadm.git diff --git a/mdmon.8 b/mdmon.8 index df9dfbce..ac7352fc 100644 --- a/mdmon.8 +++ b/mdmon.8 @@ -1,11 +1,11 @@ .\" See file COPYING in distribution for details. -.TH MDMON 8 "" v3.1.1 +.TH MDMON 8 "" v4.0 .SH NAME mdmon \- monitor MD external metadata arrays .SH SYNOPSIS -.BI mdmon " [--all] [--takeover] CONTAINER" +.BI mdmon " [--all] [--takeover] [--foreground] CONTAINER" .SH OVERVIEW The 2.6.27 kernel brings the ability to support external metadata arrays. @@ -101,10 +101,10 @@ call is still required. External metadata formats, like DDF, differ from the native MD metadata formats in that they define a set of disks and a series of sub-arrays within those disks. MD metadata in comparison defines a 1:1 -relationship between a set of block devices and a raid array. For -example to create 2 arrays at different raid levels on a single +relationship between a set of block devices and a RAID array. For +example to create 2 arrays at different RAID levels on a single set of disks, MD metadata requires the disks be partitioned and then -each array can created be created with a subset of those partitions. The +each array can be created with a subset of those partitions. The supported external formats perform this disk carving internally. .P Container devices simply hold references to all member disks and allow @@ -131,6 +131,14 @@ The device to monitor. It can be a full path like /dev/md/container, or a simple md device name like md127. .TP +.B \-\-foreground +Normally, +.I mdmon +will fork and continue in the background. Adding this option will +skip that step and run +.I mdmon +in the foreground. +.TP .B \-\-takeover This instructs .I mdmon @@ -157,6 +165,15 @@ This tells mdmon to find any active containers and start monitoring each of them if appropriate. This is normally used with .B \-\-takeover late in the boot sequence. +A separate +.I mdmon +process is started for each container as the +.B \-\-all +argument is over-written with the name of the container. To allow for +containers with names longer than 5 characters, this argument can be +arbitrarily extended, e.g. to +.BR \-\-all-active-arrays . +.TP .PP Note that @@ -164,7 +181,7 @@ Note that is automatically started by .I mdadm when needed and so does not need to be considered when working with -RAID arrays. The only times it is run other that by +RAID arrays. The only times it is run other than by .I mdadm is when the boot scripts need to restart it after mounting the new root filesystem. @@ -178,6 +195,11 @@ mounted there are special considerations when the root filesystem is mounted from an .I mdmon monitored device. +Note that in general +.I mdmon +is needed even if the filesystem is mounted read-only as some +filesystems can still write to the device in those circumstances, for +example to replay a journal after an unclean shutdown. When the array is assembled by the .B initramfs @@ -187,23 +209,20 @@ as required. This means that .I mdmon must be installed on the .B initramfs -and there must be a writable filesystem (typically tmpfs) which +and there must be a writable filesystem (typically tmpfs) in which .B mdmon can create a .B .pid and .B .sock -file on. The particular filesystem to use is given to mdmon at compile +file. The particular filesystem to use is given to mdmon at compile time and defaults to -.BR /lib/init/rw . +.BR /run/mdadm . -This filesystem must persist through to the end of the boot sequence. +This filesystem must persist through to shutdown time. After the final root filesystem has be instantiated (usually with .BR pivot_root ) -and after -.B /var -is mounted writable, .I mdmon should be run with .I "\-\-all \-\-takeover" @@ -211,31 +230,28 @@ so that the .I mdmon running from the .B initramfs -can be replaced with one running in the main root. +can be replaced with one running in the main root, and so the +memory used by the initramfs can be released. At shutdown time, .I mdmon should not be killed along with other processes. Also as it holds a file (socket actually) open in -.B /var -it will not be possible to unmount -.B /var -if it is a separate filesystem. Rather the -.B /var -filesystem, like the root filesystem, should be remounted read-only. - - +.B /dev +(by default) it will not be possible to unmount +.B /dev +if it is a separate filesystem. .SH EXAMPLES -.B " mdmon \-\-all \-\-takeover" +.B " mdmon \-\-all-active-arrays \-\-takeover" .br Any .I mdmon which is currently running is killed and a new instance is started. -This should be run late in the boot sequence and particularly after -.B /var -is mounted and writable. +This should be run during in the boot sequence if an initramfs was +used, so that any mdmon running from the initramfs will not hold +the initramfs active. .SH SEE ALSO .IR mdadm (8), .IR md (4).