]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - mdmon.8
get_info_super: report which other devices are thought to be working/failed.
[thirdparty/mdadm.git] / mdmon.8
diff --git a/mdmon.8 b/mdmon.8
index 2720b45257bae68e3c4601e48dd7c2d3c748f995..2ccb2792766d173f7ffc1f8eb5b8d3e29683ddba 100644 (file)
--- a/mdmon.8
+++ b/mdmon.8
@@ -1,5 +1,5 @@
 .\" See file COPYING in distribution for details.
-.TH MDMON 8 "" v3.1.1
+.TH MDMON 8 "" v3.1.4
 .SH NAME
 mdmon \- monitor MD external metadata arrays
 
@@ -21,7 +21,7 @@ To service metadata update requests a daemon,
 is introduced.
 .I Mdmon
 is tasked with polling the sysfs namespace looking for changes in
-.BR array_state , 
+.BR array_state ,
 .BR sync_action ,
 and per disk
 .BR state
@@ -157,6 +157,14 @@ 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 .
 
 .PP
 Note that
@@ -169,16 +177,72 @@ RAID arrays.  The only times it is run other that by
 is when the boot scripts need to restart it after mounting the new
 root filesystem.
 
+.SH START UP AND SHUTDOWN
+
+As
+.I mdmon
+needs to be running whenever any filesystem on the monitored device is
+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
+code, mdadm will automatically start
+.I mdmon
+as required.  This means that
+.I mdmon
+must be installed on the
+.B initramfs
+and there must be a writable filesystem (typically tmpfs) in which
+.B mdmon
+can create a
+.B .pid
+and
+.B .sock
+file.  The particular filesystem to use is given to mdmon at compile
+time and defaults to
+.BR /dev/.mdadm .
+
+This filesystem must persist through to shutdown time.
+
+After the final root filesystem has be instantiated (usually with
+.BR pivot_root )
+.I mdmon
+should be run with
+.I "\-\-all \-\-takeover"
+so that the
+.I mdmon
+running from the
+.B initramfs
+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 /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).