Verlieren Sie alles, wenn Sie einen Festplattenfehler in einem LVM mit mehreren Festplatten haben, der KEIN RAID verwendet?

16

Ich diskutiere über die Verwendung von LVM für einen Medien- / Dateiserver, da ich mehrere physische Festplatten in einem Volume kombinieren möchte. Ich möchte in meinem LVM kein RAID verwenden, daher lautet meine Frage:

Wenn eine der mehreren Festplatten in meinem Volume ausfallen würde, würde ich alle meine Daten verlieren oder würde ich nur die Daten verlieren, die auf dieser einzelnen Festplatte gespeichert waren?

Wenn ich nur die Daten auf der einzelnen Festplatte verlieren würde, wäre es dann so einfach, diese Festplatte auszutauschen und das wiederherzustellen, was sich auf der Festplatte befand, um es wiederherzustellen?

Fujin
quelle

Antworten:

11

Wenn eine der mehreren Festplatten in meinem Volume ausfallen würde, würde ich alle meine Daten verlieren oder würde ich nur die Daten verlieren, die auf dieser einzelnen Festplatte gespeichert waren?

Nein, Sie verlieren Daten, die auf dem gesamten LVM gespeichert sind

Wenn ich nur die Daten auf der einzelnen Festplatte verlieren würde, wäre es dann so einfach, diese Festplatte auszutauschen und das wiederherzustellen, was sich auf der Festplatte befand, um es wiederherzustellen?

Nein, so einfach ist das nicht

Sie können hier ähnliche Fragen zu LVM und Disaster Recovery lesen

B14D3
quelle
7

Ganz einfach: Sie suchen nach mhddfs .
Es gibt vor, ein einziges großes Dateisystem zu sein, schreibt in der angegebenen Reihenfolge auf die Datenträger und verschiebt schließlich große Dateien auf ein anderes Gerät, wenn das erste zu voll war. Tatsächlich können auch Unterordner auf den Datenträgern verwendet werden, was die gleiche Funktionalität ermöglicht.
Die einzelnen Festplatten müssen zuerst gemountet werden und bleiben zugänglich. Es ändert überhaupt nichts an den Dateisystemen und es ist egal, welches Dateisystem vorhanden ist (solange der freie Speicherplatz vom Dateisystem korrekt gemeldet wird). Wenn eine Festplatte verloren geht, müssen Sie Ihre mhddfs erneut (im laufenden Betrieb) einbinden, und die Daten auf dieser Festplatte sind nicht mehr vorhanden.
Verwendung:

mhddfs /dir1,/dir2[,/path/to/dir3] /path/to/mount [-o options]

oder in /etc/fstab

 mhddfs#/path/to/dir1,/path/to/dir2 /mnt/point fuse defaults 0 0

Komplex und leistungsstark: Sie möchten unionfs .
Während mhddfs nett und extrem einfach ist, hatte ich Probleme mit Dateiberechtigungen, wenn ich anderen Zugriff über SSH gewährte. Ich konnte keine Lösung finden, fand aber unionfs.
Mit Unionfs können Sie auch mehrere Ordner über verschiedene Dateisysteme hinweg in einem bereitstellen. Sie können mehrere schreibgeschützte Ordner und einen beschreibbaren Ordner zusammenführen, sodass er als einer angezeigt wird. Personen, für die Sie Ihren zusammengeführten Ordner freigegeben haben, können dann in einen schreibgeschützten Ordner schreiben, wie es ihnen angezeigt wird. Die Dateien werden jedoch in einem einzigen beschreibbaren Ordner gespeichert. Linux-Boot-CDs funktionieren so, die beschreibbare Disk ist eine Ramdisk. Menschen können sogar Dateien in schreibgeschützten Ordnern löschen, wodurch die Datei nicht wirklich gelöscht wird, sondern eine versteckte Whitelist-Datei in ihrem Schreibverzeichnis erstellt wird. Wenn Sie alle Optionen abrufen, können Sie Ihr Dateisystem im Grunde genommen als SVN eines schlechten Mannes verwenden .
Wenn Sie die SVN-ähnlichen Optionen zu oft verwenden, fehlen möglicherweise doppelt vorhandene Daten (in Ihrem Szenario unwahrscheinlich, aber möglich), während Ihr beschreibbarer Ordner mit winzigen, versteckten Whitelist-Dateien gefüllt ist. Ansonsten bleiben Ihre Festplatten sauber und können individuell verwendet werden. Was passiert, wenn eine Datei zu groß für eine Festplatte ist, weiß ich noch nicht.
Verwendung:

 unionfs-fuse -o cow,max_files=32768 \
                 -o allow_other,use_ino,suid,dev,nonempty \
                 /path/to/dir1=rw:/path/to/dir2=ro:/dir3
                 /u/union/etc

wo =rwmacht den Ordner Lese- und beschreibbare und =romacht es nur lesen, auch wenn die Berechtigungen anders angegeben würden. In etc/fstabdiesem ist

unionfs-fuse#/path/to/dir1=rw:/path/to/dir2=ro:dir3 /path/to/mount fuse cow,allow_other 0 0
DennisH
quelle
Wie gehen diese mit einem nicht angeschlossenen Wechseldatenträger um?
Endolith
@endolith Ein mhddfs auf einem Wechseldatenträger würde bedeuten, nicht zu wissen, was darauf endet. Ein unionfs ist zwar sinnvoll, muss jedoch je nach Verfügbarkeit des Wechseldatenträgers unterschiedlich erneut bereitgestellt werden.
DennisH
Ich verstehe deinen Kommentar nicht. Wenn Sie 3 USB-Laufwerke mit mhddfs kombiniert und Dateien darauf abgelegt und dann eines entfernt haben, passiert dann dauerhaft etwas Schlimmes? Wenn Sie es wieder einstecken, wird es wieder so, wie es vorher war?
Endolith
3
@endolith Das Herausziehen des Steckers beim Schreiben ist niemals gut. Wenn Sie nach dem Schreiben den Stecker ziehen, sind alle USB-Laufwerke einzeln in Ordnung, kein Problem. Sie können ein Laufwerk ausstecken, in PC2 einstecken, verwenden, wieder in PC1 einstecken und erneut einhängen, um es wie zuvor zu verwenden. Zwischen dem Mount-Punkt auf Ihrem gewöhnlichen PC1 muss mitgeteilt werden, dass Sie das Laufwerk genommen haben (Remount). Angenommen, Sie teilen 2 Dateien mit PC2. Sie können jedoch nicht feststellen, auf welchem ​​Laufwerk des mhddfs-Mount sie sich befinden oder ob es sich sogar um dasselbe Laufwerk handelt. Die Laufwerke sind immer noch einzeln erreichbar, um den Speicherort zu überprüfen / sicherzustellen, aber dies beinhaltet keine mhddfs mehr.
DennisH
4

Wenn Sie nur mehrere Geräte miteinander verbinden, gibt es keine Redundanz, sodass Sie die Daten verlieren können. Wenn Sie jedoch einen Medien- / Dateiserver für ein Unternehmen verwenden, sollten Sie nichts verlieren, da Sie alles auf einem Sicherungsserver / Bandlaufwerk gesichert haben.

Warum vermeiden Sie RAID? Der Punkt von RAID ist die Verfügbarkeit; Wenn Sie keine Zeit aufgrund eines Festplattenfehlers verlieren möchten, können Sie eine RAID 1-Konfiguration verwenden, die auch Ihre Lesevorgänge beschleunigt. Sie sind nicht zu teuer, zahlen sich selbst aus, wenn Sie zum ersten Mal einen Festplattenfehler haben. Wenn Sie WIRKLICH vermeiden, eine Karte bezahlen zu müssen, können Sie Linux für die Verwendung von Software-RAID einrichten, obwohl das Setup etwas sorgfältiger ist und Fehlerbehebung, um sicherzustellen, dass Sie das richtige Laufwerk austauschen.

Andernfalls müssten Sie durch einige Rahmen springen, um zu versuchen, welche Daten Sie von den verbleibenden Datenträgern wiederherstellen können. Es wäre möglich, aber du fragst ein bisschen nach viel mehr Ärger, als du haben solltest. Holen Sie sich ein gutes Backup und überdenken Sie das RAID.

Bart Silverstrim
quelle
1
Ich vermeide RAID, weil ich mir keine Sorgen um die Verfügbarkeit mache. Dies ist für den persönlichen Gebrauch. Ich versuche, RAID zu vermeiden, weil ich mehr nach Zuverlässigkeit Ausschau halte. Ein kleines Problem tritt bei RAID auf, und Sie verlieren das gesamte Array, und ich habe keine Lust, mich damit zu befassen. Ich habe eher eine große Dateiablage, die ich sichern kann, als mehrere.
Fujin
1
Ich bin mir nicht sicher, ob ich das verstehe. RAID lässt Sie das Array nicht verlieren, wenn eine Sache schief geht. Wenn Sie kein RAID verwenden, wird durch einen Fehler das Ganze zerstört.
JOTN
4
@ user72630: Sie haben schwerwiegende Missverständnisse in Bezug auf die Funktionsweise eines RAID. Erstens gibt es verschiedene RAID-Level, von denen die meisten darauf ausgelegt sind, Datenverluste im Falle eines Festplattenausfalls zu vermeiden. Dann können Sie ein RAID so konfigurieren, dass sich nur ein Dateisystem auf mehreren Festplatten befindet, genau wie Sie es mit LVM planen. Bitte lies en.wikipedia.org/wiki/RAID
Sven
Was die anderen gesagt haben. Der springende Punkt bei RAID ist, die Verfügbarkeit aufrechtzuerhalten. Das heißt, das Laufwerk fällt aus und die Daten sind weiterhin verfügbar. Mit der richtigen Ausrüstung können Sie das ausgefallene Laufwerk im laufenden Betrieb austauschen, ohne sich Gedanken über Ausfallzeiten machen zu müssen .
Bart Silverstrim
3

Wenn Sie ein einziges Dateisystem verwenden, das sich über alle LVM-Volumes erstreckt, wird das gesamte Dateisystem beschädigt, da der FS die zugrunde liegenden physischen Volumes nicht kennt und keine darauf ausgerichteten Strukturen erstellt. Es ist möglicherweise möglich, einige der Teile auf den Arbeitsdisketten zu retten, es gibt jedoch keine Garantie dafür.

Und nur die Dateien der beschädigten Festplatte wiederherzustellen, wird aus dem gleichen Grund auch nicht funktionieren.

Sven
quelle
2

Ich denke, ein viel einfacherer Weg wäre, mdadm für Ihre Medienpartition zu konfigurieren. Wenn Sie nicht über die Hardware für "echtes RAID" verfügen, ist die mdadm-Route erheblich einfacher und scheint Ihren Anforderungen an Redundanz und einfachen Festplattentausch zu entsprechen.

# Format your drives first
# Create your MD
mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sda2 /dev/sdb2 /dev/sdc2

# In the event that a drive fails do the following
mdadm /dev/md1 --fail /dev/sda1
# Format the new drive
mdadm --add /dev/md1 /dev/sda1

Für weitere Informationen: http://en.wikipedia.org/wiki/Mdadm

Wenn eine der mehreren Festplatten in meinem Volume ausfallen würde, würde ich alle meine Daten verlieren oder würde ich nur die Daten verlieren, die auf dieser einzelnen Festplatte gespeichert waren?

Wenn Sie mdadm und RAID 5 verwenden, können Sie ein Laufwerk verlieren und das Array funktionsfähig machen. Dies kann zu Leistungseinbußen führen.

Aaron Lake
quelle
1

Ich denke, das Wichtigste, was nicht erwähnt wurde, ist, dass eine Datei in einem Dateisystem nicht unbedingt an einer Stelle auf einer Festplatte gespeichert ist. Es ist in Blöcke aufgeteilt, die sich irgendwo im Dateisystem befinden können. Die ersten 4 KB, wenn sich Ihre Datei möglicherweise auf der Festplatte 1 befindet, die nächste auf der Festplatte 2 usw. Sie können sich das Durcheinander vorstellen, wenn Sie versuchen, etwas wiederherzustellen, wenn Sie einen Teil des Dateisystems verloren haben.

JOTN
quelle
0

Btrfs ist hier eine gute Wahl; Sie können Metadaten haben, die dem Verlust eines Datenträgers standhalten (das Chunk-Profil "raid1"). Die Daten auf den anderen Datenträgern sind weiterhin verfügbar (nur damit wir uns sicher sind, dass Dateien voller Lücken entstehen, wenn auf den fehlenden Datenträger verwiesen wird). Dies geschieht durch Ausführen von btrfs balance mit einem Filter :

sudo btrfs balance start -m convert=raid1 /mnt/point
Gabriel
quelle