ubuntuusers.de

LVM Fehlerfall Theorie ...

Status: Ungelöst | Ubuntu-Version: Server 10.04 (Lucid Lynx)
Antworten |

RHBaum

Anmeldungsdatum:
27. November 2008

Beiträge: 74

Ich les mich grad zum Thema LVM ein, find aber zu nem bestimmten Thema kaum Informationen (ich bin wahrscheinlich blind).

Und zwar geht es um den Fall, das wirklich mal eine Platte, also ein Physical Volume mal ausfaellt. Ist dann wirklich alles quasi weg ... oder gibt es Recovery Tools, wo man die Daten wenigstens teilweisse wiederherrstellen kann ? Wie "kompliziert" iss so eine wiederherstellung, wenn überhaupt möglich ?

Man liest immer nur

Der sog. "Single-Point-of-Failure" wird größer, da beim Ausfall einer Platte alle Daten verloren sind, ähnlich wie bei RAID0.

Hintergrund: Hab daten die speicher ich momentan auf "normalen" Partitionen. GroessenordnungsTechnisch geht es um mehrere TB (video mitschnitte), vieles ist dabei wiederbeschaffbar (aufzeichnung). Also kein Beinbruch, wenn mal "was" verschutt geht. Faellt eine Festplatte aus, iss das zwar aergerlich, aber bisher hatt ich nur einmal den Fall, und 80% der Platte waren mit wenig Aufwand rekosntruierbar, also der "Schaden" hielt sich in Grenzen. Ne komplette Sicherung kommt auf Grund der Groesse soewieso nicht in Frage ... selbst nen Software Raid Level 5 ist Imho fast zu viel Aufwand zum Nutzen. Aber wenn alle Daten aufgrund eines Defekts auf einem Physical Volume komplett wegwaeren, das waer natuerlich nicht tolerierbar.

Danke schon mal ...

ArnoW

Avatar von ArnoW

Anmeldungsdatum:
14. November 2009

Beiträge: 1090

Wohnort: Pfalz

Hallo RHBaum,

bei einem LVM, das sich über mehrere Platten (PVs) erstreckt, ist bei einem Ausfall einer Platte jedes LV zerstört, von dem ein Teil auf der ausgefallen Platte lag. Nur wenn ein Logical Volume vollständig auf einer noch intakten Platte liegt, lässt es sich ohne weiteres zumindest "Read-only" starten. Man kann also diese Daten auslesen und sichern. Ein Logical Volume, von dem Teile auf der defekten Platte lagen, lässt sich zwar auch meistens online bringen, man kann es aber nicht mounten, weil das Dateisystem darauf praktisch immer irreparabel defekt ist. Man kann dann nur noch mit Werkzeugen wie testdisk versuchen, einzelne Dateien zu retten.

Zum Reaktivieren teilweise ausgefallener Volumes ruft man vgchange und lvchange mit der Option --partial auf.

Oft wird in einer Volume Group nur ein einziges riesiges LV erstellt, das sich dann über alle PVs erstreckt. Hier sind Probleme vorprogrammiert. Auf ein solches Setup bezieht sich die Formulierung im Wiki:

...da beim Ausfall einer Platte alle Daten verloren sind...

Wichtige Daten ohne Backup würde ich einer solchen Konfiguration nicht anvertrauen, für ein großes Arbeitsverzeichnis mit wiederbeschaffbaren Daten ist das aber natürlich OK.

RHBaum

(Themenstarter)

Anmeldungsdatum:
27. November 2008

Beiträge: 74

Danke schon mal fuer die Antwort, aber so 100% ig werd ich nicht draus schlau. Wenn irgendwas in dem LVM kaputt ist, Krieg ich das Ding ned wieder online, das ist mir klar. Aber kann man da nicht zeugs teilweisse wieder restaurieren ? WIe legt der überhaupt die Daten ab ?

Beispiel: Ich bau mir nen LVM. 3 Platten. Jede Platte bekommt nur eine Partition. fuer jede Partiton mach ich ein LV mein LVM besteht dann aus genau einer VG, mit 3 LV's auf jeweils 1 Partiton. Ich fuelle das LVM mit daten, viele dateien, wobei alle dateien nur ein bruchteil einer LV gross sind.

Nun geht sagen wir mal platte 2 kaputt. also koennte ich noch LV1 und LV3 in die VG zumindest readonly bringen ! richtig ? nur was seh ich dann ? ganze dateien, oder irgendwelches zeugs was ich ned lesen kann ?

Bei Platte 2 sagen wir mal sind paar sektoren kaputt. mit nem reperatur-tool koennt ich nen grossteil der daten wieder herstellen. Aber wenn das nen Teil von nem VG, aber nen eigenestaendiges LV war, nutz mir dass dann ueberhaupt was ? Ergo liegen die daten einer Datei "meistens" im stueck, oder zerstueckelt der die immer, und legt die verteilt ueber LV's ab, und die lassen sich nur lesen/restauerieren, wenn man die komplette VG online bekommt ?

Ciao ...

ArnoW

Avatar von ArnoW

Anmeldungsdatum:
14. November 2009

Beiträge: 1090

Wohnort: Pfalz

Du schreibst:

Beispiel: Ich bau mir nen LVM. 3 Platten. Jede Platte bekommt nur eine Partition. fuer jede Partiton mach ich ein LV mein LVM besteht dann aus genau einer VG, mit 3 LV's auf jeweils 1 Partiton. Ich fuelle das LVM mit daten, viele dateien, wobei alle dateien nur ein bruchteil einer LV gross sind.

Ich bin mir nicht ganz sicher, ob du die Struktur von LVM richtig durchblickst. Ich versuche mal, dir den Aufbau mit meinen Worten zu erklären, vielleicht wird es dann klarer.

Die unterste Ebene sind die physischen Festplatten. Mit dem Befehl pvcreate teilst du dem LVM (der Begriff "LVM" steht hier einfach nur für das Programm, dass den Plattenspeicher verwaltet) mit, welche er davon verwenden darf, das sind in deinem Beispiel 3 Stück. Die Platten brauchen nicht partitioniert zu sein, es geht mit den blanken Platten, also z.B mit /dev/sda.

Die nächste Ebene ist die Volume Group. Die legst du mit dem Befehl vgcreate an, und teilst dabei dem LVM mit, welche Platten zu dieser Gruppe gehören sollen. In deinem Beispiel sind das alle drei. Der LVM macht jetzt erstmal nichts anderes, als dass er deine 3 Platten zu einer einzigen großen "zusammenklebt".

Darauf folgt die nächste Schicht, die Logical Volumes. Diese kann man sich als "Partitionen" auf der großen "zusammengeklebten" Platte vorstellen, die man Volume Group nennt. Angelegt werden sie mit dem Befehl lvcreate. Das ist der für dich entscheidende Schritt, denn bei dem Befehl lvcreate kann man angeben, wie groß diese "Partition" sein soll, und auf welcher der physischen Platten sie liegen soll. Letzteres geht natürlich nur, wenn das neue Logical Volume nicht größer als diese physische Platte ist. Ein Logical Volume, das größer als eine der darunterliegenden Platten ist, belegt Platz auf mehreren Platten. (Das ist allerdings der Normalfall, denn wenn dir der Platz auf den Einzelplatten reicht, brauchst du eigentlich keinen LVM)

Die nächste, und oberste Schicht ist das Dateisystem. Es wird mit den üblichen Formatier-Befehlen auf einem Logical Volume angelegt, genau so, wie man es auf einer "normalen" Partition tun würde.

Wenn jetzt eine deiner 3 Festplatten komplett ausfällt, sagen wir zum Beispiel mal die zweite, dann ist jedes Logical Volume, das entweder ganz oder teilweise auf dieser Platte liegt, irreparabel beschädigt. Das ist ungefähr so, wie wenn du eine Einzelfestplatte aufschraubst, und einen der Platter entfernst. Die Logical Volumes, die nur Platz auf deiner ersten und dritten Platte belegen, sind intakt, und alle Daten können völlig problemlos gelesen werden. Alle Daten darauf sind komplett. Schreiben kannst du erst wieder, wenn du die defekte Platte aus der Konfiguration deines LVM entfernt hast (Dieser Vorgang ist mehrstufig, wenn du Interesse an den Details hast, einfach nochmal fragen).

Nehmen wir weiter an, du hattest ein Logical Volume, das halb auf der ersten, und halb auf der zweiten Platte lag. Das ist dann in einem Zustand, wie wenn bei einer Einzelplatte ab der Hälfte alle Sektoren defekt sind. Alle Daten auf den defekten Sektoren sind hops. Der Rest ist ein Fall für den Datenretter, oder für ein entsprechendes Tool. Geh aber davon aus, dass alle Daten auf dem kompletten Logical Volume verloren sind, alles andere wäre Glückssache.

Neues Beispiel: Die zweite Platte fällt nicht komplett aus, sondern hat nur ein paar defekte Sektoren. Dann kriegst du Lesefehler, so wie auch bei einer gewöhnlichen Platte. So einen Fall hatte ich noch nicht, ich nehme mal an, dass der LVM die defekte Platte bemerkt und die komplette Volume Group offline geht. Anschließend kann man dann wie im ersten Beispiel die Volume Group manuell "Read only" starten. Dann sind die Daten auf allen Logical Volumes, die nicht auf defekten Sektoren liegen, intakt und korrekt lesbar. Das Logical Volume, von dem ein Teil auf defekten Sektoren liegt, ist wiederum ein Fall für den Datenretter. Eventuell sind hier die Chancen aber besser, einfach weil der Defekt nicht so ausgedehnt ist, wie bei einer komplett ausgefallenen Platte.

Ich hoffe, ich habe dich nicht zu viel verwirrt ☺

Antworten |