Nach Performance-Problemen und Ursachenforschung bootet VPS nicht mehr

  • Hallo liebe Forengemeinde,


    ich habe meinen VPS bei netcup seit 2015 und heute habe ich mir hier angemeldet. Leider, da ich ein Problem habe und momentan keine Idee, wie ich es Lösung kann.


    Ich habe einen M-VPS und betreibe dort folgende Dienste:


    Debian Buster


    - mariadb

    - php-fpm

    - apache2

    - postfix

    - dovecot


    Anwendung:

    - matomo

    - wordpress

    - nextcloud


    Ein ähnliches Setup betreibe ich seit Jahren und habe Anfang April den Server neuaufgesetzt, da mein Debian hofflungslos veraltet war.


    Vor ca. einer Woche kam es nun plötzlich dazu, dass der Server träge wurde. In "top" hatte mariadb teils 100% CPU, nextcloud, wordpress etc. reagierten langsam. Ich kann mir bis heute nicht erklären, was die Ursache war, da ich wissentlich nichts geändert habe (kein Update, keine Konfiguration und keine volle Festplatte etc.). Daraufhin habe ich den netcup-Support kontaktiert und diverse Performance Tests gemacht:


    mysqlslap --no-defaults -u root -p --delimiter=";"

    > --create="CREATE

    > TABLE t (a int);INSERT INTO t VALUES (5)" --query="SELECT * FROM t"

    > --concurrency=40 --

    > iterations=


    dd if=/dev/zero of=/home/jan/testfile bs=1G count=1

    > oflag=direct


    Beide Tests waren nicht schnell, aber liefen durch. Manche Iterationen dauerten allerdings recht lange.


    Mir wurde dann empfohlen, auf das Rettungssystem zu wechseln und dort zu versuchen, ob das Verhalten dort reproduzierbar sei. Da dort meine o.g. Dienste ja nicht laufen habe ich folgenden Test gemacht:


    > > > dd if=/dev/zero of=/dev/sda bs=1G count=1 oflag=direct

    > > > 1+0 records in

    > > > 1+0 records out

    > > > 1000000000 bytes (1.0 GB, 954 Mi

    > > >

    > > > B) copied, 12,5336 s, 79,8 MB/s


    Ich habe die Vermutung, dass ich mir dadurch das System zerschossen habe, da dieses nicht mehr bootet. Hat mir jemand bitte einen Typ, wie ich das System wieder herstellen bzw. einrichten kann? Mir fehlt aktuell die Inspiration bzw. kann ich auch nicht sagen, wo das Problem liegt. Ich vermute aber, dass ich die Festplatte (/dev/sda) blöderweise in der Test überschrieben habe. Kann das sein? Wenn ja, kann ich das System retten?


    Ich wäre über jeden Hinweis dankbar.


    Beste Grüße und vielen Dank

    Jan

  • Ich habe die Vermutung, dass ich mir dadurch das System zerschossen habe, da dieses nicht mehr bootet.

    https://unix.stackexchange.com…if-dev-zero-of-dev-sda-do

    Quote

    WARNING: dd if=/dev/zero of=/dev/ is used to clean a drive or device before forensically copying data. The drive or device must always be sanitized before copying information from a system under forensic investigation to mitigate cross contamination. Therefore, it is not a bad command, the end-user must understand what it is used for or they will destroy their data. If this is what you desire then to verify the zero write operation do dd if=/dev/sda | hexdump -C | head.

    Source: A Practical Guide to Computer Forensics Investigations by Dr Darren Haye

  • Mir wurde dann empfohlen, auf das Rettungssystem zu wechseln und dort zu versuchen, ob das Verhalten dort reproduzierbar sei. Da dort meine o.g. Dienste ja nicht laufen habe ich folgenden Test gemacht:


    > > > dd if=/dev/zero of=/dev/sda bs=1G count=1 oflag=direct


    Du hast deine Festplatte mit Nullen überschrieben. Wer hat dir diesen Befehl gegeben?

    "Security is like an onion - the more you dig in the more you want to cry"

  • dd if=/dev/zero of=/dev/sda bs=1G count=1 oflag=direct

    Mit dem Befehl hast du die ersten 1GB deiner virtuellen Festplatte mit nullen überschrieben.

    Ich bin ja kein Profi, vielleicht kannst du Tools zur Datenrettung noch was holen, aber ich vermute eher nicht.

    Vermutlich ist dein Bootloader weg, die Partitionstabelle und eben was noch alles auf den ersten 1GB deiner Festplatte gespeichert waren.


    Mehr als ein Backup einzuspielen wird dir nicht übrig bleiben..

    Meine (Netcup) Produkte: S 1000 G7, VPS 200 G8 Ostern 2019, IPs, Failover..

  • Ohje, habe befürchtet, dass das der Grund ist und dass der Befehl aus dem Rettungssystem heraus meine Festplatte genullt hat.


    Ich wollte eigentlich nur prüfen, wie die IO-Performance ist. Den Befehl hatte ja bereits früher auf eine Datei im Home-Verzeichnis angewandt. Nun ging das nicht mehr und ich habe dann aus Unverständnis direkt /dev/sda angesprochen. Hatte die Hoffnung, dass sda vielleicht nur im Rettungsystem die Festplatte ist o.ä.


    Danke für die zahlreichen Rückmeldungen. Nein, leider habe ich kein Backup seit der Neuinstallation Anfang April gemacht. Nextcloud-Daten sind glücklicherweise komplett synchronisiert. Netcup hat leider auch kein Backup....

  • un ging das nicht mehr und ich habe dann aus Unverständnis direkt /dev/sda angesprochen

    Für das nächste mal: eine Partition deiner Festplatte in einen lokalen Ordner am Rettungssystem mounten und da rein schreiben :D


    Netcup hat leider auch kein Backup....

    Da der Server vollkommen in deiner Kontrolle ist, ist Netcup dafür leider nicht zuständig.

    Meine (Netcup) Produkte: S 1000 G7, VPS 200 G8 Ostern 2019, IPs, Failover..

  • Wenn die Verzweiflung groß ist: testdisk ist ein Tool unter Linux, das unter Umständen Partitionen noch retten kann, auch, wenn die Partitionstabelle jetzt erledigt ist. Ich erwähne es halt einmal, aber für jemanden der dd in der erwähnten Form anwendet, ist das vielleicht auch nicht optimal. Andererseits: man lernt nur aus Fehlern. Insofern ist das eine Chance zu wachsen. Das erste Gigabyte ist aber verloren. Mein Beileid zum Datenverlust.

  • Ich hab am Sonntag was ähnliches produziert (mit shred) als ich ein altes Notebook neu installiert habe.


    Ich dachte noch: warum zum Geier blinkt die externe HDD, ich lösche doch die interne? Nach etwa 5 Sekunden ist der Groschen gefallen. :wacko:

    CentOS 7 / nginx / php-fpm / postfix / rspamd / clamav / dovecot / nextcloud running on RS 1000 SSDx4 G8 / VPS 500 G8 / VPS 2000 G8 Plus