GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Logisches Lvm-Volume auf virtueller Maschine erweitern?

Ich hatte ein ganz spezielles Problem. Ich habe einen LVM, der auf einem einzelnen physischen Volume auf einer virtuellen Maschine ausgeführt wird. Die Größe des logischen Volumes beträgt ca. 150 GB und ich möchte es auf ca. 250 GB erweitern.

Ich konnte das physische Volume von meinem Virtual Machine Manager aus erweitern, aber die Änderung der physischen Größe wird nicht auf meinem logischen LVM-Volume widergespiegelt.

Ich habe keine Antworten direkt gefunden und durch einige Experimente eine Lösung gefunden. Ich dachte, ich werde es in meiner Antwort unten teilen.

Akzeptierte Antwort:

Ein Beispiel für ein LVM-Diagramm:

Die Idee von LVM ist, dass es das logische Volume vom physischen Volume abstrahiert, sodass mehrere physische Volumes für den Benutzer als ein einziges kontinuierliches logisches Volume erscheinen.

Das Root-Dateisystem befindet sich in /dev/file-server-vg/root und der Swap befindet sich in /dev/file-server-vg/swap . Die Idee ist, dass wir tatsächlich mehrere echte Festplatten in der PV-Schicht haben können, und sie können alle zu einer Volume Group hinzugefügt werden, wodurch sie alle als ein einziges kontinuierliches Dateisystem für das System unter /dev/file-server-vg/root .

Bei diesem Problem habe ich /dev/file-server-vg/root verwendet als Dateiserver und der Speicherplatz wird knapp. Glücklicherweise befindet sich dieses System auf einer virtuellen Maschine, und ich konnte das physische Volume /dev/sda erweitern mit dem Virtual Machine Manager. Die Größenzunahme wird jedoch nicht automatisch an /dev/file-server-vg/root weitergegeben Dateisystem. Wir müssen ein paar einfache Befehle ausführen, damit dies funktioniert.

Bevor wir beginnen, verwenden Sie pvdisplay um zu sehen, welche physischen Volumes vorhanden sind. Dadurch werden alle physischen Volumes und die Volume-Gruppe aufgelistet, zu der sie gehören. In diesem Fall haben wir nur ein physisches Volume, nämlich /dev/sda3 .

  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               file-server-vg
  PV Size               155.26 GiB / not usable 0   
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              65346
  Free PE               0
  Allocated PE          65346
  PV UUID               0EXhc4-EoHZ-b79R-ncSe-SWXI-ztPe-Fsc7zk

Die aktuelle Partitionstabelle kann mit sudo parted aufgelistet werden und dann print .

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  538MB  537MB  fat32              boot
 2      538MB   794MB  256MB  ext2
 3      794MB   167GB  166GB                     lvm

In diesem Beispiel möchten wir die Kapazität von 155,56 GiB auf 255,56 GiB erweitern. Mit dem Virtual Machine Manager können wir normalerweise den Speicherplatz erweitern, und in diesem Fall werden wir ihn um 100 GiB erweitern.

Nach erfolgreicher Erweiterung wird die resultierende Partitionstabelle (verwenden Sie print free ) sieht wie folgt aus. Bitte beachten Sie, dass der „Freie Speicherplatz“ 108 GB (~100 GiB) anzeigt.

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  538MB  537MB  fat32              boot
 2      538MB   794MB  256MB  ext2
 3      794MB   275GB  166GB                     lvm
      167GB   275GB  108GB  Free Space

Es gibt zwei Möglichkeiten, das logische Volume zu erweitern:
Erstellen Sie eine neue Partition und fügen Sie diese der Volume Group hinzu, oder
Erhöhen Sie dieselbe Partition.

Meiner Meinung nach ist die zweite Methode nach Möglichkeit sauberer. Natürlich wenn /dev/sda3 eine physische Festplatte ist und Sie eine weitere Festplatte gekauft haben, um den Speicherplatz zu erweitern, dann ist es logisch, die erste Methode zu verwenden.

Geben Sie in parted resize 3 794MB 275GB ein wird die Größe von Partition 3 ändern, um den gesamten freien Speicherplatz einzunehmen, naja fast:

Number  Start   End     Size    File system  Name  Flags
        17.4kB  1049kB  1031kB  Free Space
 1      1049kB  538MB   537MB   fat32              boot
 2      538MB   794MB   256MB   ext2
 3      794MB   275GB   274GB                      lvm
        275GB   275GB   1032kB  Free Space

Das ist gut genug, nur 1 MB wird nicht verwendet.

Siehe auch:Wie ändere ich das eigene Home-Verzeichnis?

Als nächstes werden wir die Maschine neu starten. Dies wird benötigt, um die Partitionstabelle zu aktualisieren.

Was Sie jetzt sehen werden, ist, dass das physische Volume mit pvdisplay an Größe zugenommen hat

--- Physical volume ---
  PV Name               /dev/sda3
  VG Name               file-server-vg
  PV Size               255.26 GiB / not usable 0   
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              65346
  Free PE               0
  Allocated PE          65346
  PV UUID               0EXhc4-EoHZ-b79R-ncSe-SWXI-ztPe-Fsc7zk

Diese Größenzunahme wird automatisch mit vgdisplay an die Volumengruppe weitergegeben du bekommst folgendes. Bitte vgextend beachten tut nicht wirklich das, was Sie vielleicht denken. Es belegt nicht den freien Speicherplatz, sondern wird zum Hinzufügen neuer physischer Volumes zu einer bestimmten Volume-Gruppe verwendet.

--- Volume group ---
  VG Name               file-server-vg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               255.26 GiB
  PE Size               4.00 MiB
  Total PE              65346
  Alloc PE / Size       65346 / 255.26 GiB
  Free  PE / Size       0 / 0   
  VG UUID               NwwIgT-W0SH-aeTe-d078-hcxx-XZ6W-QfnSA0

Das logische Volume wird nicht automatisch größer. Dies ist tatsächlich sinnvoll, da der Computer keine Ahnung hat, welches logische Volume Sie vergrößern möchten, oder Sie vielleicht ein neues logisches Volume mit dem zusätzlichen Speicherplatz in der Volume-Gruppe erstellen möchten. Also mit lvdisplay Sie werden die folgende Tabelle sehen, die /dev/file-server-vg/root zeigt hat nur 153,26 GiB, aber keine Sorge, wir sind sehr nah dran.

--- Logical volume ---
  LV Path                /dev/file-server-vg/root
  LV Name                root
  VG Name                file-server-vg
  LV UUID                l6qvYZ-AmYw-tdgi-2jUu-XNB2-gecQ-6fDPt8
  LV Write Access        read/write
  LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
  LV Status              available
  # open                 1
  LV Size                153.26 GiB
  Current LE             64834
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/file-server-vg/swap_1
  LV Name                swap_1
  VG Name                file-server-vg
  LV UUID                OohMkN-rGLa-fM4M-6he2-MbM9-BBc3-Ck2Hs5
  LV Write Access        read/write
  LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

Der Weg zum Erhöhen des logischen Volumens ist die Verwendung von lvextend -L +100GB /dev/file-server-vg/root

Erweitern Sie danach das Dateisystem mit resize2fs /dev/file-server-vg/root

Und du bist fertig. Sie können lvdisplay ausführen um zu überprüfen, ob die Datei /dev/file-server-vg/root Volumen wurde auf 253,26 GiB erweitert

  --- Logical volume ---
  LV Path                /dev/file-server-vg/root
  LV Name                root
  VG Name                file-server-vg
  LV UUID                l6qvYZ-AmYw-tdgi-2jUu-XNB2-gecQ-6fDPt8
  LV Write Access        read/write
  LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
  LV Status              available
  # open                 1
  LV Size                253.26 GiB
  Current LE             64834
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/file-server-vg/swap_1
  LV Name                swap_1
  VG Name                file-server-vg
  LV UUID                OohMkN-rGLa-fM4M-6he2-MbM9-BBc3-Ck2Hs5
  LV Write Access        read/write
  LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

Ubuntu
  1. So konfigurieren Sie LVM unter Linux / CentOS / Redhat

  2. So überprüfen Sie, ob ein Linux-System eine physische oder virtuelle Maschine ist

  3. CentOS / RHEL :So finden Sie logische Volumes (LVs), die in Physical Volumes (PVs) in LVM enthalten sind

  4. So reduzieren Sie ein LVM-Volume unter Ubuntu

  5. Verwenden von LVM-Snapshots für KVM-Klone virtueller Maschinen

Verwenden von LVM zum Verwalten von physischen Datenträgern, Datenträgergruppen und logischen Datenträgern – RHCSA Objective Preparation

Erstellen einer Sicherung von Daten, die in einer virtuellen Linux-Maschine gespeichert sind

Sicherung und Wiederherstellung von LVM-Snapshots unter Linux

Verwaltung logischer Volumes unter Linux erklärt

Wie erstelle ich eine LVM-Partition/ein physisches Volume> 2 TB?

Anfängerleitfaden für LVM (Logical Volume Management)