Fórum Root.cz
Hlavní témata => Server => Téma založeno: Aleš Rygl 16. 09. 2019, 10:24:04
-
Dobry den.
Rad bych pozadal o radu. Presouvam servery z fyz. zeleza do virtualizace. Narazil jsem na neprijemny problem. Pokud mam u sitove sluzby definovanu adresu, na ktere ma poslouchat, casto se stava, ze prestoze v definici systemd unity je
After=sysinit.target network.target basic.target system.slice systemd-journald.socket
sluzba nenastartuje, protoze sitove rozhrani v ten moment jeste neni k dispozici.
Typicky snmpd:
Sep 16 10:06:54 server systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon....
Sep 16 10:06:54 server systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..
Sep 16 10:06:54 server snmpd[698]: /etc/snmp/snmpd.conf: line 149: Warning: Unknown token: defaultMonitors.
Sep 16 10:06:54 server snmpd[698]: /etc/snmp/snmpd.conf: line 151: Warning: Unknown token: linkUpDownNotifications.
Sep 16 10:06:54 server snmpd[698]: Turning on AgentX master support.
Sep 16 10:06:54 server snmpd[698]: Error opening specified endpoint "udp:10.49.33.20:161"
Sep 16 10:06:54 server snmpd[698]: Server Exiting with code 1
Sep 16 10:06:54 server systemd[1]: snmpd.service: Main process exited, code=exited, status=1/FAILURE
Sep 16 10:06:54 server systemd[1]: snmpd.service: Failed with result 'exit-code'.
Sluzbu ale staci restartnout je vse je ok.
Sep 16 10:10:02 server systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon....
Sep 16 10:10:02 server systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..
Sep 16 10:10:02 server snmpd[1177]: /etc/snmp/snmpd.conf: line 149: Warning: Unknown token: defaultMonitors.
Sep 16 10:10:02 server snmpd[1177]: /etc/snmp/snmpd.conf: line 151: Warning: Unknown token: linkUpDownNotifications.
Sep 16 10:10:02 server snmpd[1177]: Turning on AgentX master support.
Sep 16 10:10:02 server snmpd[1177]: NET-SNMP version 5.7.3
IMHO pricinou je paralelizace startu a virtulani hw ktery je "velmi rychly". Velmi neprijemne je to to treba u SSH.
Ma tohle nejake reseni?
Diky
A.
-
Asi jde o obecny problem paralelizace startu, protoze neco podobneho se deje, pokud napr. nejaky demon potrebuje otevrit socket poskytnuty jinym demonem. Kuprikladu snmpd poskytuje socket: /var/agentx/master. Pokud mam jineho demona, ktery je na nem zavisly a potrebuje ho, tak by mel logicky startovat az po snmpd, coz se deje.
Nicmene direktivy After ani Requires v konfiguraci zavisle unity nepomahaji a nedokazi zarucit, ze se /var/agentx/master vytvori vcas. >:( Restart to pochopitelne vyresi, resp. da se to obejit pomoci:
[Service]
ExecStartPre=/bin/sleep 2
Coz je tedy neni uplne hezke reseni. Verim, ze se s tim musel uz nekdo potkat...
-
Dobry den.
Rad bych pozadal o radu. Presouvam servery z fyz. zeleza do virtualizace. Narazil jsem na neprijemny problem. Pokud mam u sitove sluzby definovanu adresu, na ktere ma poslouchat, casto se stava, ze prestoze v definici systemd unity je
After=sysinit.target network.target basic.target system.slice systemd-journald.socket
sluzba nenastartuje, protoze sitove rozhrani v ten moment jeste neni k dispozici.
Na tohle téma je poměrně obsáhlý text (https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/) v dokumentaci systemd. Jinak obecně, ten nejefektnější způsob, jak toto vyřešit, je použít režim soketové aktivace, kdy soket vytvoří přímo systemd a teprv až na něj přijde spojení, nastartuje příslušného démona. To ale vyžaduje podporu na straně démona. Spousta démonů takovou podporu už má.
-
Diky za nasmerovani. Vypada to nadejne.