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>
This commit is contained in:
parent
cd72f9d114
commit
4199d3c629
5
Makefile
5
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 ; \
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -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
|
Loading…
Reference in New Issue