Garantierter Neustart über SCP Webservice (API)

  • Gibt es die Möglichkeit einen Garantierter Neustart über SCP Webservice (API) auszuführen ?
    stopVServer - warten - startVServer ist ja nicht das selbe, da bei stopVServer der Server ja hart ausgeschaltet wird.

    Falls es keine Funktion dafür gibt, hätte ich die gerne :)

  • Leider nicht:

    vServerReset ist wahrscheinlich der Erzwungener Neustart:Die Instanz wird von außen resettet. Hierbei kann es zu Datenverlusten kommen.

    (Ich habe kein herunterfahren im Log)

    vServerACPIReboot ist normal Strg+Alt+Entf (Im SCP läuft der Server weiter)

  • Ich habe es damals so realisiert: https://gist.github.com/killerbees19/d…file-reboot-php

    Quasi mehrfach vServerACPIShutdown() und irgendwann nach einem Timeout zur Not ein vServerPoweroff(). Danach ganz normal vServerStart().

    Das ist im Endeffekt exakt ein "garantierter Neustart". :)

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

    Einmal editiert, zuletzt von KB19 (19. Mai 2022 um 02:16)

  • Ein alternativer Ansatz für die Nutzung von nicht via API verfügbarer Funktionen wäre der Einsatz von Selenium; michaelvo hat hiermit offenbar Erfahrungen gesammelt, vielleicht wäre eine Nachfrage bei ihm/in diesem Diskussionsfaden nützlich, wenn das noch nicht in den Netcup Community Tutorials thematisiert wurde?

    Unabhängig davon empfiehlt es sich immer, den QEmu Guest Agent zu installieren, wobei man hier aus Sicherheitsgründen einige Funktionen clientseitig blockieren kann (vergleiche diesen Diskussionsfaden). Hierfür würde man etwa folgende Liste als Anhaltspunkt verwenden, die auch irgendwo in diesem Forum diskutiert wurde (neuere Versionen des Agenten erweitern dessen Funktionen regelmäßig):

    Zitat von /etc/systemd/system/qemu-guest-agent.service

    [Service]

    ExecStart=-/usr/sbin/qemu-ga --blacklist=guest-exec,guest-exec-status,guest-set-user-password,guest-file-close,guest-file-flush,guest-file-open,guest-file-read,guest-file-seek,guest-file-write,guest-get-users,guest-get-osinfo,guest-ssh-get-authorized-keys,guest-ssh-add-authorized-keys,guest-ssh-remove-authorized-keys

    Restart=always

    RestartSec=0

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE

  • wieso nicht einfach via SSH ein ssh root@host "shutdown -h now " und dann via SCP API ein Start des vServers?

    Das führt aber nicht zu einem garantierten Neustart, wenn die KVM-Instanz beispielsweise nicht mehr reagiert. Deswegen wird hierfür ja in der Regel die "Kontrollinstanz" bemüht.

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE

  • Ich habe mich inzwischen für die Lösung von KB19 entschieden:

    ACPI Reboot, nach einer Wartezeit dann vServerReset.

    Der Server wird extern überwacht, wenn er 30 Minuten nicht reagiert kommt ein ACPI Reboot und wenn es dann immer noch keine Rückmeldung gibt nach weiteren 15 Minuten dann ein vServerReset.

    Ich hoffe das Skript wird nie aktiv, ist aber getestet :)

  • Erinnerung: Wie weiter oben ausgeführt, bringt die aktuelle Version 9.1 von QEMU wieder neue Befehle für den "guest agent" (qemu-ga), welche man ggf. blockieren möchte (eine Übersicht liefert qemu-ga -b '?' | sort) :

    guest-agent: support for guest-network-get-route command on linux, guest-ssh-* commands on Windows

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE

    Einmal editiert, zuletzt von m_ueberall (5. September 2024 um 10:47)