Portál AbcLinuxu, 4. května 2025 23:15
mdadm
na CentOS 7. Pokud službu standardně spouštím se systemd
dostanu:# root @ gondor in ~ [0:10:21] $ systemctl restart mdmonitor Job for mdmonitor.service failed because the control process exited with error code. See "systemctl status mdmonitor.service" and "journalctl -xe" for details. # root @ gondor in ~ [0:10:36] C:1 $ systemctl status mdmonitor ● mdmonitor.service - Software RAID monitoring and management Loaded: loaded (/usr/lib/systemd/system/mdmonitor.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Wed 2019-03-13 00:10:36 CET; 8s ago Process: 29134 ExecStart=/sbin/mdadm --monitor $MDADM_MONITOR_ARGS -f --pid-file=/var/run/mdadm/mdadm.pid (code=exited, status=1/FAILURE) Mar 13 00:10:35 gondor.doma systemd[1]: Starting Software RAID monitoring and management... Mar 13 00:10:35 gondor.doma mdadm[29134]: mdadm: No mail address or alert command - not monitoring. Mar 13 00:10:36 gondor.doma systemd[1]: mdmonitor.service: control process exited, code=exited status=1 Mar 13 00:10:36 gondor.doma systemd[1]: Failed to start Software RAID monitoring and management. Mar 13 00:10:36 gondor.doma systemd[1]: Unit mdmonitor.service entered failed state. Mar 13 00:10:36 gondor.doma systemd[1]: mdmonitor.service failed.stěžuje si na mail adresu. Ale v
cat /etc/mdadm.conf # mdadm.conf # # Please refer to mdadm.conf(5) for information about this file. # DEVICE partitions MAILADDR root@gondor MAILFROM mdadm@gondor HOMEHOST <system> ARRAY backuppc uuid=003bab47:fb9b9751:341db7aa:3fd438e8 ARRAY basic uuid=9d22cd4a:a35869c2:3f9d3c4d:e20881a8mail adresa je. pokud dám přímo příkaz
mdadm --monitor --scan --test -1
mail v pořádku dorazí. systemd unit, která monitoring spouští jecat /usr/lib/systemd/system/mdmonitor.service [Unit] Description=Software RAID monitoring and management After=syslog.target ConditionPathExists=/etc/mdadm.conf [Service] Type=forking PIDFile=/var/run/mdadm/mdadm.pid Environment= MDADM_MONITOR_ARGS=--scan EnvironmentFile=-/etc/sysconfig/mdmonitor ExecStart=/sbin/mdadm --monitor $MDADM_MONITOR_ARGS -f --pid-file=/var/run/mdadm/mdadm.pid [Install] WantedBy=multi-user.targeta když v vezmu definici proměnné
MDADM_MONITOR_ARGS
a nahradím ji do příkazu a provedu ručně, tak vše běží jak se očekává.# root @ gondor in ~ [0:17:21] $ /sbin/mdadm --monitor --scan -f --pid-file=/var/run/mdadm/mdadm.pid # root @ gondor in ~ [0:22:42] $ ps -ef | grep mdadm root 30556 1 0 00:22 ? 00:00:00 /sbin/mdadm --monitor --scan -f --pid-file=/var/run/mdadm/mdadm.pid root 30563 7469 0 00:22 pts/0 00:00:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn mdadmTakže moje otázka je: Jak zjistit, co se vlastně nelíbí příkazu
systemctl start mdmonitor
??
$ cat /usr/lib/systemd/system/mdmonitor.service [Unit] Description=Software RAID monitoring and management ConditionPathExists=/etc/mdadm.conf [Service] Type=forking PIDFile=/var/run/mdadm/mdadm.pid EnvironmentFile=-/etc/sysconfig/mdmonitor ExecStart=/sbin/mdadm --monitor --scan -f --pid-file=/var/run/mdadm/mdadm.pid [Install] WantedBy=multi-user.target
--scan
a dopadlo to stejně.# root @ gondor in /usr/lib/systemd/system [12:02:32] C:1 $ systemctl daemon-reload # root @ gondor in /usr/lib/systemd/system [12:02:51] $ systemctl restart mdmonitor Job for mdmonitor.service failed because the control process exited with error code. See "systemctl status mdmonitor.service" and "journalctl -xe" for details. # root @ gondor in /usr/lib/systemd/system [12:02:54] C:1 $ systemctl status mdmonitor ● mdmonitor.service - Software RAID monitoring and management Loaded: loaded (/usr/lib/systemd/system/mdmonitor.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Thu 2019-03-14 12:02:54 CET; 14s ago Process: 28506 ExecStart=/sbin/mdadm --monitor --scan -f --pid-file=/var/run/mdadm/mdadm.pid (code=exited, status=1/FAILURE) Mar 14 12:02:54 gondor.doma systemd[1]: Starting Software RAID monitoring and management... Mar 14 12:02:54 gondor.doma mdadm[28506]: mdadm: No mail address or alert command - not monitoring. Mar 14 12:02:54 gondor.doma systemd[1]: mdmonitor.service: control process exited, code=exited status=1 Mar 14 12:02:54 gondor.doma systemd[1]: Failed to start Software RAID monitoring and management. Mar 14 12:02:54 gondor.doma systemd[1]: Unit mdmonitor.service entered failed state. Mar 14 12:02:54 gondor.doma systemd[1]: mdmonitor.service failed.Zkusil jsem i do příkazu vložit
-vv
abych získal více informací a nic více se nevypíše. nějaký jiný nápad, co se mu fakticky nelíbí?
# tento komentra bol ok OPTS="..." # komentar, ktory vadil, po odstraneni to bolo ok
systemd-analyze set-log-level debug systemctl start mdmonitor systemd-analyze set-log-level info journalctl CODE_FUNCTION=exec_childDále můžeš ověřit, zda mdadm čte správný konfigurák. Nainstaluj si
strace
a uprav ExecStart
v mdmonitor.service
:
ExecStart=/bin/strace -D -f -o /root/mdadm.strace /sbin/mdadm --monitor [...]Pak zas
systemctl daemon-reload
, systemctl start mdmonitor
a prohlédnout si /root/mdadm.strace
.
Co ukazuje systemctl show-environment
?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.