
Ich habe einen Ubuntu-Heimmedienserver mit 4,5 TB eingerichtet, der auf mehrere Festplatten (1 x 3 TB, 2 x 1 TB) verteilt ist, und ich verwende LVM2 zur Verwaltung der Volumes. Ich habe meinem Server vor Kurzem eine 60 GB SSD hinzugefügt und möchte sie verwenden, um die Root-Partition meines Servers unterzubringen (die sich derzeit unter der LVM-Gruppe befindet).
Ich möchte es nicht einfach zur LVM-Volumengruppe hinzufügen, da (soweit ich weiß) nicht sichergestellt werden kann, dass die SSD für das Root-Dateisystem verwendet wird. Wenn ich es einfach in die VG werfe, wird es möglicherweise zum Speichern meiner Medien verwendet, was den Zweck der SSD zunichte machen würde.
Ich glaube, meine einzige Lösung besteht darin, meine Root-Partition irgendwie aus dem LVM-Setup zu entfernen und auf die SSD zu kopieren. Meine Boot-Partition ist natürlich nicht Teil der LVM-Gruppe.
Mein Festplatten-Setup ist wie folgt:
60GB SSD: EMPTY.
1TB HDD: /boot, LVM space.
1TB HDD: LVM space.
3TB HHD: LVM space.
Ich habe einige logische Volumes. Mein Root-Volume (/), ein „Medien“-Volume für meine Mediensammlung, ein Backup-Volume für meine Netzwerk-Backups usw.
Hat jemand einen Rat, wie ich das anstellen soll? Mein Endziel ist, die 60 GB SSD für meine Boot- und Root-Partitionen zu verwenden und alles andere auf den 3 TB/1 TB/1 TB Festplatten zu speichern.
Antwort1
Obwohl diese Frage schon ein paar Jahre alt ist, möchte ich Folgendes als Referenz anführen: Sie können LVM tatsächlich zwingen, Extents von einem angegebenen physischen Volume zuzuweisen, wenn Sie ein neues LV erstellen. Die Syntax lautet wie folgt (ausführlichere Informationen finden Sie unter lvcreate(8)
):
lvcreate <options such as name, size, etc.> volumeGroup [physicalVolume]
Sie hätten beispielsweise die SSD zu Ihrer Datenträgergruppe hinzufügen und dann Folgendes tun können:
lvcreate -n rootOnSSD -L 60G yourVolGroup /dev/fastSSD
Und es würde LVM zwingen, diese 60 GB aus den Extents der SSD zuzuweisen.
Es gibt erweiterte Optionen zum Festlegen von PE-Bereichen, aus denen zugewiesen werden soll, sogar innerhalb eines bestimmten physischen Datenträgers, sowie zum Festlegen der LV-Größe als Funktion des freien Speicherplatzes in einem bestimmten PV usw. Siehe die -l
Flagge in lvmcreate(8)
.
Wenn Sie nicht alle Extents in der SSD aufgebraucht hätten, wäre sie ein Kandidat, wenn ein neues LV erstellt werden müsste. Umgekehrt müssten Sie also so etwas tun
lvcreate -n hugeVolumeForMedia -L 1T yourVolGroup /dev/slowMedia [/dev/otherSlowMedia...]
wenn Sie ein neues LV für mehr Massenspeicher erstellen und sicherstellen möchten, dass Ihre SSD dabei nicht verschwendet wird.
Antwort2
Am Ende bin ich Pedros Anweisungen gefolgt.
In solchen Situationen starte ich normalerweise mit SystemRescueCD, erstelle die neuen Partitionen, kopiere den Inhalt der alten mit FSArchiver auf die neuen und installiere schließlich Grub auf der neuen Festplatte. Normalerweise läuft das ziemlich reibungslos.
Er hat als Kommentar geantwortet, daher kann ich es nicht als Antwort markieren.
Antwort3
1.0 cfdisk
zwei Partitionen auf der SSD
1.1 (Optional)Erstellen Sie aus der Nicht-Boot-Partition
1.2 mkfs
auf der Root- und der Boot-Partition ein PV
2.0 Booten Sie Knoppix (oder was auch immer), mounten Sie Ihre Dateisysteme
2.1 rsync -av
/old/boot /new/boot und /old/root /new/root
3.0 grub
- Shell
3.1 starten(Optional)Gerät (hd0) /dev/ssd
3.2 root (hd0,0) - wobei hd0,0 die Bootpartition der SSD
3.3-Installation (hd0) ist
4.0 aktualisieren /boot/grub.conf
5.0-Boot.
6.0 alte logische Volumes löschen
Sollte dies nicht ausreichen, lasst es mich bitte wissen und ich werde noch ein paar Schritte ergänzen bzw. die einzelnen Schritte genauer erläutern.