Wie werden logische und physische Volumes von Ubuntu LVM verkleinert?

26

Ich habe Ubuntu 12.10 als einziges Betriebssystem auf meinem System installiert.

Ich habe Ubuntu angewiesen, alles zu überschreiben, da ich es eilig hatte. Daher habe ich nur die beiden Partitionen, die Ubuntu erstellt, die Boot-Partition von ein paar hundert MB und dann alles andere.

Die Hauptpartition ist ca. 600GB,

Ich möchte diese Größe auf 450 GB ändern, damit ich Windows 8 als Dual-Boot installieren kann.

Das Problem ist, dass ich nicht herausfinden kann, wie die Partition verkleinert werden soll. Normalerweise ist dies in der Gparted (gparted-live-0.14.1-6-i486.iso) -Live-ISO in Ordnung.

Diesmal wurde Ubuntu mit LVM installiert.

Die Ubuntu-Partition hat also ein Schlosssymbol daneben. Dies hindert mich daran, irgendetwas zu tun, ich kann die Partition auswählen und es gibt eine Option für "Deaktivieren". Wenn ich richtig bin, glaube ich, wird Swap deaktiviert? Wenn ich das tue, kann ich die Partition manipulieren.

Ich frage hier, ob dies das Richtige ist, bevor ich mein System kaputt mache.

  1. Booten Sie von der live gparted iso.
  2. Wählen Sie die Ubuntu-Partition.
  3. "Deaktivieren" Sie die Partition.
  4. Ändern Sie die Größe der Partition.
  5. Aktivieren Sie die Partition.
  6. Sich bewerben.
  7. Profitieren???

Ist mein Denken richtig?

Bearbeiten Sie # 1

Nach einigem längeren Chatten bin ich zu diesem Befehl gekommen

sudo lvresize --verbose --resizefs -L -150G /dev/ubuntu/root

Welche erfolgreich die logische Partition verkleinert.

Gparted neuer Schuss

Aber jetzt habe ich den schwierigen Teil.

Jetzt muss ich die physische Partition verkleinern, damit ich eine neue physische Partition mit dem Speicherplatz für die Installation von Windows 8 erstellen kann.

Also dachte ich, ich könnte rennen

pvresize --setphysicalvolumesize {any size here} /dev/sda5

Aber ich komme zurück:

/ dev / sda5: Größe kann nicht auf xxxxx geändert werden, da spätere zugewiesen werden.

Was meiner Meinung nach auf den Tausch aufgrund dieses Bildes zurückzuführen ist:

Darn Swap!Also, was ist mein nächster Schritt?

$: lvdisplay
  --- Logical volume ---
  LV Path                /dev/ubuntu/root
  LV Name                root
  VG Name                ubuntu
  LV UUID                G7Z3dA-xska-8QpO-Y5oD-aIVO-D8l1-22s6dO
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-01-29 22:06:02 +1300
  LV Status              available
  # open                 1
  LV Size                540.42 GiB
  Current LE             138348
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/ubuntu/swap_1
  LV Name                swap_1
  VG Name                ubuntu
  LV UUID                14qpRy-H5jl-dTAq-CVle-k7Bz-95Rm-Y46zOs
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-01-29 22:06:04 +1300
  LV Status              available
  # open                 2
  LV Size                7.97 GiB
  Current LE             2041
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

Zusätzliche Informationen vor der Bearbeitung # 1

Gparted Screenshot
Beachten Sie, dass die obige Aufnahme aus der Gparted-Version in den Ubuntu-Repositories stammt, nicht aus der neuesten Version

matthew @ play: ~ $ sudo fdisk -l

Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c5bec

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      499711      248832   83  Linux
/dev/sda2          501758  1465147391   732322817    5  Extended
/dev/sda5          501760  1465147391   732322816   8e  Linux LVM

Disk /dev/mapper/ubuntu-root: 741.3 GB, 741334843392 bytes
255 heads, 63 sectors/track, 90128 cylinders, total 1447919616 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/ubuntu-root doesn't contain a valid partition table

Disk /dev/mapper/ubuntu-swap_1: 8560 MB, 8560574464 bytes
255 heads, 63 sectors/track, 1040 cylinders, total 16719872 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/ubuntu-swap_1 doesn't contain a valid partition table

matthew @ play: ~ $ sudo lvs

  LV     VG     Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert
  root   ubuntu -wi-ao-- 690.42g                                           
  swap_1 ubuntu -wi-ao--   7.97g  

matthew @ play: ~ $ sudo vgs

  VG     #PV #LV #SN Attr   VSize   VFree
  ubuntu   1   2   0 wz--n- 698.39g    0 

matthew @ play: ~ $ sudo pvs

  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda5  ubuntu lvm2 a--  698.39g    0 
Hagel
quelle
Stellen Sie sicher, dass Sie eine aktuelle GParted-Version verwenden ( die LVM-Unterstützung wurde erst kürzlich bereitgestellt - Sie sind es also nur ein Hinweis für andere Leser). Und das Deaktivieren ist, glaube ich, das Deaktivieren der Lautstärkegruppe ( vgchange -an myvgname), die möglicherweise benötigt wird, wenn Sie die physische Lautstärke ändern möchten. :) Oh, es ist fast eine Antwort.
Gertvdijk
Weitere Details zur Verfügung gestellt.
Hailwood
@gertvdijk Pingen Sie mich im Chat an, wenn Sie schnelle Informationen benötigen.
Hailwood
Wurde das gelöst? Ich suche nach einer Reduzierung der physischen Partition, um eine andere Version des Betriebssystems nebeneinander zu installieren.
Jamess

Antworten:

17

Dies sind alle erforderlichen Schritte, um die Größe einer LVM- oder LVM2-Partition zu ändern.

sudo lvresize --verbose --resizefs -L -150G /dev/ubuntu/root

sudo pvresize --setphysicalvolumesize {any size here} /dev/sda5

/dev/sda5: cannot resize to xxxxx extents as later ones are allocated.

Sie müssen den nicht zugewiesenen Speicherplatz am Ende des LVM neu anordnen. Das heißt nach root und Swap_1 Partition. Sie müssen diesen freien Speicherplatz also mit dem folgenden Befehl verschieben

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx nnn 0 free                          
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy zzz swap 0 linear /dev/sda5:yyy-zzz

Verwenden Sie nun den folgenden Befehl, um externe Fragmentierung zu entfernen -

sudo pvmove --alloc anywhere /dev/sda5:yyy-zzz

Nun wollen wir sehen, wie es geht -

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx nnn swap 0 linear /dev/sda5:xxx-yyy(-1)
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy zzz 0 free

Verwenden Sie danach gparted und ändern Sie die Größe des LVM auf den maximal genutzten Bereich. Der Rest befindet sich im nicht zugewiesenen Bereich. Genießen...

UJJAL
quelle
7

Ich würde, jetzt, da Sie die kleinere Root-LV haben, lvremovedie Swap-LV und erstellen Sie es neu. Dies sollte erzwingen, dass es in Bezug auf die Position direkt an das Root-LV angehängt wird. Sobald dies erledigt ist, sollten Sie in der Lage sein, pvresizedie physische Lautstärke einzustellen. Dann ist es der beängstigende Teil beim Bearbeiten der Partitionstabelle ( fdisk), die Partition auf die neue Größe der PV zu verkleinern, wodurch Speicherplatz für den Windows-Installer frei wird.

Für die Verkleinerung der Partition würde ich empfehlen, etwas größer zu werden, um ein paar MB, als die PV angibt, und die PV und die Root-LV zu vergrößern, um die freien Bereiche auszufüllen. Auf diese Weise können Sie sicher sein, dass Sie A) die gesamte Größe der Partition für LVM verwenden und nicht Speicherplatz verlieren, indem Sie sie unzugänglich machen, und B) wichtige Daten von der PV nicht abschneiden, indem Sie das Binärformat KiB / MiB / GiB für Dezimal-KB falsch interpretieren / MB / GB oder umgekehrt während des fdisk-Vorgangs.

Der neue Swap hat, wenn Sie einen neuen Swap erstellen, um sicherzustellen, dass er an die Root-LV angehängt wird, wie oben vorgeschlagen, eine andere UUID, und daher stimmt Ihre / etc / fstab nicht überein. Sobald die Größenänderung abgeschlossen ist, müssen Sie mount /dev/ubuntu/root /mnt/ mnt ** / etc / fstab ** bearbeiten.

In der fstab-Datei müssen Sie den Swap-Eintrag wie unten finden und die Hexadezimalzahl nach UUID = mit dem von gemeldeten Wert aktualisieren blkid.

Schritte für blkidauf meinem System sind wie folgt:

  1. Lauf

    blkid /dev/ubuntu/swap_1
    

    welche Ausgänge

    /dev/ubuntu/swap_1: UUID="9e99b37a-38af-4987-85eb-92048abd9825" TYPE="swap"
    
  2. Kopieren Sie den UUID-Wert

    9e99b37a-38af-4987-85eb-92048abd9825

  3. Bearbeiten Sie / etc / fstab in Ihrem Root-LV und fügen Sie den UUID-Wert anstelle der alten UUID ein.

    finden

    UUID=**old-uuid** none swap sw 0 0
    

    Ersetzen Sie Ihre neue UUID anstelle der alten

    UUID=9e99b37a-38af-4987-85eb-92048abd9825 none swap sw 0 0
    

    Alternativ können Sie den UUID-Mechanismus ersetzen und /dev/ubuntu/swap_1z

    /dev/ubuntu/swap_1 none swap sw 0 0
    
Daniel Llewellyn
quelle
Dieses Verfahren sowie die fraglichen Bearbeitungen halfen mir, die Partition in der Größe zu ändern. Ich konnte den Befehl lvdelete (12.04) nicht finden und entferne die Swap-Partition mit lvremove. Die pvresize wirkte wie ein Zauber. Dann habe ich eine gparted Live-CD verwendet, um die Partition auf eine kleinere Größe zu verkleinern. Der Vorgang wurde abgeschlossen und die nicht zugewiesene Größe wurde erstellt. Ich würde vorschlagen, dass der Fragesteller eine vollständige Antwort erstellt.
Jamess
Ich habe übrigens nicht die UUID verwendet (habe ich sie geändert, ich erinnere mich nicht), möglicherweise hat das System die UUID nie für den Austausch verwendet. So konnte ich UUID-Bearbeitungsschritte überspringen.
Jamess
So erstellen Sie einen Swap neu lv 1. lvcreate -L 5G -n / dev / vg0 / swap_1 2. mkswap / dev / vg0 / swap_1, swapon -s / dev / vg0 / swap_1, validieren Sie dann die Einträge / etc / fstab und if benötigte Änderung der UUID.
Jamess
Vielen Dank für die Erwähnung lvdelete, in meiner Antwort falsch zu sein. Ich habe jetzt den Text korrigiert, um den richtigen lvremoveNamen zu nennen.
Daniel Llewellyn
6

Verwenden Sie KVPM aus dem Software Center. Ich habe Ubuntu 14.10 LTS mit einer riesigen LVM auf der gesamten Festplatte installiert (ich weiß, wozu eine riesige LVM gut ist), wollte aber zwei weitere LVMs für ein anderes Betriebssystem und ein Datenlaufwerk hinzufügen. Ich habe KVPM verwendet, in der Beschreibung steht KDE-Partitionsmanager, aber am 14.04 funktioniert es hervorragend. Hier sind die Schritte.

  1. Laden Sie 14.04LTS herunter und erstellen Sie einen bootfähigen USB-Stick.
  2. Booten Sie von USB mit der Option TRY UBUNTU, damit Sie auf einem USB-Stick arbeiten.
  3. Installieren Sie KVPM vom Software Center.
  4. Führen Sie KVPM von einem Terminal Ihrer Wahl aus.

    sudo kvpm- Wenn Sie nur ausführen kvpm, gibt die Live-CD eine Fehlermeldung aus und hängt.

  5. Sobald kvpm die GUI geöffnet hat, gehen Sie zu der Registerkarte some_drive-vg

  6. Markieren Sie das Volumen, dessen Größe geändert werden soll, und klicken Sie mit der rechten Maustaste, um Optionen anzuzeigen. Wählen Sie Lautstärke reduzieren.
  7. Sie können das LVM beim Eingeben der neuen Größe umbenennen.
  8. Befolgen Sie die Anweisungen, um die Änderung zu bestätigen und zu bestätigen, dass Sie nicht zugewiesenen freien Speicherplatz haben.
  9. Mit dem verfügbaren Speicherplatz können Sie so viele neue LVMs erstellen, wie Sie benötigen. Mein Display zeigte hellgrünen nicht zugewiesenen Speicherplatz an. Klicken Sie einfach mit der rechten Maustaste auf den grünen Speicherplatz. Die einzige Option ist "Neuen logischen Datenträger erstellen".

Ich habe länger gebraucht, um dies zu schreiben, als um den gesamten Prozess auszuführen.

Übrigens funktioniert die / root-Partition, deren Größe ich geändert habe, nach all den Änderungen einwandfrei. Starten Sie einfach auf Ihrer Festplatte in Ihrem gewählten Betriebssystem neu und genießen Sie Ihre neu gefundenen Volumes.

RCF
quelle
0

KVPM ist der Weg, kein Neustart erforderlich.

  1. Klicken Sie mit der rechten Maustaste auf Partition aushängen
  2. Größe reduzieren
  3. Klicken Sie mit der rechten Maustaste auf eine andere Partitionserweiterungsgröße
  4. hängen Sie die ursprüngliche Partition wieder ein

GETAN!

Cparello
quelle