Wie richte ich mehrere Festplatten als ein Volume ein?

39

Ich bin dabei, Box so einzurichten, dass sie im Grunde genommen ein Dateiserver ist. Ich plane, mehrere Laufwerke in der Box zu haben, und möchte sie alle so einrichten, dass sie wie ein einzelnes Laufwerk erscheinen. Also ich könnte es im Grunde genommen bei say / media einbinden lassen und es ist mir egal welches Laufwerk benutzt wird. Ich bin mir nicht sicher, wie die korrekte Terminologie dafür lautet. Daher ist mein Google Fu in dieser Situation unbrauchbar.

Wie richte ich mehrere Festplatten so ein, dass sie als eine einzige Festplatte angezeigt werden?

Jacob Schoen
quelle

Antworten:

17

Sie werden wahrscheinlich LVM verwenden wollen . Sie können einige Führungen finden hier .

mgunes
quelle
1
Vielen Dank. Als Hinweis: Ich möchte anscheinend "SettingUpLVM-WithoutACleanInstall", da ich weder Raid verwende noch etwas verschlüssele.
Jacob Schoen
47

Ich habe mich dazu entschlossen, die Schritt-für-Schritt-Anleitung zu schreiben, die ich gemacht habe, um dies einzurichten. Ein wichtiger Hinweis ist, dass ich dies auf einem System getan habe, auf dem ich von einer separaten Partition boote, die nicht Teil des LVM ist. Der LVM dient also nur zur Speicherung und verfügt nicht über die Dateien, die das Betriebssystem zum Booten benötigt. Dies dient auch dazu, das Erscheinungsbild eines großen Laufwerks zu erzeugen, obwohl eine ähnliche Technik verwendet werden kann, um das Erscheinungsbild mehrerer Laufwerke zu erzeugen (eigentlich Partitionen). Es ist eine sehr egoistische Gehirnerschütterung, da die anderen Führer mir nicht all das vervollständigen. Also hoffe ich, dass es anderen helfen kann.

Diese Richtungen sind im Wesentlichen von der Verbindung zur Verfügung gestellt von Murat Günes mit etwas mehr Informationen , die ich von versammelt hier .


Ich habe mit einer Diskette begonnen, auf der sich nichts befand, was ich brauchte.

  • Zuerst müssen Sie eine Partition als Linux LVM erstellen. Sie können dazu fdisk verwenden. Sie können alle Laufwerke sehen, die Ubuntu sieht, und wie sie aufgelistet sind, indem Sie Folgendes ausführen:sudo fdisk -l

Die erste Zeile in jedem Abschnitt sollte genügend Informationen enthalten, um Ihr Laufwerk zu identifizieren. Es wird so aussehen:

Datenträger / dev / sda: 500,1 GB, 500107862016 Byte

Der entscheidende Teil ist /dev/sda. Jetzt laufen: sudo fdisk /dev/sda. Du wirst sehen:

Befehl (m für Hilfe):

Geben Sie ein, pum die Partitionen auf Ihrem Laufwerk aufzulisten. Sie müssen die Partitionen löschen, die Teil des LVM sein sollen. Also tippe dzum Löschen. Wenn das Laufwerk nur eine Partition hat, wird es entfernt (markieren Sie es zum Entfernen, es passiert nicht, bis wir es dazu auffordern). Ansonsten, glaube ich (meine hatte nur eine), werden Sie aufgefordert, die Nummer der zu löschenden Nummer einzugeben.

Jetzt müssen Sie die neue Partition erstellen. Typ nfür neu. Es wird gefragt, ob erweitert oder primär. Typ pfür primär. Es fragt nach der Partitionsnummer, Typ 1. Für den ersten und den letzten Zylinder lassen Sie sie einfach leer, um die Standardeinstellungen zu verwenden.

Jetzt müssen Sie es auf Linux LVM einstellen. Typ t. Es fragt nach einem Hex-Code, der 8efür den Linux-LVM verwendet wird. Sie sollten etwas sehen wie:

Systemtyp von Partition 1 auf 8e geändert (Linux LVM)

Geben Sie schließlich ein w, um die Änderungen auf die Festplatte zu schreiben.

  • Jetzt müssen wir LVM sudo apt-get install lvm2installieren und ausführen , um es zu installieren.
  • Ich werde ehrlich sein und sagen, dass ich nicht sicher bin, was dieser Schritt tut, aber die anderen Richtungen, die gesagt werden, um modprobe dm-moddas LVM-Modul zu laden. Ich habe keine Fehler bekommen, also denke ich, dass es funktioniert hat.
  • Wir müssen die Datei / etc / modules bearbeiten, damit dieses Modul beim Booten geladen wird. Haben sudo nano /etc/modulessie zu öffnen , zu bearbeiten. In dm-modder Liste der Elemente.
  • Wir möchten auch die lvm-Konfiguration bearbeiten, um den Filter zu aktualisieren, sodass das Scannen nicht zu lange dauert (ich denke, aus diesem Grund auch). Also mache sudo nano -w /etc/lvm/lvm.confund ändere die Zeile mit:

filter = ["a /.*/"]

sein:

filter = ["a | / dev / hd [ab] |", "r /.*/"]

  • Jetzt müssen wir den ersten LVM einrichten. Tun sudo vgscan. Sie sollten etwas sehen wie:

Lesen aller physischen Volumes. Dies kann eine Weile dauern ...
Keine Volume-Gruppen gefunden

Nur für den Fall, dass bereits Volume-Gruppen eingerichtet wurden sudo vgchange -a y, um diese verfügbar zu machen.

  • Führen Sie sudo pvcreate /dev/sda1nun aus, um die Partition einzurichten.
  • Führen sudo vgcreate media /dev/sda1Sie nun das Ersetzen von Medien durch den Namen aus, als den die Partition beschriftet werden soll.
  • Führen sudo lvcreate -l100%FREE -nvolume mediaSie nun das Ersetzen des Volumes durch den Namen aus, der aufgerufen werden soll. Dadurch wird der gesamte freie Speicherplatz in der Partition verwendet.
  • Jetzt müssen wir das Volume so formatieren, dass Sie es für ext4 tun würden sudo mke2fs -t ext4 /dev/media/volume.
  • Stellen Sie das Verzeichnis ein, in das Sie das Volume laden möchten. Ich habe es getan sudo mkdir /mnt/media.
  • Stellen Sie den Datenträger damit ein sudo mount /dev/media/volume /mnt/media. Dies ist jetzt nur für diese Sitzung. Beim Neustart wird die Bereitstellung nicht automatisch fortgesetzt. Dazu müssen wir die /etc/fstabDatei bearbeiten . Fügen Sie dazu sudo nano /etc/fstabdie Zeile hinzu und fügen Sie sie hinzu:

/ dev / media / volume / mnt / media ext4 ist standardmäßig 0 1

An diesem Punkt können Sie beginnen, Dateien zur Festplatte hinzuzufügen. Wenn Sie also andere Festplatten löschen müssen, die Sie hinzufügen möchten, können Sie sie hier kopieren.


Hinzufügen eines weiteren Laufwerks zu Ihrem Volume

  • Befolgen Sie die Schritte im ersten Punkt erneut, bis auf das neue Laufwerk.
  • Nun , wenn der Name des Laufwerks ist /dev/sdb1dann tun sudo vgextend media /dev/sdb1es mit dem Volumen hinzuzufügen.
  • Jetzt müssen wir das Volume aushängen. Um dies zu tun, tun Sie sudo umount /dev/media/volume.
  • Jetzt können Sie die Statistiken auf Ihrem Volume anzeigen, indem Sie ausführen sudo vgdisplay. Der wichtige Teil ist Free PE / Size. Sie müssen wissen, wie viel Speicherplatz Sie für den nächsten Schritt zum Volume hinzufügen können.
  • Wenn Sie also 150 GB Speicherplatz hätten, würden Sie dies tun sudo lvextend -L+150G /dev/media/volume.
  • Führen sudo e2fsck -f /dev/media/volumeSie nun den Befehl aus, um das Dateisystem zu überprüfen.
  • Führen Sie nun aus, um sudo resize2fs /dev/media/volumedie Größe aller Elemente zu ändern.
  • Sie können die Statistiken erneut ausführen und überprüfen, ob die Free PE / Sizeerwarteten Werte erreicht wurden.
  • Stellen Sie die Lautstärke auf diese Weise wieder her sudo mount /dev/media/volume /mnt/media
  • Spülen und wiederholen Sie dies für alle anderen Laufwerke.
    Als hilfreich empfand ich auch, dass ich Dateien hatte, die ich zum Kopieren von Datenträgern auf den LVM benötigte, den ich vor dem Hinzufügen des Datenträgers erstellt hatte. Also habe ich verwendet cp -r -v, um Dateien rekursiv zu kopieren und die ausführliche Ausgabe zu verwenden, damit ich weiß, was es tat. Ein Beispiel für den vollständigen Befehl wäre:

cp -r -v / mnt / temp / Filme / mnt / freigegeben / Medien

Wo /mnt/temp/Moviesist der Ordner, aus dem Sie kopieren möchten?

Jacob Schoen
quelle
Kurze Frage ... wenn der LVM einmal erstellt ist, sagen wir mit zwei Laufwerken, führen Sie einfach dieselben Schritte aus und fügen später weitere Laufwerke hinzu?
@Craig Das ist richtig.
Jacob Schoen
2
Bei der Ausgabe von pvcreate / dev / sda1 wurde Folgendes angezeigt : Gerät / dev / sda1 wurde nicht gefunden (oder durch Filtern ignoriert). ... laut Launchpad-Fehler # 136830 ... musste der Filter in lvm.con ["a | / dev / hd [ab] |", "r /.*/"] tatsächlich lauten: [" a | / dev / [hs [d [ab] | "," r /.*/ "] Ansonsten vielen Dank - gute Vorgehensweise . C.
Ich hatte die gleiche Frage, danke, dass du Jacob gefragt hast! Ich habe mich allerdings gefragt: Wie funktioniert das, wenn du Ubuntu neu installierst? Momentan habe ich nach einem Neustart nur die Festplatten wieder eingelegt und alle meine Daten sind noch da. Wie funktioniert das in dieser Situation? (Meine Ubuntu-Festplatte ist eine separate Festplatte, aber da die gesamte lvm-Konfiguration auf der Ubuntu-Festplatte gespeichert zu sein scheint ..)
Maarten Kieft
2
Zum Hinzufügen eines Laufwerks können Sie auch einfach sudo lvextend -l +100%FREE /dev/media/volumeden gesamten freien Speicherplatz ausfüllen.
Jcady
6

Persönlich würde ich sicherstellen, dass alle Laufwerke (ungefähr) die gleiche Größe haben und stattdessen ein RAID 5 "Array" daraus erstellen. Der Nachteil von RAID 5 ist, dass Sie die Größe einer Festplatte im gesamten verfügbaren Speicherplatz verlieren. Der Vorteil von RAID 5 besteht darin, dass Sie nichts verlieren, wenn eine Ihrer Festplatten ausfällt, und die defekte Festplatte einfach austauschen können.

Wenn es Ihnen nicht wichtig genug ist, Daten zu verlieren, um eine zusätzliche Festplatte dafür auszugeben, oder wenn Sie vorhaben, eine Reihe von Festplatten unterschiedlicher Größe zu verwenden, ist es wahrscheinlich am besten, LVM zu verwenden, wie Murat sagt.

JanC
quelle
Danke für den Tipp. Ich habe tatsächlich ein paar Laufwerke herumliegen, die alle verschiedene Größen haben. Das war also im Grunde nur, um eine Verwendung für sie zu finden. Es wäre zwar zum Kotzen, wenn ich ein paar Sachen auf ihnen verlieren würde, aber es ist nichts Wichtiges, das ich nicht mit minimalem Aufwand ersetzen könnte, und die Sachen, die für mich wichtig sind, sind bereits gesichert. Aber +1 für einen Tipp, der für andere nützlich sein kann.
Jacob Schoen
mdadmftw. Es ist ein Software-RAID-Controller, der nette Dinge wie Level 5 und 6 unterstützt. "RAID ist kein Backup", aber es ist sicherlich viel einfacher, nach dem Ausfall eines Laufwerks wiederherzustellen. Werfen Sie einfach ein anderes ein, und warten Sie eine lange Zeit während es resynchronisiert und du bist auf und davon. Sie können mit Live-Datenträgern erneut synchronisieren, dies ist jedoch exponentiell langsamer.
Oli