So beheben Sie eine Beschädigung des Dateisystems im FreeBSD-Einzelbenutzermodus

Einführung

Trotz aller Bemühungen kann es vorkommen, dass Ihr Server Dateibeschädigungen aufweist und wiederhergestellt werden muss. Dies kann vorkommen, wenn Ihr VPS plötzlich ausgeschaltet wird oder wenn plötzlich eine Software- oder Hardware-Fehlfunktion auftritt.

In beiden Fällen können Sie Schritte unternehmen, um Ihren VPS wiederherzustellen. Unter FreeBSD können viele dieser Funktionen im Einzelbenutzermodus ausgeführt werden. In diesem Tutorial werden die Schritte beschrieben, die Sie ausführen können, um Ihr FreeBSD-Droplet im Einzelbenutzermodus zu starten, und wie Sie mit den dortigen Tools versuchen, ein beschädigtes Dateisystem wiederherzustellen.

Wichtige Überlegungen und Risiken

In jedem Fall sind gute Backups der beste Weg, um Datenverlust zu verhindern. Nur wenn Sie eine zuverlässige Offsite-Backup-Lösung implementieren und regelmäßig gründlich testen, können Sie die Integrität Ihrer wichtigen Daten gewährleisten.

Wiederherstellungsoptionen wie fsck sind zwar oft nützlich, es gibt jedoch keine Garantie dafür, dass sie ordnungsgemäß funktionieren, und der Erfolg ist oft nur eine Frage des Glücks. Der fsck-Vorgang kann gelegentlich zu Datenbeschädigungen auf aktiven Datenträgern führen. In Fällen schwerwiegender Schäden können dennoch Probleme auftreten. Berücksichtigen Sie daher diese letzten Methoden zur Datenwiederherstellung.

Booten in den Einzelbenutzermodus

Um Ihr Droplet im Einzelbenutzermodus zu starten, können Sie den folgenden Befehl ausführen:

sudo nextboot -o "-s" -k kernel

Dadurch wird Ihr Droplet angewiesen, beim nächsten Neustart in den Einzelbenutzermodus zu wechseln, anstatt zu versuchen, das gesamte System zu laden. Sobald Sie fertig sind, können Sie den Befehl + reboot + verwenden, um Ihr Droplet neu zu starten.

sudo reboot

Nach dem Neustart ist Ihr Droplet über ssh nicht mehr über das Netzwerk erreichbar. Sie müssen nun über die Konsole in der Systemsteuerung auf Ihr Droplet zugreifen. Sobald der Neustart abgeschlossen ist, befinden Sie sich in einer sehr minimalen Shell, ähnlich der unten gezeigten:

Wenn Sie die Linie sehen:

Enter full pathname of shell or RETURN for /bin/sh:

Sie können + Enter drücken, um eine Shell-Sitzung zu starten.

Alternative Methode

Wenn Ihr Droplet nicht über ssh erreichbar ist, können Sie Ihr Droplet dennoch mit dieser alternativen Methode im Einzelbenutzermodus starten.

Klicken Sie zunächst in der Systemsteuerung auf die Schaltfläche zum Aus- und Einschalten, um Ihr Droplet neu zu starten.

Öffnen Sie unmittelbar danach die Konsole Ihres Droplets. Nach ein paar Sekunden sollten Sie einen Bildschirm wie diesen sehen:

Wählen Sie in diesem Menü den Punkt "+ 2 +" und drücken Sie die Eingabetaste, um fortzufahren.

Durchführen einer Dateisystemprüfung

Nachdem sich Ihr Droplet im Einzelbenutzermodus befindet, können wir fortfahren. Stellen Sie zunächst sicher, dass wir wissen, welches Gerät überprüft wird. Wenn Sie den folgenden Befehl ausführen, werden die derzeit konfigurierten Dateisysteme angezeigt.

cat /etc/fstab

Die Ausgabe sollte ungefähr so ​​aussehen:

Der erste Eintrag in der Liste zeigt ein ufs-Dateisystem, nach dem wir suchen. Jetzt können Sie den folgenden Befehl ausführen, um eine Dateisystemprüfung auf dieser Festplatte durchzuführen.

fsck -yf /dev/gpt/rootfs

Überprüfen der Ergebnisse

Sobald Ihre Dateisystemprüfung abgeschlossen ist, können Sie Ihr Droplet mit dem Befehl + reboot + neu starten, um den Einzelbenutzermodus zu verlassen und Ihr Dropet im normalen (Mehrbenutzermodus) neu zu starten.

Stellen Sie mit einem SSH-Client eine Verbindung zu Ihrem Droplet her. Wenn Ihr Tröpfchen auf Ihre SSH-Verbindung reagiert und dies nicht früher war, ist dies ein gutes Zeichen. Wenn Sie zuvor auf bestimmte Probleme gestoßen sind, die Sie auf die Möglichkeit einer Beschädigung aufmerksam gemacht haben, sollten Sie diese Vorgänge erneut versuchen, um festzustellen, ob sie erfolgreich sind.

Eine wichtige Aufgabe ist es, das Verzeichnis / lost + found zu überprüfen. Hier legt fsck teilweise wiederhergestellte Dateien ab.

Manchmal ist fsck in der Lage, Dateidaten wiederherzustellen, kann jedoch keinen Verweis auf die Datei im Dateisystem finden. Grundsätzlich handelt es sich um eine Datei ohne Namen. Wenn fsck mit dieser Situation konfrontiert ist, werden diese Dateien im Verzeichnis / lost + found abgelegt, sodass Sie manuell versuchen können, herauszufinden, was die Datei ist.

Überprüfen Sie nach dem Ausführen von fsck, ob sich in diesem Verzeichnis etwas befindet. Da das Fundbüro nur dem Root-Benutzer zur Verfügung steht, wechseln wir zunächst mit dem Befehl + sudo su + in das Root-Konto:

sudo su
cd /lost+found
ls

Befinden sich Dateien in diesem Verzeichnis, möchten Sie wissen, ob Sie sie identifizieren können. Häufig handelt es sich dabei um Dateien, die Sie sowieso gelöscht hatten, die jedoch noch verwendet wurden, als das System abstürzte. Es lohnt sich jedoch, sie zu überprüfen, um sicherzugehen.

Wenn Ihr Dateisystem immer noch merklich kaputt ist oder der Start beim Zurückschalten in den Mehrbenutzermodus fehlschlägt, können Sie am besten https://www.digitalocean.com/community/tutorials/recovering-files-from-a- kompromittiertes-droplet-using-the-recovery-iso [Verwenden Sie ein Wiederherstellungs-ISO, um alle benötigten Dateien wiederherzustellen]. Dazu müssen Sie https://cloud.digitalocean.com/support ein Ticket mit dem Support-Team öffnen, um Ihr Droplet in die Wiederherstellungsumgebung zu booten.

Fazit

Eine Beschädigung des Dateisystems ist zwar nie eine gute Sache, bedeutet jedoch nicht unbedingt, dass alle Ihre wichtigen Daten verloren gegangen sind. Der Erfolg Ihrer Wiederherstellungsvorgänge hängt von einer Reihe von Faktoren ab, z. B. davon, wie schnell das Dateisystem die Beschädigung festgestellt hat, wie weit verbreitet das Problem war und welche Dateien betroffen waren.

Wenn es darum geht, ist die einfache Wiederherstellung mithilfe automatisierter Tools weitgehend eine Funktion des Glücks. In vielen Fällen ist die fsck-Wiederherstellung jedoch erfolgreich, und Sie können Ihren Server wieder ohne große Kopfschmerzen verwenden. Denken Sie daran, dass gute Backups der wichtigste Schritt sind, um Datenverlusten vorzubeugen.