Ist es möglich, eine Linux-Box nachträglich in LVM umzuwandeln?

17

Mein Linux-Server verwendet LVM, weil ich den Computer vor einem Jahr ausgetauscht und von Grund auf neu installiert habe. LVM war ein Lebensretter und ich liebe seine Flexibilität. Mein Linux-Laptop wurde jedoch zuletzt vor drei Jahren vollständig installiert und verwendet daher gerade Partitionen.

Ist es ohne Neuinstallation möglich, ein bestehendes System auf LVM umzustellen? Wenn ja, welche Tools können diese Aufgabe übernehmen?

Ich gehe davon aus, dass alle Dateisysteme, die auf einem Dual-Boot-System für Windows freigegeben werden sollen, nicht LVM sein können. Wenn ich falsch liege, lassen Sie es mich bitte wissen, aber ich wäre überrascht.

Eddie
quelle

Antworten:

11

Ja, das ist möglich.

Ja, Sie können es für ein Dual-Boot-Windows-System verwenden, vorausgesetzt, Sie machen Windows zur ersten Partition und es ist eine primäre Partition (keine Erweiterung innerhalb einer logischen). Meine Anweisungen hier decken diese Situation nicht ab, weshalb Sie über einige Erfahrung im Umgang mit Dual-Booting verfügen müssen. Wenn Sie ein Dual-Boot-Windows / Linux-Setup bevorzugen, befolgen Sie keine Hinweise unter diesem Punkt.


Ich gehe noch einen Schritt weiter: Mit wenigen Ausnahmen sollten Sie in der Lage sein, Ihren gesamten Laptop live zu migrieren , vorausgesetzt, Sie verwenden ein externes Laufwerk mit ausreichender Kapazität.

Warnung! Dieses Verfahren ist EXTREM GEFÄHRLICH! Es wird davon ausgegangen, dass Sie den Partitionsprozess genau kennen , über eine separate / boot-Partition verfügen und wissen, dass ein verpatzter Versuch zu einer hirngeschädigten Installation führen kann, die NICHT STARTET! DU WURDEST GEWARNT!

Du brauchst:

  • / boot befindet sich auf einer separaten Partition. Wenn Sie ein kombiniertes Root-Dateisystem haben (alles ist in / gepackt), funktioniert dies nicht.
  • Die Fähigkeit, von einer USB-Festplatte zu booten.
  • ein externes Laufwerk, das groß genug ist, um alle Daten und Programme auf Ihrem vorhandenen System zu speichern. Stellen Sie sicher, dass Sie ein "du /" ausführen und auf das Endergebnis warten, um ein echtes Gefühl für die Art von Platz zu bekommen, den Sie benötigen.

Allgemeine Vorgehensweise (Verzeihen Sie mir das Fehlen einiger Befehle, ich schreibe das sehr schnell):

  1. Schließen Sie das externe Laufwerk an und suchen Sie den Gerätenamen. Stellen wir uns vor, Sie sehen es als / dev / sdb.
  2. Erstellen Sie zwei Partitionen auf Ihrem externen Laufwerk. In unserem Beispiel wird dies als / dev / sdb1 und / dev / sdb2 angezeigt.

    getrennt / dev / sdb

  3. Formatieren Sie die erste Partition als ext2 oder ext3 und geben Sie "boot" ein. Formatieren Sie die zweite Partition auf dem externen Laufwerk als "Linux LVM".

  4. Lassen Sie das neu geprägte LVM-Volume vom System mithilfe von erkennen

    pvscan; vgscan

  5. Schneiden Sie einen ausreichend großen Teil des externen LVM-Volumes ab, um die gesamte Festplatte des Laptops aufzunehmen. Im Zweifelsfall nutzen Sie einfach den gesamten verfügbaren Platz.

  6. Formatieren Sie Ihr LVM-basiertes Volume als ext3 oder als beliebiges Dateisystem, das Sie anspricht.

    mke3fs / dev / ExternalUSBVolume / ExternalRoot

  7. Erstellen Sie für jeden nicht-speziellen Dateisystem-Mount ein Verzeichnis auf Ihrer externen Festplatte und kopieren Sie (mit Attributen) alle Ihre Dateien in jedem Mount auf diese Festplatte. Ignoriere Kopien von Mountpunkten wie / proc usw., da diese "speziell" sind.

  8. Erstellen Sie die speziellen Mountpunkte von Hand, damit sie auf Ihrem externen Laufwerk vorhanden sind. Füllen Sie sie nicht aus, sondern stellen Sie sicher, dass die Namen und Berechtigungen übereinstimmen.
  9. Verwenden Sie (sehr vorsichtig) Ihren Bootloader, um ein Boot-Image auf Ihrem externen Laufwerk in der / boot-Partition zu installieren. Dieser Vorgang ist etwas komplex, daher überlasse ich es Ihnen, die Informationen an anderer Stelle zu suchen. Es ist auch gefährlich, wenn Sie es verpfuschen - Sie könnten am Ende versuchen, Ihren Bootloader auf Ihrem Laptop-Laufwerk zu überschreiben. Achtung.
  10. Starten Sie Ihren Laptop neu. Stellen Sie sicher, dass Sie das externe Laufwerk als Ihr Startlaufwerk angeben, wenn es den POST durchläuft. Zu diesem Zeitpunkt sollten Sie eine (mehr oder weniger) Replik des Laufwerks Ihres Laptops haben. (Zu den anderen Administratoren da draußen: Ja, ich weiß, die Protokolldateien und andere sind nicht zu 100% kopiert, aber das ist hier nicht der Schwerpunkt ... es geht darum, die Daten und Tools zu verschieben ...)
  11. Sobald Sie vom externen Laufwerk booten können, können Sie damit Ihr Laptop-Laufwerk löschen. Zu diesem Zeitpunkt "leben" Sie von Ihrem externen Laufwerk. Behalte dies im Kopf.
  12. Verwenden Sie dann einen Partitionseditor - gparted oder was auch immer -, um die ursprünglichen Laptop-Partitionen zu löschen (Bye-bye-Daten ...), und markieren Sie dann Ihren neu geprägten Bereich als "LVM". Führen Sie den Prozess durch, bei dem Ihr LVM-Volume erkannt, partitioniert, formatiert usw. wird.
  13. Spiegeln Sie mithilfe des LVM-Spiegelungsprozesses Ihr Live-System (das sich derzeit auf dem externen Laufwerk befindet) zurück auf das Laptop-Laufwerk. Machen Sie dafür eine Mittagspause (oder zwei), da dies einige Zeit in Anspruch nehmen wird.
  14. Stellen Sie das Live-Dateisystem erneut bereit, und verschieben Sie das Dateisystem / vom externen Laufwerk auf das LVM-Volume Ihres Laptops.
  15. Führen Sie den Bootloader-Installationsvorgang erneut aus. Dies ist kritisch, da die aktuelle Ramdisk nicht die richtigen Einstellungen hat und nicht weiß, dass Sie Dinge verschoben haben. Geschieht dies nicht, führt dies zu einem nicht mehr startfähigen System und einem Besuch einer Rettungsdiskette. Wenn alles andere fehlschlägt, können Sie erneut von Ihrem externen Laufwerk booten (nichts geht verloren ...)
  16. Starten Sie den Laptop ohne angeschlossenes externes Laufwerk neu und geben Sie stattdessen das interne Laufwerk des Laptops an. Es sollte gut booten. Notieren Sie alles, was sich verletzt oder gebrochen anfühlt oder aussieht (es sollte nichts geben), und beheben Sie es.
  17. Lehnen Sie sich zurück und genießen Sie ein Getränk für eine gute Arbeit.
Avery Payne
quelle
3
Es ist natürlich möglich, eine Live-Migration auf den externen Speicher durchzuführen (wenn Sie mutig genug sind, können Sie das laufende System sogar ohne Neustart auf die externe Festplatte und zurück schwenken: D); Der gesamte Vorgang von einer Live-CD aus sollte jedoch weniger fehleranfällig sein (z. B. virtuelle FS aus dem Weg ...)
Luca Tettamanti
2
Übrigens, LILO und die neue Version von GRUB (die Version, die irgendwann 2.0 wird) unterstützen LVs nativ - es ist keine separate / boot-Partition erforderlich.
Luca Tettamanti
Ich kenne. Aber ich dachte "besser sicher als leid". Eine native Partition erleichtert das Reparieren. Möglicherweise muss das OP ein Windows-basiertes Tool verwenden, das LVM nicht versteht (viele nicht). In diesem Fall kann er zumindest menu.lst mit grub usw. nach Bedarf ändern. Aber danke für die Eingabe! :)
Avery Payne
6

Ich habe kürzlich Blöcke geschrieben (geb. lvmify), die diese Konvertierung direkt durchführen. Es wird eine einzelne Partition benötigt, das Dateisystem bei Bedarf verkleinert, der Anfang des Dateisystems an das Ende der Partition verschoben und ein LVM-Superblock (vorkonfiguriert mit der richtigen PV / LV / VG) an seine Stelle kopiert. Wenn Sie mehrere Partitionen haben, wird das Zusammenführen der neu erstellten Volume-Gruppen mit durchgeführt vgmerge. Es kann nicht auf gemounteten Dateisystemen arbeiten.

Gabriel
quelle
2
Ich habe gerade meine 2 ext4-Partitionen (insgesamt 120 GB) mithilfe von Blöcken in ca. 2 Minuten auf LVM migriert. Hat einwandfrei funktioniert.
Amr Mostafa
3

Der einfachste Weg, ein Linux-System auf LVM zu verschieben, besteht darin, eine externe Festplatte (USB, eSATA) und ein CD-ROM-basiertes System wie grml zu verwenden, um alle Daten vom PC auf die externe Festplatte zu verschieben und den PC anschließend mit neu zu partitionieren LVM. Kopieren Sie schließlich alles zurück und konfigurieren Sie grub und installieren Sie es erneut auf dem MBR.

Diese Prozedur ist etwas kompliziert, aber Sie haben immer die Daten auf dem externen Laufwerk und der CD-ROM, um Ihr System zu starten.

Wie erwartet kann Windows nicht auf LVM-Volumes zugreifen.

David Schmitt
quelle
1

Von unten beginnend: Nein, Windows kann keine logischen LVM-Volumes (Partitionen) lesen.

Wenn Sie über eine Ersatzfestplatte verfügen, die als temporärer Speicher verwendet werden kann, müssen Sie lediglich von einer Live-CD booten, die Daten an den temporären Speicherort kopieren, eine oder mehrere LVs erstellen und die Daten zurücksetzen. Es ist unpraktisch (aber möglich), eine direkte Konvertierung in LVM durchzuführen. Sie müssen im Grunde die alte Partition verkleinern und die Größe der LV mehrmals ändern (und die endgültige LV wäre fragmentiert)

Luca Tettamanti
quelle
1

Sie haben eine mehrere Jahre alte Installation auf einem Laptop. Es ist ein Verlust, ihn in LVM umzuwandeln. Sichern Sie Ihre Daten, installieren Sie sie neu und kopieren Sie Ihre Daten zurück. Sie haben ein sauberes System mit neuer Software und Ihren Daten.

Wenn Sie dies nicht tun können, weil Sie nicht wissen, wo sich Ihre Daten befinden, haben Sie ein großes Problem und dies ist Ihre Chance, es zu lösen.

carlito
quelle
1

http://serialized.net/2006/04/migrating-live-filesystems-to-lvm/ hat eine interessante Möglichkeit, eine Live-Datei zu migrieren. Fügen Sie es als Teil einer RAID-1-Gruppe hinzu, die das Betriebssystem dann auf das andere Gerät spiegelt (bei dem es sich möglicherweise um ein logisches LVM-Volume handelt). Es ist ein bisschen veraltet, also weiß ich nicht, ob das noch funktionieren würde.

Brian Minton
quelle
0

Wahrscheinlich müssen Sie die Daten auf einem anderen Laufwerk oder einer anderen Partition (oder ISO?) Sichern, den LVM-Container erstellen und die Daten dann im Container wiederherstellen.

Brent
quelle