Portál AbcLinuxu, 4. května 2025 23:15

Dotaz: monitoring mdadm na CentOS 7 (systemd)

13.3.2019 00:26 lertimir | skóre: 64 | blog: Par_slov
monitoring mdadm na CentOS 7 (systemd)
Přečteno: 999×
Odpovědět | Admin
Nějak se peru s konfigurací monitoringu 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:e20881a8 
mail 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í je
cat /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.target
a 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 mdadm
Takže moje otázka je: Jak zjistit, co se vlastně nelíbí příkazu systemctl start mdmonitor??
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

k3dAR avatar 13.3.2019 01:28 k3dAR | skóre: 63
Rozbalit Rozbalit vše Re: monitoring mdadm na CentOS 7 (systemd)
Odpovědět | | Sbalit | Link | Blokovat | Admin
jen non-centos tip, mdadm mam na *buntu a v conf nemam MAILFROM a pro MAILADDR mam jen root bez domeny...
porad nemam telo, ale uz mam hlavu... nobody
13.3.2019 08:59 pavele
Rozbalit Rozbalit vše Re: monitoring mdadm na CentOS 7 (systemd)
Já mám v CentOS 7 jen:

MAILADDR root
13.3.2019 10:23 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: monitoring mdadm na CentOS 7 (systemd)
Ano. Takto (pouze mailaddr a v ní jen root) to bylo původně a dostával jsem stále stejnou chybu. Takže jsem zkoušel konfiguraci změnit tak, že jsem vložil úplnou adresu a doplnil mailfrom.
Ruža Becelin avatar 14.3.2019 11:30 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
Rozbalit Rozbalit vše Re: monitoring mdadm na CentOS 7 (systemd)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Neni tam ten Environment zbytecny, kdyz je v unit EnvironmentFile?

Na Fedore 29 ta unit vypada nasledovne:
$ 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
14.3.2019 12:49 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: monitoring mdadm na CentOS 7 (systemd)
Dík za inspiraci, ale nepomohlo. problém je jinde. Smazal jsem Environment a upravil execstart explicitním uvedením --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í?
14.3.2019 13:31 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: monitoring mdadm na CentOS 7 (systemd)
A co mas v /etc/sysconfig/mdmonitor?
14.3.2019 14:16 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: monitoring mdadm na CentOS 7 (systemd)
Nic. Není. Ten soubor se nevytvořil při instalaci a sám jsem ho také následně nevytvořil, nevím co bych do něj měl dát.
14.3.2019 14:45 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: monitoring mdadm na CentOS 7 (systemd)
Ja len ze som riesil podobny problem so startom bind, ked v konfig subore nacitanym v systemd unite bol komentar v riadku parametra:
# tento komentra bol ok
OPTS="..."   # komentar, ktory vadil, po odstraneni to bolo ok
14.3.2019 14:52 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: monitoring mdadm na CentOS 7 (systemd)
Hlavně mne štve, že nejsem schopen získat takovou míru podrobnosti ve výpisu, která by umožnila porozumět kde je problém. Zvláště když přímé provedení uvedeného příkazu proběhne OK.
14.3.2019 12:31 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: monitoring mdadm na CentOS 7 (systemd)
Odpovědět | | Sbalit | Link | Blokovat | Admin
OT: systemd v CentOS 7 je rozbita sracka, resp. defaultna konfiguracia unitov je na hovno. Mam x pripadov, kedy systemd hlasil uplne iny stav sluzby v akom realne bola, hangupy pri spusteni sluzby, start sluzby hlasil ok, ale sluzba realne nestartla, resp. exit kod nebol 0, atd. atd.
14.3.2019 12:32 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: monitoring mdadm na CentOS 7 (systemd)
... a error log veskery zadny.
michich avatar 15.3.2019 17:36 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: monitoring mdadm na CentOS 7 (systemd)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkus ověřit, že systemd expanduje parametry příkazové řádky dle očekávání:
systemd-analyze set-log-level debug
systemctl start mdmonitor
systemd-analyze set-log-level info
journalctl CODE_FUNCTION=exec_child
Dá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 ?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.