Zitat von Sebbo
systemd ist nicht in allen Betriebssystemen verfügbar - vor allem in etwas älteren, die aber noch LTS besitzen
Prinzipiell ist das richtig systemd ist ein, im Vergleich recht neues Konzept. Allerdings ist selbst bei den sehr langsamen Distros systemd längst angekommen. Without Systemd Die Liste der Distros die systemd nicht unerstützen ist lang, ja aber die Nutzerstatistiken zu den Distros sind genauso einstellig wie nicht vorhanden, ausgenommen slackware.
Zitat von Sebbo
Du brauchst pro TeamSpeak 3 Server Instanz einen neuen systemd Service: ts3server01.service, ts3server02.service, ..., ts3serverN.service
Das stimmt wiederum nicht. Systemd funktioniert nicht nur für eine einzelne Instanz sondern kann genauso für mehrer Instanzen eingesetzt werden. Ich hab mal einige Links zusammen gestellt die genauer erklären wie das funktioniert. Systemd ist relativ kompliziert kann aber auch super einfach sein.
Zitat von Sebbo
Wie bildest du in systemd den TSDNS Server ab? Dazu gibt es keine PID-Datei...
Systemd verlangt gar keine PID um einen Process zu starten. Es ist ohne Probleme möglich auch TSDNS via systemd zu regeln und hier geht natürlich auch systemctl enable tsdns.service um den service automatisch beim boot zu starten.
[Unit]
Description=Meine Service Unit
[Service]
Type=simple
ExecStart=/PFAD/ZUM/BEFEHL/befehl
[Install]
WantedBy=multi-user.target
Alles anzeigen
Zitat von Sebbo
Was macht systemd, wenn eine TS3 Instanz crasht? systemd kann im Fehlerfall den Dienst neustarten, aber versuche die möglichen Problemszenarios mal systemd zu erklären.
Systemd zumindest in er Konfiguration wie ich sie gepostet habe würde beim Status failed den Dienst herunterfahren, bzw den Status auf stopped setzen, die PID löschen und dann den Dienst mit der beschriebenen ExecStart neu starten.
Das dabei keine Rücksicht auf missing files oä genommen wird. Klar das ist ein System Programm und kein SysAdmin.
Zitat von Sebbo
Es gibt aber auch den Fall, dass die PID-Datei vom TS3 Server noch existiert, die Instanz allerdings gecrasht ist (z.B. Linux Reboot ohne TS3 Shutdown oder eingefrorener Host und entsprechender Neustart).
Selbst wenn der reboot angeordnet wird sogar per Hardware press wird das multi-user.target benachrichtig das ein shutdown ansteht und der service wird beendet und die PID gelöscht. Selbst wenn nicht, teamspeak löscht die pid automatisch, wenn eine Instanz startet und noch eine PID vorhanden ist.
Zitat von Sebbo
systemd versendet z.B. keine E-Mails.
Es ist genauso möglich eine Notification zu bekommen, falls ein System Dienst den Status failed hat : Systemd status mail on unit failure | Northern Light Labs
Zitat von Sebbo
Zusätzlich bekam es dann halt noch das Feature, dass es auch gleich versucht, die Services entsprechend korrekt wieder zu starten. Das war allerdings anfangs nicht vorgesehen.
Ich sage nur systemctl enable tsdns.service macht genau das.
Systemd ist ein Programm das von RedHat entwickelt wird, einem System das für seine Stabilität bekannt ist. Die Funktionalität von supervisord ist halt ein Bruchteil von systemd und ist auch gar nicht dafür designed systemd zu Verdrängen oä.
Ich muss allerdings den Punkt geben das systemd nicht auf alles System zur Verfügung steht vorallem bei Firmensystem die häufig ultra alte System laufen haben. Allerdings auch nur einen halben Punkt den init können so ziemlich alles Distros und init ist zwar nur systemd light aber könnte diese Funktionen auch übernehmen wenn auch nicht so schön wie systemd.