~~META: date issued = 2008-01-01 ~~ {{tag>linux grundlagen dokumentation desasterrecovery recovery partition filesystem heiko_teichmeier glauchau sachsen}} __letzte inhaltliche Überarbeitung:__ 01.01.2008 ===== Linux - Grundlagen und Befehle ===== ===== 6. Teil - DisasterRecovery ===== ==== 6.1 Hilfe - meine Partition ist weg >:-o< ==== Wenn man, so wie ich, bis spät in der Nacht an seinem Rechner sitzt und Änderungen am Dateisystem durchfährt (ist zu klein, falsch verteilt, man will "LVM" benutzen oder sonst welche Gründe) kann es schon mal passieren dass: * der Rechner beim nächsten Starten hängen bleibt, * der nächste User (bei mir die Tochter oder Frau - oweh, oweh!) seine Daten nicht findet, * man selbst seine Datenbanken vergeblich sucht, * die Intranetseite plötzlich nur noch aus Fehlermeldungen besteht. Jetzt ist es Zeit für: * einen Schnaps ...? * eine Zigarette ...? * andere Selbstmordmethoden ...? Nein es geht auch anders. Ich rate euch, wenn es schon nach 0:00 Uhr ist: **"Geht erst einmal zu Bett!"**. Nach meiner Erfahrung passieren in der Nacht bei gutgemeinten Wiederherstellungsversuchen genau noch einmal so viele Fehler, wie überhaupt in der Nachtarbeit schon mal so manches daneben gehen kann. Am nächsten Morgen guter Kaffee und ein frisches Brötchen - dann gehts los. ==== 6.2 Informationen und Zugriff verschaffen ==== Startet von einer Rettungsdiskette oder -CD. Ich benutze hier gerne die SuSE-Install-CD's (mit der Recovery-Console) oder jetzt auch mal Knoppix 3.4 (mit Option "Knoppix 2" - startet die Textkonsole). Auf diesen Medien findet ihr gute Werkzeuge in einer großen Auswahl. ==== 6.3 Partitionierungsdaten ==== Für einen ersten Überblick wie euer Dateisystem denn auf der Platte verstreut ist, könnt ihr verschiedene Programme benutzen: === 6.3.1 fdisk === ''fdisk -l /dev/hde'' gibt eine Übersicht über vorhandene Partitionen der Partition **/dev/hde** auf den Bildschirm aus, mit Angabe der Start- und Endzylinder, Anzahl der Blöcke und Dateisystemtyp. === 6.3.2 parted === ''parted /dev/hde'' startet ein interaktives Programm (Eingaben erforderlich) zur Anzeige und Manipulation der Partitionseinträge der **Festplatte "hde"**. Man kann sich im interaktiven Modus mit **help** die möglichen Optionen anzeigen lassen. Mit **//parted//** kann man Partitionen **//verkleinern oder vergrößern//**: resize 8 10000,19000 Vergrößert die **Partition 8** auf der ausgewählten Platte - Anfang bei Sektor 10000, Ende bei Sektor 19000. Mit **//parted//** kann man Partitionen **//verschieben//**: move 8 12000,21000 Verschiebt die **Partition 8** auf der ausgewählten Platte - neuer Anfang bei Sektor 12000, neues Ende bei Sektor 21000. Mit **//parted//** kann man Partitionen auch **//retten / wiederherstellen//**. Diese Funktion hat mir schon einmal geholfen als ich meine Partitionstabelle überschrieben hatte. Ich konnte alle Partitionen einwandfrei wiederherstellen: rescue 12000,21000 Versucht die Partition zwischen Sektor 12000 und 21000 wiederherzustellen. Dabei werden dann bestimmte Abfragen durchgeführt ob das was das Programm erkannt hat zutreffen kann. Bestätigt man dies wird es übernommen. Man kann diesen Befehl auch ohne die Optionen **//Start Ende//** aufrufen. Dann wird versucht die komplette Platte wiederherzustellen. === 6.3.3 cfdisk === cfdisk: ------- cfdisk /dev/hde Startet auch ein interaktives Programm zur Anzeige und Manipulation der Partitionseinträge, bietet aber schon eine etwas komfortablere Ausgabe und Bedienung. Auf der anderen Seite habe ich es bisher nur bei Standardkonfigurationsarbeiten verwenden können, da es bei allen erdenklichen Ungereimtheiten im Dateisystem eine Fehlermeldung ausgibt - und dich dann wieder mit deinem Problem allein läßt. Mit diesen Informationen sollte meistens die Fehlerquelle gefunden worden sein. Bei mir waren es u.a. Buchstabenverdreher in der fstab oder im YAST-Dialog eine Partition zu viel in eine //LVM-Volumengroup// eingehängt (darauf waren vorher meine Datenbanken) und damit dann die vorhergehenden Daten überschrieben. Auch Veränderungen an den zum Booten benötigten Partitionen //(/boot und /)// ohne Neuaufruf von "lilo" führt zu einem startverweigerndem System. ==== 6.4 Infos von den Originalplatten ==== Um diese Fehler ausmerzen oder rückgängig machen zu können, muss man meist auf die **/-, /boot- oder /etc-Partition** zugreifen können. ==== 6.5 Mountpoint schaffen ==== Um **lilo noch einmal aufrufen** zu können, benötigt man die */-* und die **/boot-Partition**. Zuerst werden Verzeichnisse mit **mkdir** erzeugt, in die danach die Partitionen mit **mount** eingehängt werden: mkdir /_neu mount -t reiserfs /dev/hda5 /_neu Wenn die ehemalige **/-Partition** erfolgreich gemounted werden konnte, macht man diese mit **chroot** zu seiner aktuellen "Root"-Partition. So können die nächsten Partitionen direkt unter **/** eingehangen werden und auch die gewohnten Programme stehen zur Verfügung (man hat ja wieder seine eigene "Root"-Umgebung). chroot /dev/hda5 Für weitere Partitionen muss man diese Schritte wiederholen, bis man die benötigten Infos erhalten bzw. die Fehler (z.Bsp. fehlerhafte Einstellungen in "/etc/fstab") korrigiert hat. mkdir /wh_neu Die fragliche Partition (hier mal mein Windows Dateiverzeichnisbaum "win_home"; ist als reiserfs-Dateisystem formatiert; sollte auf /dev/hde8 zu finden sein) wird eingehängt (**gemountet**): mount -t reiserfs /dev/hde8 /wh_neu ==== 6.6 Platz schaffen ==== Sollte der Platz bestimmter Partitionen zu klein werden, muss man: * eine neue (größere) Partition anlegen, * diese unter einem bisher noch nicht vergebenem Namen mounten, * die Daten von der zu klein gewordenen Partition dorthin kopieren, * in der Datei **///etc/fstab//** die Eintragung zum Mounten der fraglichen Partition ändern, * die zu klein gewordene Partition (wenn sie nicht gerade benutzt wird) mit **//umount /win_home//** vom Dateisystem //"abhängen"//, * mit **//mount -a//** werden dann alle in der **///etc/fstab//** eingetragenen Partitionen/Geräte in das Dateisystem eingehängt. Sollte die Partition noch benutzt werden startet man mit **//reboot//** den Rechner neu und beobachtet die Ausgaben während des Startvorganges, um evtl. auftretende Probleme zu erkennen. [<>] ~~DISQUS~~