138 lines
4.7 KiB
Diff
138 lines
4.7 KiB
Diff
From 4199d3c629c14866505923d19fa50017ee92d2e1 Mon Sep 17 00:00:00 2001
|
|
From: NeilBrown <neilb@suse.com>
|
|
Date: Wed, 5 Dec 2018 16:35:00 +1100
|
|
Subject: [RHEL7.7 PATCH 04/24] mdcheck: add systemd unit files to run mdcheck.
|
|
|
|
Having the mdcheck script is not use if is never run.
|
|
This patch adds systemd unit files so that it can easily
|
|
be run on the first Sunday of each month for 6 hours,
|
|
then on every subsequent morning until the check is
|
|
finished.
|
|
|
|
The units still need to be enabled with
|
|
systemctl enable mdcheck_start.timer
|
|
|
|
The timer will only actually be started when an array
|
|
which might need it becomes active.
|
|
|
|
Signed-off-by: NeilBrown <neilb@suse.com>
|
|
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
|
|
---
|
|
Makefile | 5 ++++-
|
|
systemd/mdcheck_continue.service | 18 ++++++++++++++++++
|
|
systemd/mdcheck_continue.timer | 13 +++++++++++++
|
|
systemd/mdcheck_start.service | 17 +++++++++++++++++
|
|
systemd/mdcheck_start.timer | 15 +++++++++++++++
|
|
5 files changed, 67 insertions(+), 1 deletion(-)
|
|
create mode 100644 systemd/mdcheck_continue.service
|
|
create mode 100644 systemd/mdcheck_continue.timer
|
|
create mode 100644 systemd/mdcheck_start.service
|
|
create mode 100644 systemd/mdcheck_start.timer
|
|
|
|
diff --git a/Makefile b/Makefile
|
|
index 2767ac6..afb62cc 100644
|
|
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -276,7 +276,10 @@ install-udev: udev-md-raid-arrays.rules udev-md-raid-assembly.rules udev-md-raid
|
|
|
|
install-systemd: systemd/mdmon@.service
|
|
@for file in mdmon@.service mdmonitor.service mdadm-last-resort@.timer \
|
|
- mdadm-last-resort@.service mdadm-grow-continue@.service; \
|
|
+ mdadm-last-resort@.service mdadm-grow-continue@.service \
|
|
+ mdcheck_start.timer mdcheck_start.service \
|
|
+ mdcheck_continue.timer mdcheck_continue.service \
|
|
+ ; \
|
|
do sed -e 's,BINDIR,$(BINDIR),g' systemd/$$file > .install.tmp.2 && \
|
|
$(ECHO) $(INSTALL) -D -m 644 systemd/$$file $(DESTDIR)$(SYSTEMD_DIR)/$$file ; \
|
|
$(INSTALL) -D -m 644 .install.tmp.2 $(DESTDIR)$(SYSTEMD_DIR)/$$file ; \
|
|
diff --git a/systemd/mdcheck_continue.service b/systemd/mdcheck_continue.service
|
|
new file mode 100644
|
|
index 0000000..592c607
|
|
--- /dev/null
|
|
+++ b/systemd/mdcheck_continue.service
|
|
@@ -0,0 +1,18 @@
|
|
+# This file is part of mdadm.
|
|
+#
|
|
+# mdadm 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.
|
|
+
|
|
+[Unit]
|
|
+Description=MD array scrubbing - continuation
|
|
+ConditionPathExistsGlob = /var/lib/mdcheck/MD_UUID_*
|
|
+
|
|
+[Service]
|
|
+Type=oneshot
|
|
+Environment= MDADM_CHECK_DURATION='"6 hours"'
|
|
+EnvironmentFile=-/run/sysconfig/mdadm
|
|
+ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh
|
|
+ExecStart=/usr/share/mdadm/mdcheck --continue --duration $MDADM_CHECK_DURATION
|
|
+
|
|
diff --git a/systemd/mdcheck_continue.timer b/systemd/mdcheck_continue.timer
|
|
new file mode 100644
|
|
index 0000000..3ccfd78
|
|
--- /dev/null
|
|
+++ b/systemd/mdcheck_continue.timer
|
|
@@ -0,0 +1,13 @@
|
|
+# This file is part of mdadm.
|
|
+#
|
|
+# mdadm 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.
|
|
+
|
|
+[Unit]
|
|
+Description=MD array scrubbing - continuation
|
|
+
|
|
+[Timer]
|
|
+OnCalendar= 1:05:00
|
|
+
|
|
diff --git a/systemd/mdcheck_start.service b/systemd/mdcheck_start.service
|
|
new file mode 100644
|
|
index 0000000..812141b
|
|
--- /dev/null
|
|
+++ b/systemd/mdcheck_start.service
|
|
@@ -0,0 +1,17 @@
|
|
+# This file is part of mdadm.
|
|
+#
|
|
+# mdadm 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.
|
|
+
|
|
+[Unit]
|
|
+Description=MD array scrubbing
|
|
+Wants=mdcheck_continue.timer
|
|
+
|
|
+[Service]
|
|
+Type=oneshot
|
|
+Environment= MDADM_CHECK_DURATION='"6 hours"'
|
|
+EnvironmentFile=-/run/sysconfig/mdadm
|
|
+ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh
|
|
+ExecStart=/usr/share/mdadm/mdcheck --duration $MDADM_CHECK_DURATION
|
|
diff --git a/systemd/mdcheck_start.timer b/systemd/mdcheck_start.timer
|
|
new file mode 100644
|
|
index 0000000..6480736
|
|
--- /dev/null
|
|
+++ b/systemd/mdcheck_start.timer
|
|
@@ -0,0 +1,15 @@
|
|
+# This file is part of mdadm.
|
|
+#
|
|
+# mdadm 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.
|
|
+
|
|
+[Unit]
|
|
+Description=MD array scrubbing
|
|
+
|
|
+[Timer]
|
|
+OnCalendar=Sun *-*-1..7 1:00:00
|
|
+
|
|
+[Install]
|
|
+WantedBy= mdmonitor.service
|
|
--
|
|
2.7.5
|
|
|