Wartezeit beim shutdown zwischen SIGTERM und KILL

  • Hallo,


    mein Vserver läuft nach dem Neustart wg des Kernelupdates problemlos, nur mysql beschwert sich wieder über crashed tables. Das passiert auch nach einem Neustart/Stop im VCP jedes Mal. Offensichtlich wird mysql dabei brutal gestoppt statt sauber beendet. Ich vermute, dass das einfach daran liegt, dass mysql beim regulären Stoppen eine Weile braucht, bis es wirklich beendet ist. Nach der freundlichen Aufforderung zum Beenden kommt dann vermutlich zu schnell ein 'kill -9'.
    Kann man das irgendwie ändern, außer mysql so zu konfigurieren, dass es ständig flusht? Die eigentlich Frage ist vermutlich: Kann man die Wartezeit verlängern, die die VCP-Shutdown-Funktionalität den Prozessen zwischen SIGTERM und KILL lässt?


    Grüße,
    Hannes

  • Dieses Problem betrifft übrigens auch und insbesondere die managed-Varianten, bei denen man als User bei einem Neustart so gut wie keine direkten Eingriffs- und Steuerungsmöglichkeit hat. Bei mir kam es bei einem Server-Neustart auch schon zu fehlerhaften MySQL-tables und sogar Datenverlusten.


    Daher wäre eine allgemeine Verbesserung diesbezüglich sehr wünschenswert, um solche Ärgernisse bei notwendigen Neustarts möglichst ausschließen zu können.

  • Ich verstehe nicht so richtig, worauf ihr hier hinaus gehen wollt. Auch wenn man MySQL von Hand stopt und startet wird von MySQL folgende Standard-Meldungen kommen: "Checking for corrupt, not cleanly closed and upgrade needing tables.."
    Das darf man nicht als Fehler interpretieren, dass ist nur eine Standard-Aussage von MySQL.

  • Es geht darum, dass MySQL an einigen stellen nicht schnell genug beendet werden kann, und die Virtualisierung nach einem Timeout die Prozesse einfach killt. Dadurch kann es halt passieren das Tabellen kaputt gehen.


    Ähnliches ist mir beim Stromausfall bei Hetzner passiert. Da war auch die Hälfte der Datenbanken kaputt.
    Zum Glück alles wiederherstellbar.

  • Ich verstehe nicht so richtig, worauf ihr hier hinaus gehen wollt. Auch wenn man MySQL von Hand stopt und startet wird von MySQL folgende Standard-Meldungen kommen: "Checking for corrupt, not cleanly closed and upgrade needing tables.."
    Das darf man nicht als Fehler interpretieren, dass ist nur eine Standard-Aussage von MySQL.


    Von der Meldung rede ich nicht, mir gehts um

    Zitat

    Jan 24 14:39:26 caldron mysqld: 120124 14:39:26 [ERROR] /usr/sbin/mysqld: Table xyz is marked as crashed and should be repaired